genosdb 0.18.0 → 0.19.0

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/index.js CHANGED
@@ -1 +1,2 @@
1
- function $8(J){let Q=J.length,W=0,G=0;while(G<Q){let V=J.charCodeAt(G++);if((V&4294967168)===0){W++;continue}else if((V&4294965248)===0)W+=2;else{if(V>=55296&&V<=56319){if(G<Q){let q=J.charCodeAt(G);if((q&64512)===56320)++G,V=((V&1023)<<10)+(q&1023)+65536}}if((V&4294901760)===0)W+=3;else W+=4}}return W}function tJ(J,Q,W){let G=J.length,V=W,q=0;while(q<G){let P=J.charCodeAt(q++);if((P&4294967168)===0){Q[V++]=P;continue}else if((P&4294965248)===0)Q[V++]=P>>6&31|192;else{if(P>=55296&&P<=56319){if(q<G){let X=J.charCodeAt(q);if((X&64512)===56320)++q,P=((P&1023)<<10)+(X&1023)+65536}}if((P&4294901760)===0)Q[V++]=P>>12&15|224,Q[V++]=P>>6&63|128;else Q[V++]=P>>18&7|240,Q[V++]=P>>12&63|128,Q[V++]=P>>6&63|128}Q[V++]=P&63|128}}var eJ=new TextEncoder,J5=50;function W5(J,Q,W){eJ.encodeInto(J,Q.subarray(W))}function k8(J,Q,W){if(J.length>J5)W5(J,Q,W);else tJ(J,Q,W)}var Q5=4096;function S0(J,Q,W){let G=Q,V=G+W,q=[],P="";while(G<V){let X=J[G++];if((X&128)===0)q.push(X);else if((X&224)===192){let Z=J[G++]&63;q.push((X&31)<<6|Z)}else if((X&240)===224){let Z=J[G++]&63,Y=J[G++]&63;q.push((X&31)<<12|Z<<6|Y)}else if((X&248)===240){let Z=J[G++]&63,Y=J[G++]&63,U=J[G++]&63,k=(X&7)<<18|Z<<12|Y<<6|U;if(k>65535)k-=65536,q.push(k>>>10&1023|55296),k=56320|k&1023;q.push(k)}else q.push(X);if(q.length>=Q5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var G5=new TextDecoder,V5=200;function q5(J,Q,W){let G=J.subarray(Q,Q+W);return G5.decode(G)}function B8(J,Q,W){if(W>V5)return q5(J,Q,W);else return S0(J,Q,W)}class w6{constructor(J,Q){this.type=J,this.data=Q}}class l extends Error{constructor(J){super(J);let Q=Object.create(l.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:l.name})}}var N6=4294967295;function j8(J,Q,W){let G=W/4294967296,V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function K0(J,Q,W){let G=Math.floor(W/4294967296),V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function F0(J,Q){let W=J.getInt32(Q),G=J.getUint32(Q+4);return W*4294967296+G}function M8(J,Q){let W=J.getUint32(Q),G=J.getUint32(Q+4);return W*4294967296+G}var X5=-1,Y5=4294967295,P5=17179869183;function U5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=P5)if(Q===0&&J<=Y5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,G=J&4294967295,V=new Uint8Array(8),q=new DataView(V.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,G),V}else{let W=new Uint8Array(12),G=new DataView(W.buffer);return G.setUint32(0,Q),K0(G,4,J),W}}function K5(J){let Q=J.getTime(),W=Math.floor(Q/1000),G=(Q-W*1000)*1e6,V=Math.floor(G/1e9);return{sec:W+V,nsec:G-V*1e9}}function F5(J){if(J instanceof Date){let Q=K5(J);return U5(Q)}else return null}function Z5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),G=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),G=Q.getUint32(4),V=(W&3)*4294967296+G,q=W>>>2;return{sec:V,nsec:q}}case 12:{let W=F0(Q,4),G=Q.getUint32(0);return{sec:W,nsec:G}}default:throw new l(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function z5(J){let Q=Z5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var C8={type:X5,encode:F5,decode:z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(C8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let G=-1-J;this.builtInEncoders[G]=Q,this.builtInDecoders[G]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let G=this.builtInEncoders[W];if(G!=null){let V=G(J,Q);if(V!=null){let q=-1-W;return new w6(q,V)}}}for(let W=0;W<this.encoders.length;W++){let G=this.encoders[W];if(G!=null){let V=G(J,Q);if(V!=null)return new w6(W,V)}}if(J instanceof w6)return J;return null}decode(J,Q,W){let G=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(G)return G(J,Q,W);else return new w6(Q,J)}}k6.defaultCodec=new k6;function H5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function p6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(H5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var $5=100,k5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??$5,this.initialBufferSize=J?.initialBufferSize??k5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),G=new DataView(Q);W.set(this.bytes),this.view=G,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=$8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),k8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=p6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let G of J)this.doEncode(G,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let G of Q)if(J[G]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let G=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(G<16)this.writeU8(128+G);else if(G<65536)this.writeU8(222),this.writeU16(G);else if(G<4294967296)this.writeU8(223),this.writeU32(G);else throw Error(`Too large map object: ${G}`);for(let V of W){let q=J[V];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(V),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),G=W.length;if(G>=4294967296)throw Error(`Too large extension object: ${G}`);this.writeU8(201),this.writeU32(G),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),j8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u6(J,Q){return new Z0(Q).encodeSharedRef(J)}function z0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var B5=16,j5=16;class T0{constructor(J=B5,Q=j5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let G=this.caches[W-1];J:for(let V of G){let q=V.bytes;for(let P=0;P<W;P++)if(q[P]!==J[Q+P])continue J;return V.str}return null}store(J,Q){let W=this.caches[J.length-1],G={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=G;else W.push(G)}decode(J,Q,W){let G=this.find(J,Q,W);if(G!=null)return this.hit++,G;this.miss++;let V=S0(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,V),V}}var v0="array",_6="map_key",L8="map_value",M5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new l("The type of key must be string or number but "+typeof J)};class I8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=v0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=_6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===v0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===L8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m6=-1,g0=new DataView(new ArrayBuffer(0)),C5=new Uint8Array(g0.buffer);try{g0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var R8=RangeError("Insufficient data"),R5=new T0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=C5,this.headByte=m6,this.stack=new I8,this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??N6,this.maxBinLength=J?.maxBinLength??N6,this.maxArrayLength=J?.maxArrayLength??N6,this.maxMapLength=J?.maxMapLength??N6,this.maxExtLength=J?.maxExtLength??N6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:R5,this.mapKeyConverter=J?.mapKeyConverter??M5}clone(){return new H0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m6,this.stack.reset()}setBuffer(J){let Q=p6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=p6(J),G=new Uint8Array(Q.length+W.length);G.set(Q),G.set(W,Q.length),this.setBuffer(G)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let P of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(P);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:G,pos:V,totalPos:q}=this;throw RangeError(`Insufficient data in parsing ${z0(G)} at ${q} (${V} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,G=-1;for await(let V of J){if(Q&&G===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(V),W)G=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--G===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let G=J-128;if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J<160){let G=J-144;if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else{let G=J-160;Q=this.decodeString(G,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let G=this.lookU8();Q=this.decodeString(G,1)}else if(J===218){let G=this.lookU16();Q=this.decodeString(G,2)}else if(J===219){let G=this.lookU32();Q=this.decodeString(G,4)}else if(J===220){let G=this.readU16();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===221){let G=this.readU32();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===222){let G=this.readU16();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===223){let G=this.readU32();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===196){let G=this.lookU8();Q=this.decodeBinary(G,1)}else if(J===197){let G=this.lookU16();Q=this.decodeBinary(G,2)}else if(J===198){let G=this.lookU32();Q=this.decodeBinary(G,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let G=this.lookU8();Q=this.decodeExtension(G,1)}else if(J===200){let G=this.lookU16();Q=this.decodeExtension(G,2)}else if(J===201){let G=this.lookU32();Q=this.decodeExtension(G,4)}else throw new l(`Unrecognized type byte: ${z0(J)}`);this.complete();let W=this.stack;while(W.length>0){let G=W.top();if(G.type===v0)if(G.array[G.position]=Q,G.position++,G.position===G.size)Q=G.array,W.release(G);else continue J;else if(G.type===_6){if(Q==="__proto__")throw new l("The key __proto__ is not allowed");G.key=this.mapKeyConverter(Q),G.type=L8;continue J}else if(G.map[G.key]=Q,G.readCount++,G.readCount===G.size)Q=G.map,W.release(G);else{G.key=null,G.type=_6;continue J}}return Q}}readHeadByte(){if(this.headByte===m6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new l(`Unrecognized array type byte: ${z0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new l(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new l(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new l(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw R8;let W=this.pos+Q,G;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))G=this.keyDecoder.decode(this.bytes,W,J);else G=B8(this.bytes,W,J);return this.pos+=Q+J,G}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===_6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new l(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw R8;let W=this.pos+Q,G=this.bytes.subarray(W,W+J);return this.pos+=Q+J,G}decodeExtension(J,Q){if(J>this.maxExtLength)throw new l(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),G=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(G,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=M8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function y6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var L5=0,PJ=1,I5=2,O5=3,x5=258,G8=29,G0=256,o6=G0+1+G8,v6=30,V8=19,UJ=2*o6+1,j6=15,E0=16,D5=7,q8=256,KJ=16,FJ=17,ZJ=18,r0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),C0=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),A5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),zJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),w5=512,X6=Array((o6+2)*2);y6(X6);var i6=Array(v6*2);y6(i6);var a6=Array(w5);y6(a6);var s6=Array(x5-O5+1);y6(s6);var X8=Array(G8);y6(X8);var R0=Array(v6);y6(R0);function y0(J,Q,W,G,V){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=G,this.max_length=V,this.has_stree=J&&J.length}var HJ,$J,kJ;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var BJ=(J)=>{return J<256?a6[J]:a6[256+(J>>>7)]},t6=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,t6(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W6=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},jJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)t6(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},S5=(J,Q)=>{let{dyn_tree:W,max_code:G}=Q,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,P=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,Z=Q.stat_desc.max_length,Y,U,k,F,K,z,I=0;for(F=0;F<=j6;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<UJ;Y++){if(U=J.heap[Y],F=W[W[U*2+1]*2+1]+1,F>Z)F=Z,I++;if(W[U*2+1]=F,U>G)continue;if(J.bl_count[F]++,K=0,U>=X)K=P[U-X];if(z=W[U*2],J.opt_len+=z*(F+K),q)J.static_len+=z*(V[U*2+1]+K)}if(I===0)return;do{F=Z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[Z]--,I-=2}while(I>0);for(F=Z;F!==0;F--){U=J.bl_count[F];while(U!==0){if(k=J.heap[--Y],k>G)continue;if(W[k*2+1]!==F)J.opt_len+=(F-W[k*2+1])*W[k*2],W[k*2+1]=F;U--}}},MJ=(J,Q,W)=>{let G=Array(j6+1),V=0,q,P;for(q=1;q<=j6;q++)V=V+W[q-1]<<1,G[q]=V;for(P=0;P<=Q;P++){let X=J[P*2+1];if(X===0)continue;J[P*2]=jJ(G[X]++,X)}},T5=()=>{let J,Q,W,G,V,q=Array(j6+1);W=0;for(G=0;G<G8-1;G++){X8[G]=W;for(J=0;J<1<<r0[G];J++)s6[W++]=G}s6[W-1]=G,V=0;for(G=0;G<16;G++){R0[G]=V;for(J=0;J<1<<C0[G];J++)a6[V++]=G}V>>=7;for(;G<v6;G++){R0[G]=V<<7;for(J=0;J<1<<C0[G]-7;J++)a6[256+V++]=G}for(Q=0;Q<=j6;Q++)q[Q]=0;J=0;while(J<=143)X6[J*2+1]=8,J++,q[8]++;while(J<=255)X6[J*2+1]=9,J++,q[9]++;while(J<=279)X6[J*2+1]=7,J++,q[7]++;while(J<=287)X6[J*2+1]=8,J++,q[8]++;MJ(X6,o6+1,q);for(J=0;J<v6;J++)i6[J*2+1]=5,i6[J*2]=jJ(J,5);HJ=new y0(X6,r0,G0+1,o6,j6),$J=new y0(i6,C0,0,v6,j6),kJ=new y0([],A5,0,V8,D5)},CJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<v6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},RJ=(J)=>{if(J.bi_valid>8)t6(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},O8=(J,Q,W,G)=>{let V=Q*2,q=W*2;return J[V]<J[q]||J[V]===J[q]&&G[Q]<=G[W]},b0=(J,Q,W)=>{let G=J.heap[W],V=W<<1;while(V<=J.heap_len){if(V<J.heap_len&&O8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(O8(Q,G,J.heap[V],J.depth))break;J.heap[W]=J.heap[V],W=V,V<<=1}J.heap[W]=G},x8=(J,Q,W)=>{let G,V,q=0,P,X;if(J.sym_next!==0)do if(G=J.pending_buf[J.sym_buf+q++]&255,G+=(J.pending_buf[J.sym_buf+q++]&255)<<8,V=J.pending_buf[J.sym_buf+q++],G===0)W6(J,V,Q);else{if(P=s6[V],W6(J,P+G0+1,Q),X=r0[P],X!==0)V-=X8[P],n(J,V,X);if(G--,P=BJ(G),W6(J,P,W),X=C0[P],X!==0)G-=R0[P],n(J,G,X)}while(q<J.sym_next);W6(J,q8,Q)},o0=(J,Q)=>{let W=Q.dyn_tree,G=Q.stat_desc.static_tree,V=Q.stat_desc.has_stree,q=Q.stat_desc.elems,P,X,Z=-1,Y;J.heap_len=0,J.heap_max=UJ;for(P=0;P<q;P++)if(W[P*2]!==0)J.heap[++J.heap_len]=Z=P,J.depth[P]=0;else W[P*2+1]=0;while(J.heap_len<2)if(Y=J.heap[++J.heap_len]=Z<2?++Z:0,W[Y*2]=1,J.depth[Y]=0,J.opt_len--,V)J.static_len-=G[Y*2+1];Q.max_code=Z;for(P=J.heap_len>>1;P>=1;P--)b0(J,W,P);Y=q;do P=J.heap[1],J.heap[1]=J.heap[J.heap_len--],b0(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=P,J.heap[--J.heap_max]=X,W[Y*2]=W[P*2]+W[X*2],J.depth[Y]=(J.depth[P]>=J.depth[X]?J.depth[P]:J.depth[X])+1,W[P*2+1]=W[X*2+1]=Y,J.heap[1]=Y++,b0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],S5(J,Q),MJ(W,Z,J.bl_count)},D8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;Q[(W+1)*2+1]=65535;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==V)J.bl_tree[q*2]++;J.bl_tree[KJ*2]++}else if(X<=10)J.bl_tree[FJ*2]++;else J.bl_tree[ZJ*2]++;if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},A8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)do W6(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==V)W6(J,q,J.bl_tree),X--;W6(J,KJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,FJ,J.bl_tree),n(J,X-3,3);else W6(J,ZJ,J.bl_tree),n(J,X-11,7);if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},v5=(J)=>{let Q;D8(J,J.dyn_ltree,J.l_desc.max_code),D8(J,J.dyn_dtree,J.d_desc.max_code),o0(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[zJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},g5=(J,Q,W,G)=>{let V;n(J,Q-257,5),n(J,W-1,5),n(J,G-4,4);for(V=0;V<G;V++)n(J,J.bl_tree[zJ[V]*2+1],3);A8(J,J.dyn_ltree,Q-1),A8(J,J.dyn_dtree,W-1)},E5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<G0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},w8=!1,y5=(J)=>{if(!w8)T5(),w8=!0;J.l_desc=new f0(J.dyn_ltree,HJ),J.d_desc=new f0(J.dyn_dtree,$J),J.bl_desc=new f0(J.bl_tree,kJ),J.bi_buf=0,J.bi_valid=0,CJ(J)},LJ=(J,Q,W,G)=>{if(n(J,(L5<<1)+(G?1:0),3),RJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},f5=(J)=>{n(J,PJ<<1,3),W6(J,q8,X6),N5(J)},b5=(J,Q,W,G)=>{let V,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=E5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=v5(J),V=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=V)V=q}else V=q=W+5;if(W+4<=V&&Q!==-1)LJ(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(PJ<<1)+(G?1:0),3),x8(J,X6,i6);else n(J,(I5<<1)+(G?1:0),3),g5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),x8(J,J.dyn_ltree,J.dyn_dtree);if(CJ(J),G)RJ(J)},h5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s6[W]+G0+1)*2]++,J.dyn_dtree[BJ(Q)*2]++;return J.sym_next===J.sym_end},p5=y5,u5=LJ,m5=b5,_5=h5,c5=f5,d5={_tr_init:p5,_tr_stored_block:u5,_tr_flush_block:m5,_tr_tally:_5,_tr_align:c5},l5=(J,Q,W,G)=>{let V=J&65535|0,q=J>>>16&65535|0,P=0;while(W!==0){P=W>2000?2000:W,W-=P;do V=V+Q[G++]|0,q=q+V|0;while(--P);V%=65521,q%=65521}return V|q<<16|0},e6=l5,i5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var G=0;G<8;G++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},n5=new Uint32Array(i5()),r5=(J,Q,W,G)=>{let V=n5,q=G+W;J^=-1;for(let P=G;P<q;P++)J=J>>>8^V[(J^Q[P])&255];return J^-1},c=r5,R6={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},O6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:o5,_tr_stored_block:a0,_tr_flush_block:a5,_tr_tally:z6,_tr_align:s5}=d5,{Z_NO_FLUSH:H6,Z_PARTIAL_FLUSH:t5,Z_FULL_FLUSH:e5,Z_FINISH:a,Z_BLOCK:N8,Z_OK:d,Z_STREAM_END:S8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:J1,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:W1,Z_FILTERED:Q1,Z_HUFFMAN_ONLY:$0,Z_RLE:G1,Z_FIXED:V1,Z_DEFAULT_STRATEGY:q1,Z_UNKNOWN:X1,Z_DEFLATED:O0}=O6,Y1=9,P1=15,U1=8,K1=29,F1=256,s0=F1+1+K1,Z1=30,z1=19,H1=2*s0+1,$1=15,v=3,Z6=258,G6=Z6+v+1,k1=32,g6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,M6=113,d6=666,i=1,f6=2,L6=3,b6=4,B1=3,C6=(J,Q)=>{return J.msg=R6[Q],Q},T8=(J)=>{return J*2-(J>4?9:0)},F6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},j1=(J)=>{let Q,W,G,V=J.w_size;Q=J.hash_size,G=Q;do W=J.head[--G],J.head[G]=W>=V?W-V:0;while(--Q);Q=V,G=Q;do W=J.prev[--G],J.prev[G]=W>=V?W-V:0;while(--Q)},M1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,$6=M1,r=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{a5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},E=(J,Q)=>{J.pending_buf[J.pending++]=Q},c6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,G)=>{let V=J.avail_in;if(V>G)V=G;if(V===0)return 0;if(J.avail_in-=V,Q.set(J.input.subarray(J.next_in,J.next_in+V),W),J.state.wrap===1)J.adler=e6(J.adler,Q,V,W);else if(J.state.wrap===2)J.adler=c(J.adler,Q,V,W);return J.next_in+=V,J.total_in+=V,V},IJ=(J,Q)=>{let{max_chain_length:W,strstart:G}=J,V,q,P=J.prev_length,X=J.nice_match,Z=J.strstart>J.w_size-G6?J.strstart-(J.w_size-G6):0,Y=J.window,U=J.w_mask,k=J.prev,F=J.strstart+Z6,K=Y[G+P-1],z=Y[G+P];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(V=Q,Y[V+P]!==z||Y[V+P-1]!==K||Y[V]!==Y[G]||Y[++V]!==Y[G+1])continue;G+=2,V++;do;while(Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&G<F);if(q=Z6-(F-G),G=F-Z6,q>P){if(J.match_start=Q,P=q,q>=X)break;K=Y[G+P-1],z=Y[G+P]}}while((Q=k[Q&U])>Z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},E6=(J)=>{let Q=J.w_size,W,G,V;do{if(G=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G6)){if(J.window.set(J.window.subarray(Q,Q+Q-G),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;j1(J),G+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,G),J.lookahead+=W,J.lookahead+J.insert>=v){V=J.strstart-J.insert,J.ins_h=J.window[V],J.ins_h=$6(J,J.ins_h,J.window[V+1]);while(J.insert)if(J.ins_h=$6(J,J.ins_h,J.window[V+v-1]),J.prev[V&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=V,V++,J.insert--,J.lookahead+J.insert<v)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},OJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,G,V,q,P=0,X=J.strm.avail_in;do{if(G=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,V=J.strstart-J.block_start,G>V+J.strm.avail_in)G=V+J.strm.avail_in;if(G>q)G=q;if(G<W&&(G===0&&Q!==a||Q===H6||G!==V+J.strm.avail_in))break;if(P=Q===a&&G===V+J.strm.avail_in?1:0,a0(J,0,0,P),J.pending_buf[J.pending-4]=G,J.pending_buf[J.pending-3]=G>>8,J.pending_buf[J.pending-2]=~G,J.pending_buf[J.pending-1]=~G>>8,r(J.strm),V){if(V>G)V=G;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+V),J.strm.next_out),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V,J.block_start+=V,G-=V}if(G)Q8(J.strm,J.strm.output,J.strm.next_out,G),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G}while(P===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(P)return b6;if(Q!==H6&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f6;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,V=J.strstart-J.block_start,V>=W||(V||Q===a)&&Q!==H6&&J.strm.avail_in===0&&V<=q)G=V>q?q:V,P=Q===a&&J.strm.avail_in===0&&G===V?1:0,a0(J,J.block_start,G,P),J.block_start+=G,r(J.strm);return P?L6:i},p0=(J,Q)=>{let W,G;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G6)J.match_length=IJ(J,W);if(J.match_length>=v)if(G=z6(J,J.strstart-J.match_start,J.match_length-v),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=v){J.match_length--;do J.strstart++,J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=$6(J,J.ins_h,J.window[J.strstart+1]);else G=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(G){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},S6=(J,Q)=>{let W,G,V;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=v-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=IJ(J,W),J.match_length<=5&&(J.strategy===Q1||J.match_length===v&&J.strstart-J.match_start>4096))J.match_length=v-1}if(J.prev_length>=v&&J.match_length<=J.prev_length){V=J.strstart+J.lookahead-v,G=z6(J,J.strstart-1-J.prev_match,J.prev_length-v),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=V)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=v-1,J.strstart++,G){if(o(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(G=z6(J,0,J.window[J.strstart-1]),G)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return i}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)G=z6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},C1=(J,Q)=>{let W,G,V,q,P=J.window;for(;;){if(J.lookahead<=Z6){if(E6(J),J.lookahead<=Z6&&Q===H6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=v&&J.strstart>0){if(V=J.strstart-1,G=P[V],G===P[++V]&&G===P[++V]&&G===P[++V]){q=J.strstart+Z6;do;while(G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&V<q);if(J.match_length=Z6-(q-V),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=v)W=z6(J,1,J.match_length-v),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},R1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(E6(J),J.lookahead===0){if(Q===H6)return i;break}}if(J.match_length=0,W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6};function J6(J,Q,W,G,V){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=G,this.func=V}var l6=[new J6(0,0,0,0,OJ),new J6(4,4,8,4,p0),new J6(4,5,16,8,p0),new J6(4,6,32,32,p0),new J6(4,4,16,16,S6),new J6(8,16,32,32,S6),new J6(8,16,128,128,S6),new J6(8,32,128,256,S6),new J6(32,128,258,1024,S6),new J6(32,258,258,4096,S6)],L1=(J)=>{J.window_size=2*J.w_size,F6(J.head),J.max_lazy_match=l6[J.level].max_lazy,J.good_match=l6[J.level].good_length,J.nice_match=l6[J.level].nice_length,J.max_chain_length=l6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=v-1,J.match_available=0,J.ins_h=0};function I1(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=O0,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(H1*2),this.dyn_dtree=new Uint16Array((2*Z1+1)*2),this.bl_tree=new Uint16Array((2*z1+1)*2),F6(this.dyn_ltree),F6(this.dyn_dtree),F6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array($1+1),this.heap=new Uint16Array(2*s0+1),F6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),F6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var V0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==M6&&Q.status!==d6)return 1;return 0},xJ=(J)=>{if(V0(J))return C6(J,Q6);J.total_in=J.total_out=0,J.data_type=X1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:M6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,o5(Q),d},DJ=(J)=>{let Q=xJ(J);if(Q===d)L1(J.state);return Q},O1=(J,Q)=>{if(V0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},AJ=(J,Q,W,G,V,q)=>{if(!J)return Q6;let P=1;if(Q===W1)Q=6;if(G<0)P=0,G=-G;else if(G>15)P=2,G-=16;if(V<1||V>Y1||W!==O0||G<8||G>15||Q<0||Q>9||q<0||q>V1||G===8&&P!==1)return C6(J,Q6);if(G===8)G=9;let X=new I1;return J.state=X,X.strm=J,X.status=g6,X.wrap=P,X.gzhead=null,X.w_bits=G,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=V+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+v-1)/v),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<V+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,DJ(J)},x1=(J,Q)=>{return AJ(J,Q,O0,P1,U1,q1)},D1=(J,Q)=>{if(V0(J)||Q>N8||Q<0)return J?C6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==a)return C6(J,J.avail_out===0?h0:Q6);let G=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&T8(Q)<=T8(G)&&Q!==a)return C6(J,h0);if(W.status===d6&&J.avail_in!==0)return C6(J,h0);if(W.status===g6&&W.wrap===0)W.status=M6;if(W.status===g6){let V=O0+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=$0||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(V|=q<<6,W.strstart!==0)V|=k1;if(V+=31-V%31,c6(W,V),W.strstart!==0)c6(W,J.adler>>>16),c6(W,J.adler&65535);if(J.adler=1,W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,E(W,31),E(W,139),E(W,8),!W.gzhead){if(E(W,0),E(W,0),E(W,0),E(W,0),E(W,0),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,B1),W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(E(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),E(W,W.gzhead.time&255),E(W,W.gzhead.time>>8&255),E(W,W.gzhead.time>>16&255),E(W,W.gzhead.time>>24&255),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)E(W,W.gzhead.extra.length&255),E(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=c(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=t0}if(W.status===t0){if(W.gzhead.extra){let V=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;V=0,q-=X}let P=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(P.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.name){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}E(W,J.adler&255),E(W,J.adler>>8&255),J.adler=0}if(W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H6&&W.status!==d6){let V=W.level===0?OJ(W,Q):W.strategy===$0?R1(W,Q):W.strategy===G1?C1(W,Q):l6[W.level].func(W,Q);if(V===L6||V===b6)W.status=d6;if(V===i||V===L6){if(J.avail_out===0)W.last_flush=-1;return d}if(V===f6){if(Q===t5)s5(W);else if(Q!==N8){if(a0(W,0,0,!1),Q===e5){if(F6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return S8;if(W.wrap===2)E(W,J.adler&255),E(W,J.adler>>8&255),E(W,J.adler>>16&255),E(W,J.adler>>24&255),E(W,J.total_in&255),E(W,J.total_in>>8&255),E(W,J.total_in>>16&255),E(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:S8},A1=(J)=>{if(V0(J))return Q6;let Q=J.state.status;return J.state=null,Q===M6?C6(J,J1):d},w1=(J,Q)=>{let W=Q.length;if(V0(J))return Q6;let G=J.state,V=G.wrap;if(V===2||V===1&&G.status!==g6||G.lookahead)return Q6;if(V===1)J.adler=e6(J.adler,Q,W,0);if(G.wrap=0,W>=G.w_size){if(V===0)F6(G.head),G.strstart=0,G.block_start=0,G.insert=0;let Z=new Uint8Array(G.w_size);Z.set(Q.subarray(W-G.w_size,W),0),Q=Z,W=G.w_size}let{avail_in:q,next_in:P,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,E6(G);while(G.lookahead>=v){let Z=G.strstart,Y=G.lookahead-(v-1);do G.ins_h=$6(G,G.ins_h,G.window[Z+v-1]),G.prev[Z&G.w_mask]=G.head[G.ins_h],G.head[G.ins_h]=Z,Z++;while(--Y);G.strstart=Z,G.lookahead=v-1,E6(G)}return G.strstart+=G.lookahead,G.block_start=G.strstart,G.insert=G.lookahead,G.lookahead=0,G.match_length=G.prev_length=v-1,G.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,G.wrap=V,d},N1=x1,S1=AJ,T1=DJ,v1=xJ,g1=O1,E1=D1,y1=A1,f1=w1,b1="pako deflate (from Nodeca project)",n6={deflateInit:N1,deflateInit2:S1,deflateReset:T1,deflateResetKeep:v1,deflateSetHeader:g1,deflate:E1,deflateEnd:y1,deflateSetDictionary:f1,deflateInfo:b1},h1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},p1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let G in W)if(h1(W,G))J[G]=W[G]}return J},u1=(J)=>{let Q=0;for(let G=0,V=J.length;G<V;G++)Q+=J[G].length;let W=new Uint8Array(Q);for(let G=0,V=0,q=J.length;G<q;G++){let P=J[G];W.set(P,V),V+=P.length}return W},x0={assign:p1,flattenChunks:u1},wJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){wJ=!1}var J0=new Uint8Array(256);for(let J=0;J<256;J++)J0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J0[254]=J0[254]=1;var m1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,G,V,q,P=J.length,X=0;for(V=0;V<P;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,V=0;q<X;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},_1=(J,Q)=>{if(Q<65534){if(J.subarray&&wJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let G=0;G<Q;G++)W+=String.fromCharCode(J[G]);return W},c1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let G,V,q=Array(W*2);for(V=0,G=0;G<W;){let P=J[G++];if(P<128){q[V++]=P;continue}let X=J0[P];if(X>4){q[V++]=65533,G+=X-1;continue}P&=X===2?31:X===3?15:7;while(X>1&&G<W)P=P<<6|J[G++]&63,X--;if(X>1){q[V++]=65533;continue}if(P<65536)q[V++]=P;else P-=65536,q[V++]=55296|P>>10&1023,q[V++]=56320|P&1023}return _1(q,V)},d1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J0[J[W]]>Q?W:Q},W0={string2buf:m1,buf2string:c1,utf8border:d1};function l1(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var NJ=l1,SJ=Object.prototype.toString,{Z_NO_FLUSH:i1,Z_SYNC_FLUSH:n1,Z_FULL_FLUSH:r1,Z_FINISH:o1,Z_OK:L0,Z_STREAM_END:a1,Z_DEFAULT_COMPRESSION:s1,Z_DEFAULT_STRATEGY:t1,Z_DEFLATED:e1}=O6;function q0(J){this.options=x0.assign({level:s1,method:e1,chunkSize:16384,windowBits:15,memLevel:8,strategy:t1},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=n6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==L0)throw Error(R6[W]);if(Q.header)n6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let G;if(typeof Q.dictionary==="string")G=W0.string2buf(Q.dictionary);else if(SJ.call(Q.dictionary)==="[object ArrayBuffer]")G=new Uint8Array(Q.dictionary);else G=Q.dictionary;if(W=n6.deflateSetDictionary(this.strm,G),W!==L0)throw Error(R6[W]);this._dict_set=!0}}q0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?o1:i1;if(typeof J==="string")W.input=W0.string2buf(J);else if(SJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if((q===n1||q===r1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(V=n6.deflate(W,q),V===a1){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return V=n6.deflateEnd(this.strm),this.onEnd(V),this.ended=!0,V===L0}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q0.prototype.onData=function(J){this.chunks.push(J)};q0.prototype.onEnd=function(J){if(J===L0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new q0(Q);if(W.push(J,!0),W.err)throw W.msg||R6[W.err];return W.result}function JW(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function WW(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var QW=q0,GW=P8,VW=JW,qW=WW,XW=O6,YW={Deflate:QW,deflate:GW,deflateRaw:VW,gzip:qW,constants:XW},k0=16209,PW=16191,UW=function(Q,W){let G,V,q,P,X,Z,Y,U,k,F,K,z,I,j,B,R,L,$,S,p,C,T,A,x,N=Q.state;G=Q.next_in,A=Q.input,V=G+(Q.avail_in-5),q=Q.next_out,x=Q.output,P=q-(W-Q.avail_out),X=q+(Q.avail_out-257),Z=N.dmax,Y=N.wsize,U=N.whave,k=N.wnext,F=N.window,K=N.hold,z=N.bits,I=N.lencode,j=N.distcode,B=(1<<N.lenbits)-1,R=(1<<N.distbits)-1;J:do{if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=I[K&B];W:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$===0)x[q++]=L&65535;else if($&16){if(S=L&65535,$&=15,$){if(z<$)K+=A[G++]<<z,z+=8;S+=K&(1<<$)-1,K>>>=$,z-=$}if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=j[K&R];Q:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$&16){if(p=L&65535,$&=15,z<$){if(K+=A[G++]<<z,z+=8,z<$)K+=A[G++]<<z,z+=8}if(p+=K&(1<<$)-1,p>Z){Q.msg="invalid distance too far back",N.mode=k0;break J}if(K>>>=$,z-=$,$=q-P,p>$){if($=p-$,$>U){if(N.sane){Q.msg="invalid distance too far back",N.mode=k0;break J}}if(C=0,T=F,k===0){if(C+=Y-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}else if(k<$){if(C+=Y+k-$,$-=k,$<S){S-=$;do x[q++]=F[C++];while(--$);if(C=0,k<S){$=k,S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}}else if(C+=k-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}while(S>2)x[q++]=T[C++],x[q++]=T[C++],x[q++]=T[C++],S-=3;if(S){if(x[q++]=T[C++],S>1)x[q++]=T[C++]}}else{C=q-p;do x[q++]=x[C++],x[q++]=x[C++],x[q++]=x[C++],S-=3;while(S>2);if(S){if(x[q++]=x[C++],S>1)x[q++]=x[C++]}}}else if(($&64)===0){L=j[(L&65535)+(K&(1<<$)-1)];continue Q}else{Q.msg="invalid distance code",N.mode=k0;break J}break}}else if(($&64)===0){L=I[(L&65535)+(K&(1<<$)-1)];continue W}else if($&32){N.mode=PW;break J}else{Q.msg="invalid literal/length code",N.mode=k0;break J}break}}while(G<V&&q<X);S=z>>3,G-=S,z-=S<<3,K&=(1<<z)-1,Q.next_in=G,Q.next_out=q,Q.avail_in=G<V?5+(V-G):5-(G-V),Q.avail_out=q<X?257+(X-q):257-(q-X),N.hold=K,N.bits=z;return},T6=15,v8=852,g8=592,E8=0,u0=1,y8=2,KW=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),FW=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ZW=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),zW=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),HW=(J,Q,W,G,V,q,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,j=0,B=0,R=0,L,$,S,p,C,T=null,A,x=new Uint16Array(T6+1),N=new Uint16Array(T6+1),V6=null,h6,e,P6;for(Y=0;Y<=T6;Y++)x[Y]=0;for(U=0;U<G;U++)x[Q[W+U]]++;K=Z;for(F=T6;F>=1;F--)if(x[F]!==0)break;if(K>F)K=F;if(F===0)return V[q++]=20971520,V[q++]=20971520,X.bits=1,0;for(k=1;k<F;k++)if(x[k]!==0)break;if(K<k)K=k;j=1;for(Y=1;Y<=T6;Y++)if(j<<=1,j-=x[Y],j<0)return-1;if(j>0&&(J===E8||F!==1))return-1;N[1]=0;for(Y=1;Y<T6;Y++)N[Y+1]=N[Y]+x[Y];for(U=0;U<G;U++)if(Q[W+U]!==0)P[N[Q[W+U]]++]=U;if(J===E8)T=V6=P,A=20;else if(J===u0)T=KW,V6=FW,A=257;else T=ZW,V6=zW,A=0;if(R=0,U=0,Y=k,C=q,z=K,I=0,S=-1,B=1<<K,p=B-1,J===u0&&B>v8||J===y8&&B>g8)return 1;for(;;){if(h6=Y-I,P[U]+1<A)e=0,P6=P[U];else if(P[U]>=A)e=V6[P[U]-A],P6=T[P[U]-A];else e=96,P6=0;L=1<<Y-I,$=1<<z,k=$;do $-=L,V[C+(R>>I)+$]=h6<<24|e<<16|P6|0;while($!==0);L=1<<Y-1;while(R&L)L>>=1;if(L!==0)R&=L-1,R+=L;else R=0;if(U++,--x[Y]===0){if(Y===F)break;Y=Q[W+P[U]]}if(Y>K&&(R&p)!==S){if(I===0)I=K;C+=k,z=Y-I,j=1<<z;while(z+I<F){if(j-=x[z+I],j<=0)break;z++,j<<=1}if(B+=1<<z,J===u0&&B>v8||J===y8&&B>g8)return 1;S=R&p,V[S]=K<<24|z<<16|C-q|0}}if(R!==0)V[C+R]=Y-I<<24|4194304|0;return X.bits=K,0},r6=HW,$W=0,TJ=1,vJ=2,{Z_FINISH:f8,Z_BLOCK:kW,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:BW,Z_NEED_DICT:jW,Z_STREAM_ERROR:s,Z_DATA_ERROR:gJ,Z_MEM_ERROR:EJ,Z_BUF_ERROR:MW,Z_DEFLATED:b8}=O6,D0=16180,h8=16181,p8=16182,u8=16183,m8=16184,_8=16185,c8=16186,d8=16187,l8=16188,i8=16189,I0=16190,q6=16191,m0=16192,n8=16193,_0=16194,r8=16195,o8=16196,a8=16197,s8=16198,j0=16199,M0=16200,t8=16201,e8=16202,JJ=16203,WJ=16204,QJ=16205,c0=16206,GJ=16207,VJ=16208,h=16209,yJ=16210,fJ=16211,CW=852,RW=592,LW=15,IW=LW,qJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function OW(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var x6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>fJ)return 1;return 0},bJ=(J)=>{if(x6(J))return s;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=D0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(CW),Q.distcode=Q.distdyn=new Int32Array(RW),Q.sane=1,Q.back=-1,I6},hJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,bJ(J)},pJ=(J,Q)=>{let W;if(x6(J))return s;let G=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(G.window!==null&&G.wbits!==Q)G.window=null;return G.wrap=W,G.wbits=Q,hJ(J)},uJ=(J,Q)=>{if(!J)return s;let W=new OW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let G=pJ(J,Q);if(G!==I6)J.state=null;return G},xW=(J)=>{return uJ(J,IW)},XJ=!0,d0,l0,DW=(J)=>{if(XJ){d0=new Int32Array(512),l0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r6(TJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(vJ,J.lens,0,32,l0,0,J.work,{bits:5}),XJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},mJ=(J,Q,W,G)=>{let V,q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(G>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(V=q.wsize-q.wnext,V>G)V=G;if(q.window.set(Q.subarray(W-G,W-G+V),q.wnext),G-=V,G)q.window.set(Q.subarray(W-G,W),0),q.wnext=G,q.whave=q.wsize;else{if(q.wnext+=V,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=V}}return 0},AW=(J,Q)=>{let W,G,V,q,P,X,Z,Y,U,k,F,K,z,I,j=0,B,R,L,$,S,p,C,T,A=new Uint8Array(4),x,N,V6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(x6(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q6)W.mode=m0;P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,k=X,F=Z,T=I6;J:for(;;)switch(W.mode){case D0:if(W.wrap===0){W.mode=m0;break}while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&2&&Y===35615){if(W.wbits===0)W.wbits=15;W.check=0,A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0),Y=0,U=0,W.mode=h8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((Y&255)<<8)+(Y>>8))%31){J.msg="incorrect header check",W.mode=h;break}if((Y&15)!==b8){J.msg="unknown compression method",W.mode=h;break}if(Y>>>=4,U-=4,C=(Y&15)+8,W.wbits===0)W.wbits=C;if(C>15||C>W.wbits){J.msg="invalid window size",W.mode=h;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?i8:q6,Y=0,U=0;break;case h8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==b8){J.msg="unknown compression method",W.mode=h;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=h;break}if(W.head)W.head.text=Y>>8&1;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=p8;case p8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.time=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,A[2]=Y>>>16&255,A[3]=Y>>>24&255,W.check=c(W.check,A,4,0);Y=0,U=0,W.mode=u8;case u8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.xflags=Y&255,W.head.os=Y>>8;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=m8;case m8:if(W.flags&1024){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.length=Y,W.head)W.head.extra_len=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=_8;case _8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(C=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(G.subarray(q,q+K),C)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=c8;case c8:if(W.flags&2048){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.name+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=d8;case d8:if(W.flags&4096){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.comment+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.comment=null;W.mode=l8;case l8:if(W.flags&512){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.check&65535)){J.msg="header crc mismatch",W.mode=h;break}Y=0,U=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q6;break;case i8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}J.adler=W.check=qJ(Y),Y=0,U=0,W.mode=I0;case I0:if(W.havedict===0)return J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,jW;J.adler=W.check=1,W.mode=q6;case q6:if(Q===kW||Q===B0)break J;case m0:if(W.last){Y>>>=U&7,U-=U&7,W.mode=c0;break}while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}switch(W.last=Y&1,Y>>>=1,U-=1,Y&3){case 0:W.mode=n8;break;case 1:if(DW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=o8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case n8:Y>>>=U&7,U-=U&7;while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((Y&65535)!==(Y>>>16^65535)){J.msg="invalid stored block lengths",W.mode=h;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=r8;case r8:if(K=W.length,K){if(K>X)K=X;if(K>Z)K=Z;if(K===0)break J;V.set(G.subarray(q,q+K),P),X-=K,q+=K,Z-=K,P+=K,W.length-=K;break}W.mode=q6;break;case o8:while(U<14){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.nlen=(Y&31)+257,Y>>>=5,U-=5,W.ndist=(Y&31)+1,Y>>>=5,U-=5,W.ncode=(Y&15)+4,Y>>>=4,U-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=h;break}W.have=0,W.mode=a8;case a8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.lens[V6[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[V6[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},T=r6($W,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid code lengths set",W.mode=h;break}W.have=0,W.mode=s8;case s8:while(W.have<W.nlen+W.ndist){for(;;){if(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(L<16)Y>>>=B,U-=B,W.lens[W.have++]=L;else{if(L===16){N=B+2;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(Y>>>=B,U-=B,W.have===0){J.msg="invalid bit length repeat",W.mode=h;break}C=W.lens[W.have-1],K=3+(Y&3),Y>>>=2,U-=2}else if(L===17){N=B+3;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=B,U-=B,C=0,K=3+(Y&7),Y>>>=3,U-=3}else{N=B+7;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=B,U-=B,C=0,K=11+(Y&127),Y>>>=7,U-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=h;break}while(K--)W.lens[W.have++]=C}}if(W.mode===h)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=h;break}if(W.lenbits=9,x={bits:W.lenbits},T=r6(TJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid literal/lengths set",W.mode=h;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},T=r6(vJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,T){J.msg="invalid distances set",W.mode=h;break}if(W.mode=j0,Q===B0)break J;case j0:W.mode=M0;case M0:if(X>=6&&Z>=258){if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,UW(J,F),P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,W.mode===q6)W.back=-1;break}W.back=0;for(;;){if(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(R&&(R&240)===0){$=B,S=R,p=L;for(;;){if(j=W.lencode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,R=j>>>16&255,L=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,W.length=L,R===0){W.mode=QJ;break}if(R&32){W.back=-1,W.mode=q6;break}if(R&64){J.msg="invalid literal/length code",W.mode=h;break}W.extra=R&15,W.mode=t8;case t8:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.length+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=e8;case e8:for(;;){if(j=W.distcode[Y&(1<<W.distbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((R&240)===0){$=B,S=R,p=L;for(;;){if(j=W.distcode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,R=j>>>16&255,L=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,R&64){J.msg="invalid distance code",W.mode=h;break}W.offset=L,W.extra=R&15,W.mode=JJ;case JJ:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.offset+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=h;break}W.mode=WJ;case WJ:if(Z===0)break J;if(K=F-Z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=h;break}}if(K>W.wnext)K-=W.wnext,z=W.wsize-K;else z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=V,z=P-W.offset,K=W.length;if(K>Z)K=Z;Z-=K,W.length-=K;do V[P++]=I[z++];while(--K);if(W.length===0)W.mode=M0;break;case QJ:if(Z===0)break J;V[P++]=W.length,Z--,W.mode=M0;break;case c0:if(W.wrap){while(U<32){if(X===0)break J;X--,Y|=G[q++]<<U,U+=8}if(F-=Z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,P-F):e6(W.check,V,F,P-F);if(F=Z,W.wrap&4&&(W.flags?Y:qJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=GJ;case GJ:if(W.wrap&&W.flags){while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=h;break}Y=0,U=0}W.mode=VJ;case VJ:T=BW;break J;case h:T=gJ;break J;case yJ:return EJ;case fJ:default:return s}if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,W.wsize||F!==J.avail_out&&W.mode<h&&(W.mode<c0||Q!==f8)){if(mJ(J,J.output,J.next_out,F-J.avail_out));}if(k-=J.avail_in,F-=J.avail_out,J.total_in+=k,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,J.next_out-F):e6(W.check,V,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q6?128:0)+(W.mode===j0||W.mode===_0?256:0),(k===0&&F===0||Q===f8)&&T===I6)T=MW;return T},wW=(J)=>{if(x6(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},NW=(J,Q)=>{if(x6(J))return s;let W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I6},SW=(J,Q)=>{let W=Q.length,G,V,q;if(x6(J))return s;if(G=J.state,G.wrap!==0&&G.mode!==I0)return s;if(G.mode===I0){if(V=1,V=e6(V,Q,W,0),V!==G.check)return gJ}if(q=mJ(J,Q,W,W),q)return G.mode=yJ,EJ;return G.havedict=1,I6},TW=hJ,vW=pJ,gW=bJ,EW=xW,yW=uJ,fW=AW,bW=wW,hW=NW,pW=SW,uW="pako inflate (from Nodeca project)",Y6={inflateReset:TW,inflateReset2:vW,inflateResetKeep:gW,inflateInit:EW,inflateInit2:yW,inflate:fW,inflateEnd:bW,inflateGetHeader:hW,inflateSetDictionary:pW,inflateInfo:uW};function mW(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var _W=mW,_J=Object.prototype.toString,{Z_NO_FLUSH:cW,Z_FINISH:dW,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:lW,Z_DATA_ERROR:YJ,Z_MEM_ERROR:iW}=O6;function X0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=Y6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(R6[W]);if(this.header=new _W,Y6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(_J.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=Y6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(R6[W])}}}X0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V=this.options.dictionary,q,P,X;if(this.ended)return!1;if(Q===~~Q)P=Q;else P=Q===!0?dW:cW;if(_J.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if(q=Y6.inflate(W,P),q===n0&&V){if(q=Y6.inflateSetDictionary(W,V),q===Q0)q=Y6.inflate(W,P);else if(q===YJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)Y6.inflateReset(W),q=Y6.inflate(W,P);switch(q){case lW:case YJ:case n0:case iW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===i0)if(this.options.to==="string"){let Z=W0.utf8border(W.output,W.next_out),Y=W.next_out-Z,U=W0.buf2string(W.output,Z);if(W.next_out=Y,W.avail_out=G-Y,Y)W.output.set(W.output.subarray(Z,Z+Y),0);this.onData(U)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q0&&X===0)continue;if(q===i0)return q=Y6.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X0.prototype.onData=function(J){this.chunks.push(J)};X0.prototype.onEnd=function(J){if(J===Q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function U8(J,Q){let W=new X0(Q);if(W.push(J),W.err)throw W.msg||R6[W.err];return W.result}function nW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var rW=X0,oW=U8,aW=nW,sW=U8,tW=O6,eW={Inflate:rW,inflate:oW,inflateRaw:aW,ungzip:sW,constants:tW},{Deflate:J7,deflate:W7,deflateRaw:Q7,gzip:G7}=YW,{Inflate:V7,inflate:q7,inflateRaw:X7,ungzip:Y7}=eW,P7=J7,U7=W7,K7=Q7,F7=G7,Z7=V7,z7=q7,H7=X7,$7=Y7,k7=O6,D6={Deflate:P7,deflate:U7,deflateRaw:K7,gzip:F7,Inflate:Z7,inflate:z7,inflateRaw:H7,ungzip:$7,constants:k7};function cJ(J,Q,W){let G=Q.timestamp;if(G?.physical>Date.now()+7200000)G={physical:Date.now()+7200000,logical:G.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:V,...q}=Q.value;return{resolved:!0,value:q,timestamp:G}}if(Q?.value?.priority!==void 0){let{priority:V,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:G};if(W.compare(G,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:G}}function dJ(J,Q=50){let W=`gdb_oplog_${J}`,G=[];function V(){try{let P=localStorage.getItem(W);G=P?JSON.parse(P):[]}catch(P){G=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(G))}catch(P){}}return V(),{remove(P){G=G.filter((X)=>X.id!==P),q()},add(P){if(G.push(P),G.length>Q)G.shift();q()},getDelta(P,X){if(!P)return[...G];return G.filter((Z)=>X(Z.timestamp,P)>0)},getOldest(){return G[0]},clear(){G=[],localStorage.removeItem(W)}}}var B7=()=>{let J=new Map,Q=async(U,k)=>{let F=J.get(U)??[];J.set(U,F);let K=F[F.length-1]??Promise.resolve(),z,I=new Promise((j)=>z=j);F.push(I);try{return await K,await k()}finally{if(F.shift(),z(),!F.length)J.delete(U)}},W=(U,k)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},k)??Q(U,k),G=async()=>{try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await U.removeEntry("~opfs-sync-test"),!!F}catch{return!1}},V="idb",q=(async()=>{if(await G()){V="sync";return}try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await U.removeEntry("~opfs-async-test"),V=F?"async":"idb"}catch{V="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,k=()=>U??=new Promise((F,K)=>{let z=indexedDB.open("opfs-fallback-db",1);z.onupgradeneeded=()=>z.result.createObjectStore("files"),z.onsuccess=()=>F(z.result),z.onerror=()=>K(z.error)});return{get:async(F)=>{let K=await k();return new Promise((z,I)=>{let B=K.transaction("files","readonly").objectStore("files").get(F);B.onsuccess=()=>z(B.result||new Uint8Array),B.onerror=()=>I(B.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,j)=>{let R=z.transaction("files","readwrite").objectStore("files").put(K,F);R.onsuccess=()=>I(),R.onerror=()=>j(R.error)})}}})(),Z=async(U)=>{await q;try{if(V==="idb"){let j=await X.get(U);self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let j=new Uint8Array;self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let K=async()=>{try{let j=await F.createSyncAccessHandle();try{let B=j.getSize(),R=new Uint8Array(B),L=j.read(R,{at:0}),$=R.slice(0,L);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{j.close()}}catch(j){if(j?.name==="NoModificationAllowedError"){let B=await F.getFile(),R=new Uint8Array(await B.arrayBuffer());self.postMessage({type:"loaded",name:U,data:R},[R.buffer])}else throw j}};if(V==="sync"){await W(U,K);return}let z=await F.getFile(),I=new Uint8Array(await z.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}catch(k){if(k?.name==="NotFoundError"){let F=new Uint8Array;self.postMessage({type:"loaded",name:U,data:F},[F.buffer]);return}self.postMessage({type:"error",name:U,message:k?.message??"Error reading file"})}},Y=async(U,k)=>{if(await q,!(k instanceof Uint8Array))return{type:"error",name:U,message:"Content must be a Uint8Array"};return W(U,async()=>{try{if(V==="idb")return await X.set(U,k),{type:"saved",name:U};let K=await(await P).getFileHandle(U,{create:!0});if(V==="sync"){let z=await K.createSyncAccessHandle();try{z.truncate(0),z.write(k,{at:0}),z.flush()}finally{z.close()}}else{let z=await K.createWritable();try{await z.write(k)}finally{await z.close()}}return{type:"saved",name:U}}catch(F){return{type:"error",name:U,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:k,name:F,content:K}=U;await q;let z={load:()=>Z(F),save:()=>Y(F,K)};try{let I=z[k],j=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(j&&j.type)self.postMessage(j)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},lJ=B7;var Y0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Object.values(J).some((V)=>typeof V==="object"?null.fieldSearch(V,G):W(V).includes(G))},field:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Array.isArray(J)?J.some((V)=>W(V).includes(G)):W(J).includes(G)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((G)=>W.createFilter(G,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((G)=>W.createFilter(G,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let G=W.createFilter(Q,W.allNodes),V=[...J.edges],q=new Set(V).add(J.id),P=[];while(V.length){let X=V.shift(),Z=W.allNodes[X];if(!Z)continue;if(G(Z))P.push(Z);Z.edges?.forEach((Y)=>!q.has(Y)&&q.add(Y)&&V.push(Y))}if(P.length)J._edgeResult=P;return P.length>0}},A0=(J,Q)=>Q.split(".").reduce((W,G)=>W&&typeof W==="object"&&(G in W)?W[G]:void 0,J),w0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([G,V])=>{if(G.startsWith("$"))return Y0[G](W,V,{createFilter:w0,allNodes:Q});let q=A0(W.value,G);if(q===void 0)q=A0(W,G);if(typeof V!=="object"||V===null)return Y0.$eq(q,V);return Object.entries(V).every(([P,X])=>{if(P==="$text")return Y0.$text.field(q,X);if(P==="$between"&&X.every((Z)=>Z instanceof Date))return Y0.$between(new Date(q),X);return Y0[P]?.(q,X,{createFilter:w0,allNodes:Q})??!1})})},K8=(J,Q)=>{let{$edge:W,...G}=Q.query||{},V=w0(G,J),q=Object.values(J).filter(V),X=[...W?(()=>{let Z=w0({$edge:W},J);q.forEach((U)=>Z(U));let Y=new Map;return q.forEach((U)=>{if(U._edgeResult)U._edgeResult.forEach((k)=>Y.set(k.id,k)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let Z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let k=A0(Y.value,Q.field),F=A0(U.value,Q.field);if(typeof k==="string"&&typeof F==="string")return k.localeCompare(F)*Z;return((k??0)-(F??0))*Z})}if(Q.$after){let Z=X.findIndex((Y)=>Y.id===Q.$after);X=Z>=0?X.slice(Z+1):[]}if(Q.$before){let Z=X.findIndex((Y)=>Y.id===Q.$before);X=Z>=0?X.slice(0,Z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function iJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number")return;J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,G){if(!W&&!G)return 0;if(!W)return-1;if(!G)return 1;if(W.physical>G.physical)return 1;if(W.physical<G.physical)return-1;if(W.logical>G.logical)return 1;if(W.logical<G.logical)return-1;return 0}}}var j7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},nJ=(J,Q)=>J.length===Q.length&&J.every((W,G)=>W===Q[G]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,rJ=(J,Q=16)=>{let W=null,G=null;return(...V)=>{if(!G)G={},G.promise=new Promise((P,X)=>(G.resolve=P,G.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let q=async()=>{W=null;let P=G;G=null;try{P.resolve(await J(...V))}catch(X){P.reject(X)}};return W="requestIdleCallback"in window?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),G.promise}},M7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function C7(){if(navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function R7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,G){let V=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:V?.edges?[...V.edges]:[],timestamp:G}},get(Q){return J.nodes[Q]||null},link(Q,W,G){let V=J.nodes[Q],q=J.nodes[W];if(V&&q&&!V.edges.includes(W))J.nodes[Q]={...V,edges:[...V.edges,W],timestamp:G}},getAllNodes(){return Object.values(J.nodes)},serialize(){return D6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=B6(D6.inflate(new Uint8Array(Q)))}}}async function oJ(J,Q={}){let{rtc:W=!1,password:G,sm:V=!1,audit:q=!1,ii:P=!1,rx:X=!1,ai:Z=!1,geo:Y=!1,nlq:U=!1,saveDelay:k=200,oplogSize:F=20}=Q,K=R7(),z=iJ(),I=dJ(J,F),j=[],B=null,R=[],L=null,$=null,S=null,p=null,C=[],T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>S},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(M)=>K.get(M)})},worker:{get:()=>L},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function A(M,w){try{let O=await j7[M](),f=w&&typeof w==="object"?w:{},_=await O.init?.(T,O,f);if(_)Object.assign(T,_);return O}catch(O){throw O}}function x(){let M=localStorage.getItem(`${J}_time`);B=M?JSON.parse(M):null}function N(M){B=M,localStorage.setItem(`${J}_time`,JSON.stringify(M))}function V6(){try{let M=URL.createObjectURL(new Blob([`(${lJ.toString()})()`],{type:"application/javascript"}));L=new Worker(M),URL.revokeObjectURL(M),L.addEventListener("message",({data:w})=>{return})}catch({message:M}){}}function h6(){let M={...K.nodes};R.forEach((w)=>w(M))}let e=M7(()=>h6()),P6=rJ(async()=>{let M=C.splice(0,C.length);if(!M.length)return!1;return await $.send(M),!0},16);async function Z8(){try{let w=await((O)=>new Promise((f,_)=>{let b=async({data:H})=>{if(H.type==="loaded"&&H.name===O)L.removeEventListener("message",b),f(new Uint8Array(H.data));else if(H.type==="error")L.removeEventListener("message",b),_(Error(H.message||"Unknown error"))};L.addEventListener("message",b),L.postMessage({type:"load",name:O})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);w.byteLength>0&&K.deserialize(w)}catch({message:M}){}}async function z8(){try{let M=K.serialize();return await((O,f)=>new Promise((_,b)=>{let H=({data:D})=>{if(D.type==="saved"&&D.name===O)L.removeEventListener("message",H),_();else if(D.type==="error")L.removeEventListener("message",H),b(Error(D.message||"Save error"))};L.addEventListener("message",H),L.postMessage({type:"save",name:O,content:f})}))(`${J}_graph.msgpack`,M),S.postMessage("update"),!0}catch({message:M}){throw Error("Save failed")}}let P0=rJ(()=>z8(),k);async function aJ(M){let w=!1,O=null,f=(H)=>{if(!O||z.compare(H,O)>0)O=H},_=(H)=>{try{if(H instanceof Uint8Array)return B6(D6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B6(D6.inflate(new Uint8Array(Object.values(H))))}catch(D){}return null},b={upsert:(H)=>{let D=K.get(H.id),{resolved:g,value:y,timestamp:u}=cJ(D,H,z);if(!g)return;K.upsert(H.id,y,u),z.update(u),I.add({type:"upsert",id:H.id,timestamp:u}),w=!0,f(u)},remove:(H)=>{let D=K.get(H.id);if(!D||z.compare(D.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),w=!0,f(H.timestamp)},link:(H)=>{let D=K.get(H.sourceId),g=K.get(H.targetId);if(!D||!g||z.compare(D.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),z.update(H.timestamp),I.add({type:"link",...H}),w=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let D=I.getOldest();if(H==null||D&&z.compare(H,D.timestamp)<0)return $.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:B}]);let y=I.getDelta(H,z.compare);if(!y.length)return;let u=y.map((t)=>t.type==="upsert"?{...t,value:K.get(t.id)?.value}:t);await $.send([{type:"deltaSync",operations:D6.deflate(u6(u)),timestamp:B}])},deltaSync:({operations:H})=>{let D=_(H);if(!Array.isArray(D))return;for(let g of D)if(g&&b[g.type])b[g.type](g)},fullStateSync:async({graphData:H,timestamp:D})=>{if(B&&D&&z.compare(B,D)>0)return;if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else return;try{if(K.deserialize(H),I.clear(),w=!0,D)f(D),z.update(D)}catch(g){}}};for(let H of M)if(b[H.type])await b[H.type](H);if(O&&(!B||z.compare(O,B)>0))N(O);if(w)await P0(),e()}Object.assign(T,{use(M){if(typeof M==="function")j.push(M)},async put(M,w){let O=z.now();N(O),w=w??crypto.randomUUID(),K.upsert(w,M,O),I.add({type:"upsert",id:w,timestamp:O}),P0();try{C.push({type:"upsert",id:w,value:M,timestamp:O}),P6().catch(()=>{})}finally{e()}return w},async link(M,w){let O=z.now();if(!K.nodes[M]||!K.nodes[w])return;K.link(M,w,O),I.add({type:"link",sourceId:M,targetId:w,timestamp:O}),P0(),N(O);try{C.push({type:"link",sourceId:M,targetId:w,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(M){let w=z.now(),O=K.get(M);if(!O)return;delete K.nodes[M],I.add({type:"remove",id:M,timestamp:w}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==M)),P0(),N(w);try{C.push({type:"remove",id:M,value:O.value,timestamp:w}),P6().catch(()=>{})}finally{e()}},async get(M,w=null){if(typeof M!=="string")return{result:null};let O=K.get(M);if(!O){if(w)w(null);return{result:null}}let f=(H)=>{if(!H)return null;let D=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:D}};if(!w)return{result:f(O)};let _=O.timestamp;w(f(O));let b=(H)=>{let D=H[M];if(D){if(z.compare(D.timestamp,_)>0)_=D.timestamp,w(f(D))}else w(null),R.splice(R.indexOf(b),1)};return R.push(b),{result:f(O),unsubscribe:()=>{let H=R.indexOf(b);if(H>-1)R.splice(H,1)}}},async map(...M){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;M.forEach((g)=>typeof g==="function"?f=g:g&&typeof g==="object"&&(_=_||("realtime"in g),Object.assign(O,g))),f&&!_&&(O.realtime=!0);let b=K8(K.nodes,O),H=null,D=(g)=>{let y=new Map(b.map((m)=>[m.id,m])),u=new Map(g.map((m)=>[m.id,m])),t=[],A6=[],H8=[];for(let[m,K6]of u){let U0=y.get(m);if(!U0)t.push(K6);else if((K6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(K6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!nJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!u.has(m))H8.push(y.get(m));let N0=(m,K6)=>f({id:m.id,value:K6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K6});t.forEach((m)=>N0(m,"added")),H8.forEach((m)=>N0(m,"removed")),A6.forEach((m)=>N0(m,"updated"))};if(f){if(b.forEach((g)=>{f({id:g.id,value:g.value,edges:g.edges,timestamp:g.timestamp,action:"initial"})}),O.realtime){let g=(y)=>{let u=y.timestamp?.physical||0,t=y.timestamp?.logical||0,A6=(y.edges||[]).join(",");return`${y.id}:${u}:${t}:${A6}`};H=(y)=>{let u=K8(y,O);if(u.length!==b.length)D(u),b=u;else{let t=u.map(g),A6=b.map(g);if(!nJ(t,A6))D(u),b=u}},R.push(H)}}return{results:b,...O.realtime&&f&&H&&{unsubscribe:()=>{let g=R.indexOf(H);g>-1&&R.splice(g,1)}}}},async clear(){K.nodes={},B=null,localStorage.removeItem(`${J}_time`),I.clear(),await z8(),h6()}}),V6(),x(),await C7(),await Z8();let U6=[];if(V)U6.push(A("sm",V));if(Z)U6.push(A("ai",Z));if(X)U6.push(A("rx",X));if(P)U6.push(A("ii",P));if(q)U6.push(A("audit",q));if(Y)U6.push(A("geo",Y));if(U)U6.push(A("nlq",U));await Promise.all(U6);let sJ=`graph-sync-room-${J}`;if(W){let M=W?.constructor===Object?W:{},w=M.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await A(w),_={appId:"1234",...G&&{password:G},...M.relayUrls&&{relayUrls:M.relayUrls},...M.turnConfig&&{turnConfig:M.turnConfig},...M.cells&&M.cells!==!0&&{overlay:M.cells}},b=O(_,sJ);$=b.channel("syncGraph"),p=O(_,`app-sync-${J}`),T.room=p,T.selfId=f,b.on("peer:join",async(H)=>{$.send([{type:"sync",timestamp:B}])}),b.on("peer:leave",(H)=>{}),$?.on("message",async(H)=>{let D;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=B6(H);D=Array.isArray(y)?y:[y]}else D=Array.isArray(H)?H:[H]}catch(y){return}let g=new Map([...new Set(D.flatMap((y)=>["id","sourceId","targetId"].map((u)=>y&&y[u]).filter(Boolean)))].map((y)=>K.get(y)?[y,F8(K.get(y))]:null).filter(Boolean));for(let y of j)try{if(D=await y(D,g),!D||!D.length)return}catch(u){return}await aJ(D)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(M)=>{if(M.data==="update")await Z8(),x(),e()},T}var uQ=oJ;class L7{constructor(){throw Error("⚠️ WARNING: `new GDB()` is deprecated and will be removed. "+"Migrate to async factory function `const db = await gdb(...)`.\nMigration Guide: https://github.com/estebanrfp/gdb/wiki/Migration-Guide\nWiki: https://github.com/estebanrfp/gdb/wiki")}}export{uQ as gdb,L7 as GDB};
1
+ var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
2
+ function $8(J){let Q=J.length,W=0,G=0;while(G<Q){let V=J.charCodeAt(G++);if((V&4294967168)===0){W++;continue}else if((V&4294965248)===0)W+=2;else{if(V>=55296&&V<=56319){if(G<Q){let q=J.charCodeAt(G);if((q&64512)===56320)++G,V=((V&1023)<<10)+(q&1023)+65536}}if((V&4294901760)===0)W+=3;else W+=4}}return W}function tJ(J,Q,W){let G=J.length,V=W,q=0;while(q<G){let P=J.charCodeAt(q++);if((P&4294967168)===0){Q[V++]=P;continue}else if((P&4294965248)===0)Q[V++]=P>>6&31|192;else{if(P>=55296&&P<=56319){if(q<G){let X=J.charCodeAt(q);if((X&64512)===56320)++q,P=((P&1023)<<10)+(X&1023)+65536}}if((P&4294901760)===0)Q[V++]=P>>12&15|224,Q[V++]=P>>6&63|128;else Q[V++]=P>>18&7|240,Q[V++]=P>>12&63|128,Q[V++]=P>>6&63|128}Q[V++]=P&63|128}}var eJ=new TextEncoder,J5=50;function W5(J,Q,W){eJ.encodeInto(J,Q.subarray(W))}function k8(J,Q,W){if(J.length>J5)W5(J,Q,W);else tJ(J,Q,W)}var Q5=4096;function S0(J,Q,W){let G=Q,V=G+W,q=[],P="";while(G<V){let X=J[G++];if((X&128)===0)q.push(X);else if((X&224)===192){let Z=J[G++]&63;q.push((X&31)<<6|Z)}else if((X&240)===224){let Z=J[G++]&63,Y=J[G++]&63;q.push((X&31)<<12|Z<<6|Y)}else if((X&248)===240){let Z=J[G++]&63,Y=J[G++]&63,U=J[G++]&63,k=(X&7)<<18|Z<<12|Y<<6|U;if(k>65535)k-=65536,q.push(k>>>10&1023|55296),k=56320|k&1023;q.push(k)}else q.push(X);if(q.length>=Q5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var G5=new TextDecoder,V5=200;function q5(J,Q,W){let G=J.subarray(Q,Q+W);return G5.decode(G)}function B8(J,Q,W){if(W>V5)return q5(J,Q,W);else return S0(J,Q,W)}class w6{constructor(J,Q){this.type=J,this.data=Q}}class l extends Error{constructor(J){super(J);let Q=Object.create(l.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:l.name})}}var N6=4294967295;function j8(J,Q,W){let G=W/4294967296,V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function K0(J,Q,W){let G=Math.floor(W/4294967296),V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function F0(J,Q){let W=J.getInt32(Q),G=J.getUint32(Q+4);return W*4294967296+G}function M8(J,Q){let W=J.getUint32(Q),G=J.getUint32(Q+4);return W*4294967296+G}var X5=-1,Y5=4294967295,P5=17179869183;function U5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=P5)if(Q===0&&J<=Y5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,G=J&4294967295,V=new Uint8Array(8),q=new DataView(V.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,G),V}else{let W=new Uint8Array(12),G=new DataView(W.buffer);return G.setUint32(0,Q),K0(G,4,J),W}}function K5(J){let Q=J.getTime(),W=Math.floor(Q/1000),G=(Q-W*1000)*1e6,V=Math.floor(G/1e9);return{sec:W+V,nsec:G-V*1e9}}function F5(J){if(J instanceof Date){let Q=K5(J);return U5(Q)}else return null}function Z5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),G=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),G=Q.getUint32(4),V=(W&3)*4294967296+G,q=W>>>2;return{sec:V,nsec:q}}case 12:{let W=F0(Q,4),G=Q.getUint32(0);return{sec:W,nsec:G}}default:throw new l(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function z5(J){let Q=Z5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var C8={type:X5,encode:F5,decode:z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(C8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let G=-1-J;this.builtInEncoders[G]=Q,this.builtInDecoders[G]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let G=this.builtInEncoders[W];if(G!=null){let V=G(J,Q);if(V!=null){let q=-1-W;return new w6(q,V)}}}for(let W=0;W<this.encoders.length;W++){let G=this.encoders[W];if(G!=null){let V=G(J,Q);if(V!=null)return new w6(W,V)}}if(J instanceof w6)return J;return null}decode(J,Q,W){let G=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(G)return G(J,Q,W);else return new w6(Q,J)}}k6.defaultCodec=new k6;function H5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function p6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(H5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var $5=100,k5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??$5,this.initialBufferSize=J?.initialBufferSize??k5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),G=new DataView(Q);W.set(this.bytes),this.view=G,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=$8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),k8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=p6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let G of J)this.doEncode(G,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let G of Q)if(J[G]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let G=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(G<16)this.writeU8(128+G);else if(G<65536)this.writeU8(222),this.writeU16(G);else if(G<4294967296)this.writeU8(223),this.writeU32(G);else throw Error(`Too large map object: ${G}`);for(let V of W){let q=J[V];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(V),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),G=W.length;if(G>=4294967296)throw Error(`Too large extension object: ${G}`);this.writeU8(201),this.writeU32(G),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),j8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u6(J,Q){return new Z0(Q).encodeSharedRef(J)}function z0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var B5=16,j5=16;class v0{constructor(J=B5,Q=j5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let G=this.caches[W-1];J:for(let V of G){let q=V.bytes;for(let P=0;P<W;P++)if(q[P]!==J[Q+P])continue J;return V.str}return null}store(J,Q){let W=this.caches[J.length-1],G={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=G;else W.push(G)}decode(J,Q,W){let G=this.find(J,Q,W);if(G!=null)return this.hit++,G;this.miss++;let V=S0(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,V),V}}var T0="array",_6="map_key",L8="map_value",M5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new l("The type of key must be string or number but "+typeof J)};class I8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=T0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=_6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===T0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===L8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m6=-1,g0=new DataView(new ArrayBuffer(0)),C5=new Uint8Array(g0.buffer);try{g0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var R8=RangeError("Insufficient data"),R5=new v0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=C5,this.headByte=m6,this.stack=new I8,this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??N6,this.maxBinLength=J?.maxBinLength??N6,this.maxArrayLength=J?.maxArrayLength??N6,this.maxMapLength=J?.maxMapLength??N6,this.maxExtLength=J?.maxExtLength??N6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:R5,this.mapKeyConverter=J?.mapKeyConverter??M5}clone(){return new H0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m6,this.stack.reset()}setBuffer(J){let Q=p6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=p6(J),G=new Uint8Array(Q.length+W.length);G.set(Q),G.set(W,Q.length),this.setBuffer(G)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let P of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(P);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:G,pos:V,totalPos:q}=this;throw RangeError(`Insufficient data in parsing ${z0(G)} at ${q} (${V} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,G=-1;for await(let V of J){if(Q&&G===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(V),W)G=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--G===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let G=J-128;if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J<160){let G=J-144;if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else{let G=J-160;Q=this.decodeString(G,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let G=this.lookU8();Q=this.decodeString(G,1)}else if(J===218){let G=this.lookU16();Q=this.decodeString(G,2)}else if(J===219){let G=this.lookU32();Q=this.decodeString(G,4)}else if(J===220){let G=this.readU16();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===221){let G=this.readU32();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===222){let G=this.readU16();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===223){let G=this.readU32();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===196){let G=this.lookU8();Q=this.decodeBinary(G,1)}else if(J===197){let G=this.lookU16();Q=this.decodeBinary(G,2)}else if(J===198){let G=this.lookU32();Q=this.decodeBinary(G,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let G=this.lookU8();Q=this.decodeExtension(G,1)}else if(J===200){let G=this.lookU16();Q=this.decodeExtension(G,2)}else if(J===201){let G=this.lookU32();Q=this.decodeExtension(G,4)}else throw new l(`Unrecognized type byte: ${z0(J)}`);this.complete();let W=this.stack;while(W.length>0){let G=W.top();if(G.type===T0)if(G.array[G.position]=Q,G.position++,G.position===G.size)Q=G.array,W.release(G);else continue J;else if(G.type===_6){if(Q==="__proto__")throw new l("The key __proto__ is not allowed");G.key=this.mapKeyConverter(Q),G.type=L8;continue J}else if(G.map[G.key]=Q,G.readCount++,G.readCount===G.size)Q=G.map,W.release(G);else{G.key=null,G.type=_6;continue J}}return Q}}readHeadByte(){if(this.headByte===m6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new l(`Unrecognized array type byte: ${z0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new l(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new l(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new l(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw R8;let W=this.pos+Q,G;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))G=this.keyDecoder.decode(this.bytes,W,J);else G=B8(this.bytes,W,J);return this.pos+=Q+J,G}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===_6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new l(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw R8;let W=this.pos+Q,G=this.bytes.subarray(W,W+J);return this.pos+=Q+J,G}decodeExtension(J,Q){if(J>this.maxExtLength)throw new l(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),G=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(G,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=M8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function y6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var L5=0,PJ=1,I5=2,O5=3,x5=258,G8=29,G0=256,o6=G0+1+G8,T6=30,V8=19,UJ=2*o6+1,j6=15,E0=16,D5=7,q8=256,KJ=16,FJ=17,ZJ=18,r0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),C0=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),A5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),zJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),w5=512,X6=Array((o6+2)*2);y6(X6);var i6=Array(T6*2);y6(i6);var a6=Array(w5);y6(a6);var s6=Array(x5-O5+1);y6(s6);var X8=Array(G8);y6(X8);var R0=Array(T6);y6(R0);function y0(J,Q,W,G,V){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=G,this.max_length=V,this.has_stree=J&&J.length}var HJ,$J,kJ;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var BJ=(J)=>{return J<256?a6[J]:a6[256+(J>>>7)]},t6=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,t6(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W6=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},jJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)t6(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},S5=(J,Q)=>{let{dyn_tree:W,max_code:G}=Q,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,P=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,Z=Q.stat_desc.max_length,Y,U,k,F,K,z,I=0;for(F=0;F<=j6;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<UJ;Y++){if(U=J.heap[Y],F=W[W[U*2+1]*2+1]+1,F>Z)F=Z,I++;if(W[U*2+1]=F,U>G)continue;if(J.bl_count[F]++,K=0,U>=X)K=P[U-X];if(z=W[U*2],J.opt_len+=z*(F+K),q)J.static_len+=z*(V[U*2+1]+K)}if(I===0)return;do{F=Z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[Z]--,I-=2}while(I>0);for(F=Z;F!==0;F--){U=J.bl_count[F];while(U!==0){if(k=J.heap[--Y],k>G)continue;if(W[k*2+1]!==F)J.opt_len+=(F-W[k*2+1])*W[k*2],W[k*2+1]=F;U--}}},MJ=(J,Q,W)=>{let G=Array(j6+1),V=0,q,P;for(q=1;q<=j6;q++)V=V+W[q-1]<<1,G[q]=V;for(P=0;P<=Q;P++){let X=J[P*2+1];if(X===0)continue;J[P*2]=jJ(G[X]++,X)}},v5=()=>{let J,Q,W,G,V,q=Array(j6+1);W=0;for(G=0;G<G8-1;G++){X8[G]=W;for(J=0;J<1<<r0[G];J++)s6[W++]=G}s6[W-1]=G,V=0;for(G=0;G<16;G++){R0[G]=V;for(J=0;J<1<<C0[G];J++)a6[V++]=G}V>>=7;for(;G<T6;G++){R0[G]=V<<7;for(J=0;J<1<<C0[G]-7;J++)a6[256+V++]=G}for(Q=0;Q<=j6;Q++)q[Q]=0;J=0;while(J<=143)X6[J*2+1]=8,J++,q[8]++;while(J<=255)X6[J*2+1]=9,J++,q[9]++;while(J<=279)X6[J*2+1]=7,J++,q[7]++;while(J<=287)X6[J*2+1]=8,J++,q[8]++;MJ(X6,o6+1,q);for(J=0;J<T6;J++)i6[J*2+1]=5,i6[J*2]=jJ(J,5);HJ=new y0(X6,r0,G0+1,o6,j6),$J=new y0(i6,C0,0,T6,j6),kJ=new y0([],A5,0,V8,D5)},CJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<T6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},RJ=(J)=>{if(J.bi_valid>8)t6(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},O8=(J,Q,W,G)=>{let V=Q*2,q=W*2;return J[V]<J[q]||J[V]===J[q]&&G[Q]<=G[W]},b0=(J,Q,W)=>{let G=J.heap[W],V=W<<1;while(V<=J.heap_len){if(V<J.heap_len&&O8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(O8(Q,G,J.heap[V],J.depth))break;J.heap[W]=J.heap[V],W=V,V<<=1}J.heap[W]=G},x8=(J,Q,W)=>{let G,V,q=0,P,X;if(J.sym_next!==0)do if(G=J.pending_buf[J.sym_buf+q++]&255,G+=(J.pending_buf[J.sym_buf+q++]&255)<<8,V=J.pending_buf[J.sym_buf+q++],G===0)W6(J,V,Q);else{if(P=s6[V],W6(J,P+G0+1,Q),X=r0[P],X!==0)V-=X8[P],n(J,V,X);if(G--,P=BJ(G),W6(J,P,W),X=C0[P],X!==0)G-=R0[P],n(J,G,X)}while(q<J.sym_next);W6(J,q8,Q)},o0=(J,Q)=>{let W=Q.dyn_tree,G=Q.stat_desc.static_tree,V=Q.stat_desc.has_stree,q=Q.stat_desc.elems,P,X,Z=-1,Y;J.heap_len=0,J.heap_max=UJ;for(P=0;P<q;P++)if(W[P*2]!==0)J.heap[++J.heap_len]=Z=P,J.depth[P]=0;else W[P*2+1]=0;while(J.heap_len<2)if(Y=J.heap[++J.heap_len]=Z<2?++Z:0,W[Y*2]=1,J.depth[Y]=0,J.opt_len--,V)J.static_len-=G[Y*2+1];Q.max_code=Z;for(P=J.heap_len>>1;P>=1;P--)b0(J,W,P);Y=q;do P=J.heap[1],J.heap[1]=J.heap[J.heap_len--],b0(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=P,J.heap[--J.heap_max]=X,W[Y*2]=W[P*2]+W[X*2],J.depth[Y]=(J.depth[P]>=J.depth[X]?J.depth[P]:J.depth[X])+1,W[P*2+1]=W[X*2+1]=Y,J.heap[1]=Y++,b0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],S5(J,Q),MJ(W,Z,J.bl_count)},D8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;Q[(W+1)*2+1]=65535;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==V)J.bl_tree[q*2]++;J.bl_tree[KJ*2]++}else if(X<=10)J.bl_tree[FJ*2]++;else J.bl_tree[ZJ*2]++;if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},A8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)do W6(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==V)W6(J,q,J.bl_tree),X--;W6(J,KJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,FJ,J.bl_tree),n(J,X-3,3);else W6(J,ZJ,J.bl_tree),n(J,X-11,7);if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},T5=(J)=>{let Q;D8(J,J.dyn_ltree,J.l_desc.max_code),D8(J,J.dyn_dtree,J.d_desc.max_code),o0(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[zJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},g5=(J,Q,W,G)=>{let V;n(J,Q-257,5),n(J,W-1,5),n(J,G-4,4);for(V=0;V<G;V++)n(J,J.bl_tree[zJ[V]*2+1],3);A8(J,J.dyn_ltree,Q-1),A8(J,J.dyn_dtree,W-1)},E5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<G0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},w8=!1,y5=(J)=>{if(!w8)v5(),w8=!0;J.l_desc=new f0(J.dyn_ltree,HJ),J.d_desc=new f0(J.dyn_dtree,$J),J.bl_desc=new f0(J.bl_tree,kJ),J.bi_buf=0,J.bi_valid=0,CJ(J)},LJ=(J,Q,W,G)=>{if(n(J,(L5<<1)+(G?1:0),3),RJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},f5=(J)=>{n(J,PJ<<1,3),W6(J,q8,X6),N5(J)},b5=(J,Q,W,G)=>{let V,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=E5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=T5(J),V=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=V)V=q}else V=q=W+5;if(W+4<=V&&Q!==-1)LJ(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(PJ<<1)+(G?1:0),3),x8(J,X6,i6);else n(J,(I5<<1)+(G?1:0),3),g5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),x8(J,J.dyn_ltree,J.dyn_dtree);if(CJ(J),G)RJ(J)},h5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s6[W]+G0+1)*2]++,J.dyn_dtree[BJ(Q)*2]++;return J.sym_next===J.sym_end},p5=y5,u5=LJ,m5=b5,_5=h5,c5=f5,d5={_tr_init:p5,_tr_stored_block:u5,_tr_flush_block:m5,_tr_tally:_5,_tr_align:c5},l5=(J,Q,W,G)=>{let V=J&65535|0,q=J>>>16&65535|0,P=0;while(W!==0){P=W>2000?2000:W,W-=P;do V=V+Q[G++]|0,q=q+V|0;while(--P);V%=65521,q%=65521}return V|q<<16|0},e6=l5,i5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var G=0;G<8;G++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},n5=new Uint32Array(i5()),r5=(J,Q,W,G)=>{let V=n5,q=G+W;J^=-1;for(let P=G;P<q;P++)J=J>>>8^V[(J^Q[P])&255];return J^-1},c=r5,R6={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},O6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:o5,_tr_stored_block:a0,_tr_flush_block:a5,_tr_tally:z6,_tr_align:s5}=d5,{Z_NO_FLUSH:H6,Z_PARTIAL_FLUSH:t5,Z_FULL_FLUSH:e5,Z_FINISH:a,Z_BLOCK:N8,Z_OK:d,Z_STREAM_END:S8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:J1,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:W1,Z_FILTERED:Q1,Z_HUFFMAN_ONLY:$0,Z_RLE:G1,Z_FIXED:V1,Z_DEFAULT_STRATEGY:q1,Z_UNKNOWN:X1,Z_DEFLATED:O0}=O6,Y1=9,P1=15,U1=8,K1=29,F1=256,s0=F1+1+K1,Z1=30,z1=19,H1=2*s0+1,$1=15,g=3,Z6=258,G6=Z6+g+1,k1=32,g6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,M6=113,d6=666,i=1,f6=2,L6=3,b6=4,B1=3,C6=(J,Q)=>{return J.msg=R6[Q],Q},v8=(J)=>{return J*2-(J>4?9:0)},F6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},j1=(J)=>{let Q,W,G,V=J.w_size;Q=J.hash_size,G=Q;do W=J.head[--G],J.head[G]=W>=V?W-V:0;while(--Q);Q=V,G=Q;do W=J.prev[--G],J.prev[G]=W>=V?W-V:0;while(--Q)},M1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,$6=M1,r=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{a5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},E=(J,Q)=>{J.pending_buf[J.pending++]=Q},c6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,G)=>{let V=J.avail_in;if(V>G)V=G;if(V===0)return 0;if(J.avail_in-=V,Q.set(J.input.subarray(J.next_in,J.next_in+V),W),J.state.wrap===1)J.adler=e6(J.adler,Q,V,W);else if(J.state.wrap===2)J.adler=c(J.adler,Q,V,W);return J.next_in+=V,J.total_in+=V,V},IJ=(J,Q)=>{let{max_chain_length:W,strstart:G}=J,V,q,P=J.prev_length,X=J.nice_match,Z=J.strstart>J.w_size-G6?J.strstart-(J.w_size-G6):0,Y=J.window,U=J.w_mask,k=J.prev,F=J.strstart+Z6,K=Y[G+P-1],z=Y[G+P];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(V=Q,Y[V+P]!==z||Y[V+P-1]!==K||Y[V]!==Y[G]||Y[++V]!==Y[G+1])continue;G+=2,V++;do;while(Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&G<F);if(q=Z6-(F-G),G=F-Z6,q>P){if(J.match_start=Q,P=q,q>=X)break;K=Y[G+P-1],z=Y[G+P]}}while((Q=k[Q&U])>Z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},E6=(J)=>{let Q=J.w_size,W,G,V;do{if(G=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G6)){if(J.window.set(J.window.subarray(Q,Q+Q-G),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;j1(J),G+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,G),J.lookahead+=W,J.lookahead+J.insert>=g){V=J.strstart-J.insert,J.ins_h=J.window[V],J.ins_h=$6(J,J.ins_h,J.window[V+1]);while(J.insert)if(J.ins_h=$6(J,J.ins_h,J.window[V+g-1]),J.prev[V&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=V,V++,J.insert--,J.lookahead+J.insert<g)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},OJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,G,V,q,P=0,X=J.strm.avail_in;do{if(G=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,V=J.strstart-J.block_start,G>V+J.strm.avail_in)G=V+J.strm.avail_in;if(G>q)G=q;if(G<W&&(G===0&&Q!==a||Q===H6||G!==V+J.strm.avail_in))break;if(P=Q===a&&G===V+J.strm.avail_in?1:0,a0(J,0,0,P),J.pending_buf[J.pending-4]=G,J.pending_buf[J.pending-3]=G>>8,J.pending_buf[J.pending-2]=~G,J.pending_buf[J.pending-1]=~G>>8,r(J.strm),V){if(V>G)V=G;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+V),J.strm.next_out),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V,J.block_start+=V,G-=V}if(G)Q8(J.strm,J.strm.output,J.strm.next_out,G),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G}while(P===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(P)return b6;if(Q!==H6&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f6;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,V=J.strstart-J.block_start,V>=W||(V||Q===a)&&Q!==H6&&J.strm.avail_in===0&&V<=q)G=V>q?q:V,P=Q===a&&J.strm.avail_in===0&&G===V?1:0,a0(J,J.block_start,G,P),J.block_start+=G,r(J.strm);return P?L6:i},p0=(J,Q)=>{let W,G;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=g)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G6)J.match_length=IJ(J,W);if(J.match_length>=g)if(G=z6(J,J.strstart-J.match_start,J.match_length-g),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=g){J.match_length--;do J.strstart++,J.ins_h=$6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=$6(J,J.ins_h,J.window[J.strstart+1]);else G=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(G){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<g-1?J.strstart:g-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},S6=(J,Q)=>{let W,G,V;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=g)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=g-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=IJ(J,W),J.match_length<=5&&(J.strategy===Q1||J.match_length===g&&J.strstart-J.match_start>4096))J.match_length=g-1}if(J.prev_length>=g&&J.match_length<=J.prev_length){V=J.strstart+J.lookahead-g,G=z6(J,J.strstart-1-J.prev_match,J.prev_length-g),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=V)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=g-1,J.strstart++,G){if(o(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(G=z6(J,0,J.window[J.strstart-1]),G)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return i}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)G=z6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<g-1?J.strstart:g-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},C1=(J,Q)=>{let W,G,V,q,P=J.window;for(;;){if(J.lookahead<=Z6){if(E6(J),J.lookahead<=Z6&&Q===H6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=g&&J.strstart>0){if(V=J.strstart-1,G=P[V],G===P[++V]&&G===P[++V]&&G===P[++V]){q=J.strstart+Z6;do;while(G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&V<q);if(J.match_length=Z6-(q-V),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=g)W=z6(J,1,J.match_length-g),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},R1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(E6(J),J.lookahead===0){if(Q===H6)return i;break}}if(J.match_length=0,W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6};function J6(J,Q,W,G,V){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=G,this.func=V}var l6=[new J6(0,0,0,0,OJ),new J6(4,4,8,4,p0),new J6(4,5,16,8,p0),new J6(4,6,32,32,p0),new J6(4,4,16,16,S6),new J6(8,16,32,32,S6),new J6(8,16,128,128,S6),new J6(8,32,128,256,S6),new J6(32,128,258,1024,S6),new J6(32,258,258,4096,S6)],L1=(J)=>{J.window_size=2*J.w_size,F6(J.head),J.max_lazy_match=l6[J.level].max_lazy,J.good_match=l6[J.level].good_length,J.nice_match=l6[J.level].nice_length,J.max_chain_length=l6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=g-1,J.match_available=0,J.ins_h=0};function I1(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=O0,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(H1*2),this.dyn_dtree=new Uint16Array((2*Z1+1)*2),this.bl_tree=new Uint16Array((2*z1+1)*2),F6(this.dyn_ltree),F6(this.dyn_dtree),F6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array($1+1),this.heap=new Uint16Array(2*s0+1),F6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),F6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var V0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==M6&&Q.status!==d6)return 1;return 0},xJ=(J)=>{if(V0(J))return C6(J,Q6);J.total_in=J.total_out=0,J.data_type=X1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:M6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,o5(Q),d},DJ=(J)=>{let Q=xJ(J);if(Q===d)L1(J.state);return Q},O1=(J,Q)=>{if(V0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},AJ=(J,Q,W,G,V,q)=>{if(!J)return Q6;let P=1;if(Q===W1)Q=6;if(G<0)P=0,G=-G;else if(G>15)P=2,G-=16;if(V<1||V>Y1||W!==O0||G<8||G>15||Q<0||Q>9||q<0||q>V1||G===8&&P!==1)return C6(J,Q6);if(G===8)G=9;let X=new I1;return J.state=X,X.strm=J,X.status=g6,X.wrap=P,X.gzhead=null,X.w_bits=G,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=V+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+g-1)/g),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<V+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,DJ(J)},x1=(J,Q)=>{return AJ(J,Q,O0,P1,U1,q1)},D1=(J,Q)=>{if(V0(J)||Q>N8||Q<0)return J?C6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==a)return C6(J,J.avail_out===0?h0:Q6);let G=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&v8(Q)<=v8(G)&&Q!==a)return C6(J,h0);if(W.status===d6&&J.avail_in!==0)return C6(J,h0);if(W.status===g6&&W.wrap===0)W.status=M6;if(W.status===g6){let V=O0+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=$0||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(V|=q<<6,W.strstart!==0)V|=k1;if(V+=31-V%31,c6(W,V),W.strstart!==0)c6(W,J.adler>>>16),c6(W,J.adler&65535);if(J.adler=1,W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,E(W,31),E(W,139),E(W,8),!W.gzhead){if(E(W,0),E(W,0),E(W,0),E(W,0),E(W,0),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,B1),W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(E(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),E(W,W.gzhead.time&255),E(W,W.gzhead.time>>8&255),E(W,W.gzhead.time>>16&255),E(W,W.gzhead.time>>24&255),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)E(W,W.gzhead.extra.length&255),E(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=c(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=t0}if(W.status===t0){if(W.gzhead.extra){let V=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;V=0,q-=X}let P=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(P.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.name){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}E(W,J.adler&255),E(W,J.adler>>8&255),J.adler=0}if(W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H6&&W.status!==d6){let V=W.level===0?OJ(W,Q):W.strategy===$0?R1(W,Q):W.strategy===G1?C1(W,Q):l6[W.level].func(W,Q);if(V===L6||V===b6)W.status=d6;if(V===i||V===L6){if(J.avail_out===0)W.last_flush=-1;return d}if(V===f6){if(Q===t5)s5(W);else if(Q!==N8){if(a0(W,0,0,!1),Q===e5){if(F6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return S8;if(W.wrap===2)E(W,J.adler&255),E(W,J.adler>>8&255),E(W,J.adler>>16&255),E(W,J.adler>>24&255),E(W,J.total_in&255),E(W,J.total_in>>8&255),E(W,J.total_in>>16&255),E(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:S8},A1=(J)=>{if(V0(J))return Q6;let Q=J.state.status;return J.state=null,Q===M6?C6(J,J1):d},w1=(J,Q)=>{let W=Q.length;if(V0(J))return Q6;let G=J.state,V=G.wrap;if(V===2||V===1&&G.status!==g6||G.lookahead)return Q6;if(V===1)J.adler=e6(J.adler,Q,W,0);if(G.wrap=0,W>=G.w_size){if(V===0)F6(G.head),G.strstart=0,G.block_start=0,G.insert=0;let Z=new Uint8Array(G.w_size);Z.set(Q.subarray(W-G.w_size,W),0),Q=Z,W=G.w_size}let{avail_in:q,next_in:P,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,E6(G);while(G.lookahead>=g){let Z=G.strstart,Y=G.lookahead-(g-1);do G.ins_h=$6(G,G.ins_h,G.window[Z+g-1]),G.prev[Z&G.w_mask]=G.head[G.ins_h],G.head[G.ins_h]=Z,Z++;while(--Y);G.strstart=Z,G.lookahead=g-1,E6(G)}return G.strstart+=G.lookahead,G.block_start=G.strstart,G.insert=G.lookahead,G.lookahead=0,G.match_length=G.prev_length=g-1,G.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,G.wrap=V,d},N1=x1,S1=AJ,v1=DJ,T1=xJ,g1=O1,E1=D1,y1=A1,f1=w1,b1="pako deflate (from Nodeca project)",n6={deflateInit:N1,deflateInit2:S1,deflateReset:v1,deflateResetKeep:T1,deflateSetHeader:g1,deflate:E1,deflateEnd:y1,deflateSetDictionary:f1,deflateInfo:b1},h1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},p1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let G in W)if(h1(W,G))J[G]=W[G]}return J},u1=(J)=>{let Q=0;for(let G=0,V=J.length;G<V;G++)Q+=J[G].length;let W=new Uint8Array(Q);for(let G=0,V=0,q=J.length;G<q;G++){let P=J[G];W.set(P,V),V+=P.length}return W},x0={assign:p1,flattenChunks:u1},wJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){wJ=!1}var J0=new Uint8Array(256);for(let J=0;J<256;J++)J0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J0[254]=J0[254]=1;var m1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,G,V,q,P=J.length,X=0;for(V=0;V<P;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,V=0;q<X;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},_1=(J,Q)=>{if(Q<65534){if(J.subarray&&wJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let G=0;G<Q;G++)W+=String.fromCharCode(J[G]);return W},c1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let G,V,q=Array(W*2);for(V=0,G=0;G<W;){let P=J[G++];if(P<128){q[V++]=P;continue}let X=J0[P];if(X>4){q[V++]=65533,G+=X-1;continue}P&=X===2?31:X===3?15:7;while(X>1&&G<W)P=P<<6|J[G++]&63,X--;if(X>1){q[V++]=65533;continue}if(P<65536)q[V++]=P;else P-=65536,q[V++]=55296|P>>10&1023,q[V++]=56320|P&1023}return _1(q,V)},d1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J0[J[W]]>Q?W:Q},W0={string2buf:m1,buf2string:c1,utf8border:d1};function l1(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var NJ=l1,SJ=Object.prototype.toString,{Z_NO_FLUSH:i1,Z_SYNC_FLUSH:n1,Z_FULL_FLUSH:r1,Z_FINISH:o1,Z_OK:L0,Z_STREAM_END:a1,Z_DEFAULT_COMPRESSION:s1,Z_DEFAULT_STRATEGY:t1,Z_DEFLATED:e1}=O6;function q0(J){this.options=x0.assign({level:s1,method:e1,chunkSize:16384,windowBits:15,memLevel:8,strategy:t1},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=n6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==L0)throw Error(R6[W]);if(Q.header)n6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let G;if(typeof Q.dictionary==="string")G=W0.string2buf(Q.dictionary);else if(SJ.call(Q.dictionary)==="[object ArrayBuffer]")G=new Uint8Array(Q.dictionary);else G=Q.dictionary;if(W=n6.deflateSetDictionary(this.strm,G),W!==L0)throw Error(R6[W]);this._dict_set=!0}}q0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?o1:i1;if(typeof J==="string")W.input=W0.string2buf(J);else if(SJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if((q===n1||q===r1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(V=n6.deflate(W,q),V===a1){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return V=n6.deflateEnd(this.strm),this.onEnd(V),this.ended=!0,V===L0}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q0.prototype.onData=function(J){this.chunks.push(J)};q0.prototype.onEnd=function(J){if(J===L0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new q0(Q);if(W.push(J,!0),W.err)throw W.msg||R6[W.err];return W.result}function JW(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function WW(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var QW=q0,GW=P8,VW=JW,qW=WW,XW=O6,YW={Deflate:QW,deflate:GW,deflateRaw:VW,gzip:qW,constants:XW},k0=16209,PW=16191,UW=function(Q,W){let G,V,q,P,X,Z,Y,U,k,F,K,z,I,M,j,R,L,$,S,u,C,v,w,x,N=Q.state;G=Q.next_in,w=Q.input,V=G+(Q.avail_in-5),q=Q.next_out,x=Q.output,P=q-(W-Q.avail_out),X=q+(Q.avail_out-257),Z=N.dmax,Y=N.wsize,U=N.whave,k=N.wnext,F=N.window,K=N.hold,z=N.bits,I=N.lencode,M=N.distcode,j=(1<<N.lenbits)-1,R=(1<<N.distbits)-1;J:do{if(z<15)K+=w[G++]<<z,z+=8,K+=w[G++]<<z,z+=8;L=I[K&j];W:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$===0)x[q++]=L&65535;else if($&16){if(S=L&65535,$&=15,$){if(z<$)K+=w[G++]<<z,z+=8;S+=K&(1<<$)-1,K>>>=$,z-=$}if(z<15)K+=w[G++]<<z,z+=8,K+=w[G++]<<z,z+=8;L=M[K&R];Q:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$&16){if(u=L&65535,$&=15,z<$){if(K+=w[G++]<<z,z+=8,z<$)K+=w[G++]<<z,z+=8}if(u+=K&(1<<$)-1,u>Z){Q.msg="invalid distance too far back",N.mode=k0;break J}if(K>>>=$,z-=$,$=q-P,u>$){if($=u-$,$>U){if(N.sane){Q.msg="invalid distance too far back",N.mode=k0;break J}}if(C=0,v=F,k===0){if(C+=Y-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-u,v=x}}else if(k<$){if(C+=Y+k-$,$-=k,$<S){S-=$;do x[q++]=F[C++];while(--$);if(C=0,k<S){$=k,S-=$;do x[q++]=F[C++];while(--$);C=q-u,v=x}}}else if(C+=k-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-u,v=x}while(S>2)x[q++]=v[C++],x[q++]=v[C++],x[q++]=v[C++],S-=3;if(S){if(x[q++]=v[C++],S>1)x[q++]=v[C++]}}else{C=q-u;do x[q++]=x[C++],x[q++]=x[C++],x[q++]=x[C++],S-=3;while(S>2);if(S){if(x[q++]=x[C++],S>1)x[q++]=x[C++]}}}else if(($&64)===0){L=M[(L&65535)+(K&(1<<$)-1)];continue Q}else{Q.msg="invalid distance code",N.mode=k0;break J}break}}else if(($&64)===0){L=I[(L&65535)+(K&(1<<$)-1)];continue W}else if($&32){N.mode=PW;break J}else{Q.msg="invalid literal/length code",N.mode=k0;break J}break}}while(G<V&&q<X);S=z>>3,G-=S,z-=S<<3,K&=(1<<z)-1,Q.next_in=G,Q.next_out=q,Q.avail_in=G<V?5+(V-G):5-(G-V),Q.avail_out=q<X?257+(X-q):257-(q-X),N.hold=K,N.bits=z;return},v6=15,T8=852,g8=592,E8=0,u0=1,y8=2,KW=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),FW=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ZW=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),zW=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),HW=(J,Q,W,G,V,q,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,M=0,j=0,R=0,L,$,S,u,C,v=null,w,x=new Uint16Array(v6+1),N=new Uint16Array(v6+1),V6=null,h6,e,P6;for(Y=0;Y<=v6;Y++)x[Y]=0;for(U=0;U<G;U++)x[Q[W+U]]++;K=Z;for(F=v6;F>=1;F--)if(x[F]!==0)break;if(K>F)K=F;if(F===0)return V[q++]=20971520,V[q++]=20971520,X.bits=1,0;for(k=1;k<F;k++)if(x[k]!==0)break;if(K<k)K=k;M=1;for(Y=1;Y<=v6;Y++)if(M<<=1,M-=x[Y],M<0)return-1;if(M>0&&(J===E8||F!==1))return-1;N[1]=0;for(Y=1;Y<v6;Y++)N[Y+1]=N[Y]+x[Y];for(U=0;U<G;U++)if(Q[W+U]!==0)P[N[Q[W+U]]++]=U;if(J===E8)v=V6=P,w=20;else if(J===u0)v=KW,V6=FW,w=257;else v=ZW,V6=zW,w=0;if(R=0,U=0,Y=k,C=q,z=K,I=0,S=-1,j=1<<K,u=j-1,J===u0&&j>T8||J===y8&&j>g8)return 1;for(;;){if(h6=Y-I,P[U]+1<w)e=0,P6=P[U];else if(P[U]>=w)e=V6[P[U]-w],P6=v[P[U]-w];else e=96,P6=0;L=1<<Y-I,$=1<<z,k=$;do $-=L,V[C+(R>>I)+$]=h6<<24|e<<16|P6|0;while($!==0);L=1<<Y-1;while(R&L)L>>=1;if(L!==0)R&=L-1,R+=L;else R=0;if(U++,--x[Y]===0){if(Y===F)break;Y=Q[W+P[U]]}if(Y>K&&(R&u)!==S){if(I===0)I=K;C+=k,z=Y-I,M=1<<z;while(z+I<F){if(M-=x[z+I],M<=0)break;z++,M<<=1}if(j+=1<<z,J===u0&&j>T8||J===y8&&j>g8)return 1;S=R&u,V[S]=K<<24|z<<16|C-q|0}}if(R!==0)V[C+R]=Y-I<<24|4194304|0;return X.bits=K,0},r6=HW,$W=0,vJ=1,TJ=2,{Z_FINISH:f8,Z_BLOCK:kW,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:BW,Z_NEED_DICT:jW,Z_STREAM_ERROR:s,Z_DATA_ERROR:gJ,Z_MEM_ERROR:EJ,Z_BUF_ERROR:MW,Z_DEFLATED:b8}=O6,D0=16180,h8=16181,p8=16182,u8=16183,m8=16184,_8=16185,c8=16186,d8=16187,l8=16188,i8=16189,I0=16190,q6=16191,m0=16192,n8=16193,_0=16194,r8=16195,o8=16196,a8=16197,s8=16198,j0=16199,M0=16200,t8=16201,e8=16202,JJ=16203,WJ=16204,QJ=16205,c0=16206,GJ=16207,VJ=16208,h=16209,yJ=16210,fJ=16211,CW=852,RW=592,LW=15,IW=LW,qJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function OW(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var x6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>fJ)return 1;return 0},bJ=(J)=>{if(x6(J))return s;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=D0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(CW),Q.distcode=Q.distdyn=new Int32Array(RW),Q.sane=1,Q.back=-1,I6},hJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,bJ(J)},pJ=(J,Q)=>{let W;if(x6(J))return s;let G=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(G.window!==null&&G.wbits!==Q)G.window=null;return G.wrap=W,G.wbits=Q,hJ(J)},uJ=(J,Q)=>{if(!J)return s;let W=new OW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let G=pJ(J,Q);if(G!==I6)J.state=null;return G},xW=(J)=>{return uJ(J,IW)},XJ=!0,d0,l0,DW=(J)=>{if(XJ){d0=new Int32Array(512),l0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r6(vJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(TJ,J.lens,0,32,l0,0,J.work,{bits:5}),XJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},mJ=(J,Q,W,G)=>{let V,q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(G>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(V=q.wsize-q.wnext,V>G)V=G;if(q.window.set(Q.subarray(W-G,W-G+V),q.wnext),G-=V,G)q.window.set(Q.subarray(W-G,W),0),q.wnext=G,q.whave=q.wsize;else{if(q.wnext+=V,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=V}}return 0},AW=(J,Q)=>{let W,G,V,q,P,X,Z,Y,U,k,F,K,z,I,M=0,j,R,L,$,S,u,C,v,w=new Uint8Array(4),x,N,V6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(x6(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q6)W.mode=m0;P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,k=X,F=Z,v=I6;J:for(;;)switch(W.mode){case D0:if(W.wrap===0){W.mode=m0;break}while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&2&&Y===35615){if(W.wbits===0)W.wbits=15;W.check=0,w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0),Y=0,U=0,W.mode=h8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((Y&255)<<8)+(Y>>8))%31){J.msg="incorrect header check",W.mode=h;break}if((Y&15)!==b8){J.msg="unknown compression method",W.mode=h;break}if(Y>>>=4,U-=4,C=(Y&15)+8,W.wbits===0)W.wbits=C;if(C>15||C>W.wbits){J.msg="invalid window size",W.mode=h;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?i8:q6,Y=0,U=0;break;case h8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==b8){J.msg="unknown compression method",W.mode=h;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=h;break}if(W.head)W.head.text=Y>>8&1;if(W.flags&512&&W.wrap&4)w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0);Y=0,U=0,W.mode=p8;case p8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.time=Y;if(W.flags&512&&W.wrap&4)w[0]=Y&255,w[1]=Y>>>8&255,w[2]=Y>>>16&255,w[3]=Y>>>24&255,W.check=c(W.check,w,4,0);Y=0,U=0,W.mode=u8;case u8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.xflags=Y&255,W.head.os=Y>>8;if(W.flags&512&&W.wrap&4)w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0);Y=0,U=0,W.mode=m8;case m8:if(W.flags&1024){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.length=Y,W.head)W.head.extra_len=Y;if(W.flags&512&&W.wrap&4)w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=_8;case _8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(C=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(G.subarray(q,q+K),C)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=c8;case c8:if(W.flags&2048){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.name+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=d8;case d8:if(W.flags&4096){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.comment+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.comment=null;W.mode=l8;case l8:if(W.flags&512){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.check&65535)){J.msg="header crc mismatch",W.mode=h;break}Y=0,U=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q6;break;case i8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}J.adler=W.check=qJ(Y),Y=0,U=0,W.mode=I0;case I0:if(W.havedict===0)return J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,jW;J.adler=W.check=1,W.mode=q6;case q6:if(Q===kW||Q===B0)break J;case m0:if(W.last){Y>>>=U&7,U-=U&7,W.mode=c0;break}while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}switch(W.last=Y&1,Y>>>=1,U-=1,Y&3){case 0:W.mode=n8;break;case 1:if(DW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=o8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case n8:Y>>>=U&7,U-=U&7;while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((Y&65535)!==(Y>>>16^65535)){J.msg="invalid stored block lengths",W.mode=h;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=r8;case r8:if(K=W.length,K){if(K>X)K=X;if(K>Z)K=Z;if(K===0)break J;V.set(G.subarray(q,q+K),P),X-=K,q+=K,Z-=K,P+=K,W.length-=K;break}W.mode=q6;break;case o8:while(U<14){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.nlen=(Y&31)+257,Y>>>=5,U-=5,W.ndist=(Y&31)+1,Y>>>=5,U-=5,W.ncode=(Y&15)+4,Y>>>=4,U-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=h;break}W.have=0,W.mode=a8;case a8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.lens[V6[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[V6[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},v=r6($W,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,v){J.msg="invalid code lengths set",W.mode=h;break}W.have=0,W.mode=s8;case s8:while(W.have<W.nlen+W.ndist){for(;;){if(M=W.lencode[Y&(1<<W.lenbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(L<16)Y>>>=j,U-=j,W.lens[W.have++]=L;else{if(L===16){N=j+2;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(Y>>>=j,U-=j,W.have===0){J.msg="invalid bit length repeat",W.mode=h;break}C=W.lens[W.have-1],K=3+(Y&3),Y>>>=2,U-=2}else if(L===17){N=j+3;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=j,U-=j,C=0,K=3+(Y&7),Y>>>=3,U-=3}else{N=j+7;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=j,U-=j,C=0,K=11+(Y&127),Y>>>=7,U-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=h;break}while(K--)W.lens[W.have++]=C}}if(W.mode===h)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=h;break}if(W.lenbits=9,x={bits:W.lenbits},v=r6(vJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,v){J.msg="invalid literal/lengths set",W.mode=h;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},v=r6(TJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,v){J.msg="invalid distances set",W.mode=h;break}if(W.mode=j0,Q===B0)break J;case j0:W.mode=M0;case M0:if(X>=6&&Z>=258){if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,UW(J,F),P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,W.mode===q6)W.back=-1;break}W.back=0;for(;;){if(M=W.lencode[Y&(1<<W.lenbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(R&&(R&240)===0){$=j,S=R,u=L;for(;;){if(M=W.lencode[u+((Y&(1<<$+S)-1)>>$)],j=M>>>24,R=M>>>16&255,L=M&65535,$+j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,W.length=L,R===0){W.mode=QJ;break}if(R&32){W.back=-1,W.mode=q6;break}if(R&64){J.msg="invalid literal/length code",W.mode=h;break}W.extra=R&15,W.mode=t8;case t8:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.length+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=e8;case e8:for(;;){if(M=W.distcode[Y&(1<<W.distbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((R&240)===0){$=j,S=R,u=L;for(;;){if(M=W.distcode[u+((Y&(1<<$+S)-1)>>$)],j=M>>>24,R=M>>>16&255,L=M&65535,$+j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,R&64){J.msg="invalid distance code",W.mode=h;break}W.offset=L,W.extra=R&15,W.mode=JJ;case JJ:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.offset+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=h;break}W.mode=WJ;case WJ:if(Z===0)break J;if(K=F-Z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=h;break}}if(K>W.wnext)K-=W.wnext,z=W.wsize-K;else z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=V,z=P-W.offset,K=W.length;if(K>Z)K=Z;Z-=K,W.length-=K;do V[P++]=I[z++];while(--K);if(W.length===0)W.mode=M0;break;case QJ:if(Z===0)break J;V[P++]=W.length,Z--,W.mode=M0;break;case c0:if(W.wrap){while(U<32){if(X===0)break J;X--,Y|=G[q++]<<U,U+=8}if(F-=Z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,P-F):e6(W.check,V,F,P-F);if(F=Z,W.wrap&4&&(W.flags?Y:qJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=GJ;case GJ:if(W.wrap&&W.flags){while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=h;break}Y=0,U=0}W.mode=VJ;case VJ:v=BW;break J;case h:v=gJ;break J;case yJ:return EJ;case fJ:default:return s}if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,W.wsize||F!==J.avail_out&&W.mode<h&&(W.mode<c0||Q!==f8)){if(mJ(J,J.output,J.next_out,F-J.avail_out));}if(k-=J.avail_in,F-=J.avail_out,J.total_in+=k,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,J.next_out-F):e6(W.check,V,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q6?128:0)+(W.mode===j0||W.mode===_0?256:0),(k===0&&F===0||Q===f8)&&v===I6)v=MW;return v},wW=(J)=>{if(x6(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},NW=(J,Q)=>{if(x6(J))return s;let W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I6},SW=(J,Q)=>{let W=Q.length,G,V,q;if(x6(J))return s;if(G=J.state,G.wrap!==0&&G.mode!==I0)return s;if(G.mode===I0){if(V=1,V=e6(V,Q,W,0),V!==G.check)return gJ}if(q=mJ(J,Q,W,W),q)return G.mode=yJ,EJ;return G.havedict=1,I6},vW=hJ,TW=pJ,gW=bJ,EW=xW,yW=uJ,fW=AW,bW=wW,hW=NW,pW=SW,uW="pako inflate (from Nodeca project)",Y6={inflateReset:vW,inflateReset2:TW,inflateResetKeep:gW,inflateInit:EW,inflateInit2:yW,inflate:fW,inflateEnd:bW,inflateGetHeader:hW,inflateSetDictionary:pW,inflateInfo:uW};function mW(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var _W=mW,_J=Object.prototype.toString,{Z_NO_FLUSH:cW,Z_FINISH:dW,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:lW,Z_DATA_ERROR:YJ,Z_MEM_ERROR:iW}=O6;function X0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=Y6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(R6[W]);if(this.header=new _W,Y6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(_J.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=Y6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(R6[W])}}}X0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V=this.options.dictionary,q,P,X;if(this.ended)return!1;if(Q===~~Q)P=Q;else P=Q===!0?dW:cW;if(_J.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if(q=Y6.inflate(W,P),q===n0&&V){if(q=Y6.inflateSetDictionary(W,V),q===Q0)q=Y6.inflate(W,P);else if(q===YJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)Y6.inflateReset(W),q=Y6.inflate(W,P);switch(q){case lW:case YJ:case n0:case iW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===i0)if(this.options.to==="string"){let Z=W0.utf8border(W.output,W.next_out),Y=W.next_out-Z,U=W0.buf2string(W.output,Z);if(W.next_out=Y,W.avail_out=G-Y,Y)W.output.set(W.output.subarray(Z,Z+Y),0);this.onData(U)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q0&&X===0)continue;if(q===i0)return q=Y6.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X0.prototype.onData=function(J){this.chunks.push(J)};X0.prototype.onEnd=function(J){if(J===Q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function U8(J,Q){let W=new X0(Q);if(W.push(J),W.err)throw W.msg||R6[W.err];return W.result}function nW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var rW=X0,oW=U8,aW=nW,sW=U8,tW=O6,eW={Inflate:rW,inflate:oW,inflateRaw:aW,ungzip:sW,constants:tW},{Deflate:J7,deflate:W7,deflateRaw:Q7,gzip:G7}=YW,{Inflate:V7,inflate:q7,inflateRaw:X7,ungzip:Y7}=eW,P7=J7,U7=W7,K7=Q7,F7=G7,Z7=V7,z7=q7,H7=X7,$7=Y7,k7=O6,D6={Deflate:P7,deflate:U7,deflateRaw:K7,gzip:F7,Inflate:Z7,inflate:z7,inflateRaw:H7,ungzip:$7,constants:k7};function cJ(J,Q,W){let G=Q.timestamp;if(G?.physical>Date.now()+7200000)G={physical:Date.now()+7200000,logical:G.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:V,...q}=Q.value;return{resolved:!0,value:q,timestamp:G}}if(Q?.value?.priority!==void 0){let{priority:V,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:G};if(W.compare(G,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:G}}function dJ(J,Q=50){let W=`gdb_oplog_${J}`,G=[];function V(){try{let P=localStorage.getItem(W);G=P?JSON.parse(P):[]}catch(P){log.error("❌ GDB: Failed to load oplog from localStorage:",P),G=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(G))}catch(P){log.error("❌ GDB: Failed to save oplog to localStorage:",P)}}return V(),{remove(P){G=G.filter((X)=>X.id!==P),q()},add(P){if(G.push(P),G.length>Q)G.shift();q()},getDelta(P,X){if(!P)return[...G];return G.filter((Z)=>X(Z.timestamp,P)>0)},getOldest(){return G[0]},clear(){G=[],localStorage.removeItem(W)}}}var B7=()=>{let J=new Map,Q=async(U,k)=>{let F=J.get(U)??[];J.set(U,F);let K=F[F.length-1]??Promise.resolve(),z,I=new Promise((M)=>z=M);F.push(I);try{return await K,await k()}finally{if(F.shift(),z(),!F.length)J.delete(U)}},W=(U,k)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},k)??Q(U,k),G=async()=>{try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await U.removeEntry("~opfs-sync-test"),!!F}catch{return!1}},V="idb",q=(async()=>{if(await G()){V="sync";return}try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await U.removeEntry("~opfs-async-test"),V=F?"async":"idb"}catch{V="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,k=()=>U??=new Promise((F,K)=>{let z=indexedDB.open("opfs-fallback-db",1);z.onupgradeneeded=()=>z.result.createObjectStore("files"),z.onsuccess=()=>F(z.result),z.onerror=()=>K(z.error)});return{get:async(F)=>{let K=await k();return new Promise((z,I)=>{let j=K.transaction("files","readonly").objectStore("files").get(F);j.onsuccess=()=>z(j.result||new Uint8Array),j.onerror=()=>I(j.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,M)=>{let R=z.transaction("files","readwrite").objectStore("files").put(K,F);R.onsuccess=()=>I(),R.onerror=()=>M(R.error)})}}})(),Z=async(U)=>{await q;try{if(V==="idb"){let M=await X.get(U);self.postMessage({type:"loaded",name:U,data:M},[M.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let M=new Uint8Array;self.postMessage({type:"loaded",name:U,data:M},[M.buffer]);return}let K=async()=>{try{let M=await F.createSyncAccessHandle();try{let j=M.getSize(),R=new Uint8Array(j),L=M.read(R,{at:0}),$=R.slice(0,L);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{M.close()}}catch(M){if(M?.name==="NoModificationAllowedError"){let j=await F.getFile(),R=new Uint8Array(await j.arrayBuffer());self.postMessage({type:"loaded",name:U,data:R},[R.buffer])}else throw M}};if(V==="sync"){await W(U,K);return}let z=await F.getFile(),I=new Uint8Array(await z.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}catch(k){if(k?.name==="NotFoundError"){let F=new Uint8Array;self.postMessage({type:"loaded",name:U,data:F},[F.buffer]);return}self.postMessage({type:"error",name:U,message:k?.message??"Error reading file"})}},Y=async(U,k)=>{if(await q,!(k instanceof Uint8Array))return{type:"error",name:U,message:"Content must be a Uint8Array"};return W(U,async()=>{try{if(V==="idb")return await X.set(U,k),{type:"saved",name:U};let K=await(await P).getFileHandle(U,{create:!0});if(V==="sync"){let z=await K.createSyncAccessHandle();try{z.truncate(0),z.write(k,{at:0}),z.flush()}finally{z.close()}}else{let z=await K.createWritable();try{await z.write(k)}finally{await z.close()}}return{type:"saved",name:U}}catch(F){return{type:"error",name:U,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:k,name:F,content:K}=U;await q;let z={load:()=>Z(F),save:()=>Y(F,K)};try{let I=z[k],M=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(M&&M.type)self.postMessage(M)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},lJ=B7;var Y0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Object.values(J).some((V)=>typeof V==="object"?null.fieldSearch(V,G):W(V).includes(G))},field:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Array.isArray(J)?J.some((V)=>W(V).includes(G)):W(J).includes(G)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((G)=>W.createFilter(G,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((G)=>W.createFilter(G,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let G=W.createFilter(Q,W.allNodes),V=[...J.edges],q=new Set(V).add(J.id),P=[];while(V.length){let X=V.shift(),Z=W.allNodes[X];if(!Z)continue;if(G(Z))P.push(Z);Z.edges?.forEach((Y)=>!q.has(Y)&&q.add(Y)&&V.push(Y))}if(P.length)J._edgeResult=P;return P.length>0}},A0=(J,Q)=>Q.split(".").reduce((W,G)=>W&&typeof W==="object"&&(G in W)?W[G]:void 0,J),w0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([G,V])=>{if(G.startsWith("$"))return Y0[G](W,V,{createFilter:w0,allNodes:Q});let q=A0(W.value,G);if(q===void 0)q=A0(W,G);if(typeof V!=="object"||V===null)return Y0.$eq(q,V);return Object.entries(V).every(([P,X])=>{if(P==="$text")return Y0.$text.field(q,X);if(P==="$between"&&X.every((Z)=>Z instanceof Date))return Y0.$between(new Date(q),X);return Y0[P]?.(q,X,{createFilter:w0,allNodes:Q})??!1})})},K8=(J,Q)=>{let{$edge:W,...G}=Q.query||{},V=w0(G,J),q=Object.values(J).filter(V),X=[...W?(()=>{let Z=w0({$edge:W},J);q.forEach((U)=>Z(U));let Y=new Map;return q.forEach((U)=>{if(U._edgeResult)U._edgeResult.forEach((k)=>Y.set(k.id,k)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let Z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let k=A0(Y.value,Q.field),F=A0(U.value,Q.field);if(typeof k==="string"&&typeof F==="string")return k.localeCompare(F)*Z;return((k??0)-(F??0))*Z})}if(Q.$after){let Z=X.findIndex((Y)=>Y.id===Q.$after);X=Z>=0?X.slice(Z+1):[]}if(Q.$before){let Z=X.findIndex((Y)=>Y.id===Q.$before);X=Z>=0?X.slice(0,Z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function iJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number"){log.warn("⚠️ HybridClock.update received an invalid remote timestamp.",W);return}J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,G){if(!W&&!G)return 0;if(!W)return-1;if(!G)return 1;if(W.physical>G.physical)return 1;if(W.physical<G.physical)return-1;if(W.logical>G.logical)return 1;if(W.logical<G.logical)return-1;return 0}}}var j7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},nJ=(J,Q)=>J.length===Q.length&&J.every((W,G)=>W===Q[G]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,rJ=(J,Q=16)=>{let W=null,G=null;return(...V)=>{if(!G)G={},G.promise=new Promise((P,X)=>(G.resolve=P,G.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let q=async()=>{W=null;let P=G;G=null;try{P.resolve(await J(...V))}catch(X){P.reject(X)}};return W="requestIdleCallback"in window?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),G.promise}},M7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function C7(){if(log.info(navigator?.storage?.getDirectory?"✅ OPFS is enabled.":"\uD83D\uDEAB OPFS is not available."),navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function R7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,G){let V=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:V?.edges?[...V.edges]:[],timestamp:G}},get(Q){return J.nodes[Q]||null},link(Q,W,G){let V=J.nodes[Q],q=J.nodes[W];if(V&&q&&!V.edges.includes(W))J.nodes[Q]={...V,edges:[...V.edges,W],timestamp:G}},getAllNodes(){return Object.values(J.nodes)},serialize(){return D6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=B6(D6.inflate(new Uint8Array(Q)))}}}async function oJ(J,Q={}){Q.debug&&(globalThis.__gdbDebug=!0),log.info("\x1B[36m⚡ GenosDB: Empowering distributed graph databases with real-time synchronization and scalability. Learn more: https://github.com/estebanrfp/gdb ⚡\x1B[0m");let{rtc:W=!1,password:G,sm:V=!1,audit:q=!1,ii:P=!1,rx:X=!1,ai:Z=!1,geo:Y=!1,nlq:U=!1,saveDelay:k=200,oplogSize:F=20}=Q,K=R7(),z=iJ(),I=dJ(J,F),M=[],j=null,R=[],L=null,$=null,S=null,u=null,C=[],v={};Object.defineProperties(v,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>S},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(B)=>K.get(B)})},worker:{get:()=>L},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function w(B,A){try{let O=await j7[B](),f=A&&typeof A==="object"?A:{},_=await O.init?.(v,O,f);if(_)Object.assign(v,_);return O}catch(O){throw log.error(`❌ Initialization of ${B} failed:`,O),O}}function x(){let B=localStorage.getItem(`${J}_time`);j=B?JSON.parse(B):null}function N(B){j=B,localStorage.setItem(`${J}_time`,JSON.stringify(B))}function V6(){try{let B=URL.createObjectURL(new Blob([`(${lJ.toString()})()`],{type:"application/javascript"}));L=new Worker(B),URL.revokeObjectURL(B),L.addEventListener("message",({data:A})=>log.info(`\uD83D\uDCBE ${A.name} ${A.type}`)),log.info("⚙️ Worker initialized successfully.")}catch({message:B}){log.error("❌ Failed to initialize worker:",B)}}function h6(){let B={...K.nodes};R.forEach((A)=>A(B))}let e=M7(()=>h6()),P6=rJ(async()=>{let B=C.splice(0,C.length);if(!B.length)return!1;return await $.send(B),!0},16);async function Z8(){try{let A=await((O)=>new Promise((f,_)=>{let b=async({data:H})=>{if(H.type==="loaded"&&H.name===O)L.removeEventListener("message",b),f(new Uint8Array(H.data));else if(H.type==="error")L.removeEventListener("message",b),_(Error(H.message||"Unknown error"))};L.addEventListener("message",b),L.postMessage({type:"load",name:O})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);A.byteLength>0?K.deserialize(A):log.info("\uD83D\uDCBE New database. File will be created on first save.")}catch({message:B}){log.error("❌ Error loading the graph:",B)}}async function z8(){try{let B=K.serialize();return await((O,f)=>new Promise((_,b)=>{let H=({data:D})=>{if(D.type==="saved"&&D.name===O)L.removeEventListener("message",H),_();else if(D.type==="error")L.removeEventListener("message",H),b(Error(D.message||"Save error"))};L.addEventListener("message",H),L.postMessage({type:"save",name:O,content:f})}))(`${J}_graph.msgpack`,B),S.postMessage("update"),!0}catch({message:B}){throw log.error("❌ Save error:",B),Error("Save failed")}}let P0=rJ(()=>z8(),k);async function aJ(B){let A=!1,O=null,f=(H)=>{if(!O||z.compare(H,O)>0)O=H},_=(H)=>{try{if(H instanceof Uint8Array)return B6(D6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B6(D6.inflate(new Uint8Array(Object.values(H))))}catch(D){log.error("❌ deltaSync decode failed",D)}return null},b={upsert:(H)=>{let D=K.get(H.id),{resolved:T,value:y,timestamp:p}=cJ(D,H,z);if(!T)return;K.upsert(H.id,y,p),z.update(p),I.add({type:"upsert",id:H.id,timestamp:p}),A=!0,f(p)},remove:(H)=>{let D=K.get(H.id);if(!D||z.compare(D.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),A=!0,f(H.timestamp)},link:(H)=>{let D=K.get(H.sourceId),T=K.get(H.targetId);if(!D||!T||z.compare(D.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),z.update(H.timestamp),I.add({type:"link",...H}),A=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let D=I.getOldest();if(H==null||D&&z.compare(H,D.timestamp)<0)return log.info("\uD83D\uDCA5 [FALLBACK] Peer too far behind → sending FULL state."),$.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:j}]);let y=I.getDelta(H,z.compare);if(!y.length)return;let p=y.map((t)=>t.type==="upsert"?{...t,value:K.get(t.id)?.value}:t);log.info(`\uD83D\uDE80 [DELTA SYNC SENDING] ${p.length} ops.`),await $.send([{type:"deltaSync",operations:D6.deflate(u6(p)),timestamp:j}])},deltaSync:({operations:H})=>{let D=_(H);if(!Array.isArray(D)){log.warn("⚠️ deltaSync payload not array. Ignored.");return}log.info(`\uD83D\uDEF0️ [DELTA SYNC RECEIVED] ${D.length} ops.`);for(let T of D)if(T&&b[T.type])b[T.type](T);else if(T)log.warn(`\uD83E\uDD37 Unknown op: ${T.type}`)},fullStateSync:async({graphData:H,timestamp:D})=>{if(j&&D&&z.compare(j,D)>0){log.info("\uD83D\uDD04 Local newer, ignoring full sync.");return}if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else{log.error("❌ Invalid full graph data received");return}try{if(log.info("\uD83D\uDCE6 [FULL SYNC RECEIVED] Applying full graph."),K.deserialize(H),I.clear(),A=!0,D)f(D),z.update(D)}catch(T){log.error("❌ Full sync failed:",T)}}};for(let H of B)if(b[H.type])await b[H.type](H);else log.warn(`\uD83E\uDD37 Unknown type: ${H.type}`);if(O&&(!j||z.compare(O,j)>0))log.info(`\uD83D\uDCC8 [GLOBAL TS] Advanced to ${O.logical}`),N(O);if(A)log.info("\uD83D\uDCBE [STATE CHANGED] Saving + emitting."),await P0(),e()}Object.assign(v,{use(B){if(typeof B==="function")M.push(B)},async put(B,A){let O=z.now();N(O),A=A??crypto.randomUUID(),K.upsert(A,B,O),I.add({type:"upsert",id:A,timestamp:O}),P0();try{C.push({type:"upsert",id:A,value:B,timestamp:O}),P6().catch(()=>{})}finally{e()}return A},async link(B,A){let O=z.now();if(!K.nodes[B]||!K.nodes[A]){log.warn(`⚠️ One or both nodes (${B}, ${A}) do not exist.`);return}K.link(B,A,O),I.add({type:"link",sourceId:B,targetId:A,timestamp:O}),P0(),N(O);try{C.push({type:"link",sourceId:B,targetId:A,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(B){let A=z.now(),O=K.get(B);if(!O)return log.warn(`⚠️ Node with ID '${B}' not found.`);delete K.nodes[B],I.add({type:"remove",id:B,timestamp:A}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==B)),P0(),N(A);try{C.push({type:"remove",id:B,value:O.value,timestamp:A}),P6().catch(()=>{})}finally{e()}},async get(B,A=null){if(typeof B!=="string")return{result:null};let O=K.get(B);if(!O){if(A)A(null);return{result:null}}let f=(H)=>{if(!H)return null;let D=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:D}};if(!A)return{result:f(O)};let _=O.timestamp;A(f(O));let b=(H)=>{let D=H[B];if(D){if(z.compare(D.timestamp,_)>0)_=D.timestamp,A(f(D))}else A(null),R.splice(R.indexOf(b),1)};return R.push(b),{result:f(O),unsubscribe:()=>{let H=R.indexOf(b);if(H>-1)R.splice(H,1)}}},async map(...B){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;B.forEach((T)=>typeof T==="function"?f=T:T&&typeof T==="object"&&(_=_||("realtime"in T),Object.assign(O,T))),f&&!_&&(O.realtime=!0);let b=K8(K.nodes,O),H=null,D=(T)=>{let y=new Map(b.map((m)=>[m.id,m])),p=new Map(T.map((m)=>[m.id,m])),t=[],A6=[],H8=[];for(let[m,K6]of p){let U0=y.get(m);if(!U0)t.push(K6);else if((K6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(K6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!nJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!p.has(m))H8.push(y.get(m));let N0=(m,K6)=>f({id:m.id,value:K6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K6});t.forEach((m)=>N0(m,"added")),H8.forEach((m)=>N0(m,"removed")),A6.forEach((m)=>N0(m,"updated"))};if(f){if(b.forEach((T)=>{f({id:T.id,value:T.value,edges:T.edges,timestamp:T.timestamp,action:"initial"})}),O.realtime){let T=(y)=>{let p=y.timestamp?.physical||0,t=y.timestamp?.logical||0,A6=(y.edges||[]).join(",");return`${y.id}:${p}:${t}:${A6}`};H=(y)=>{let p=K8(y,O);if(p.length!==b.length)D(p),b=p;else{let t=p.map(T),A6=b.map(T);if(!nJ(t,A6))D(p),b=p}},R.push(H)}}return{results:b,...O.realtime&&f&&H&&{unsubscribe:()=>{let T=R.indexOf(H);T>-1&&R.splice(T,1)}}}},async clear(){K.nodes={},j=null,localStorage.removeItem(`${J}_time`),I.clear(),await z8(),h6(),log.info("✅ All data has been deleted.")}}),V6(),x(),await C7(),await Z8();let U6=[];if(V)U6.push(w("sm",V));if(Z)U6.push(w("ai",Z));if(X)U6.push(w("rx",X));if(P)U6.push(w("ii",P));if(q)U6.push(w("audit",q));if(Y)U6.push(w("geo",Y));if(U)U6.push(w("nlq",U));await Promise.all(U6);let sJ=`graph-sync-room-${J}`;if(W){let B=W?.constructor===Object?W:{},A=B.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await w(A),_={appId:"1234",...G&&{password:G},...B.relayUrls&&{relayUrls:B.relayUrls},...B.turnConfig&&{turnConfig:B.turnConfig},...B.cells&&B.cells!==!0&&{overlay:B.cells}},b=O(_,sJ);$=b.channel("syncGraph"),u=O(_,`app-sync-${J}`),v.room=u,v.selfId=f,b.on("peer:join",async(H)=>{log.info("⚡ New peer connected:",H),$.send([{type:"sync",timestamp:j}])}),b.on("peer:leave",(H)=>{log.info("⚡ Peer disconnected:",H)}),$?.on("message",async(H)=>{let D;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=B6(H);D=Array.isArray(y)?y:[y]}else D=Array.isArray(H)?H:[H]}catch(y){return log.error("❌ Failed to decode MessagePack:",y)}let T=new Map([...new Set(D.flatMap((y)=>["id","sourceId","targetId"].map((p)=>y&&y[p]).filter(Boolean)))].map((y)=>K.get(y)?[y,F8(K.get(y))]:null).filter(Boolean));for(let y of M)try{if(D=await y(D,T),!D||!D.length)return}catch(p){log.error("❌ Middleware error, discarding message.",p);return}await aJ(D)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(B)=>{if(B.data==="update")log.info("\uD83D\uDD04 Update received from another tab..."),await Z8(),x(),e()},log.info(`✅ GenosDB [ \x1B[32m${J}\x1B[0m ] instance is ready.`),v}var uQ=oJ;class L7{constructor(){throw Error("⚠️ WARNING: `new GDB()` is deprecated and will be removed. "+"Migrate to async factory function `const db = await gdb(...)`.\nMigration Guide: https://github.com/estebanrfp/gdb/wiki/Migration-Guide\nWiki: https://github.com/estebanrfp/gdb/wiki")}}export{uQ as gdb,L7 as GDB};
package/dist/index.js.gz CHANGED
Binary file
package/dist/nlq.min.js CHANGED
@@ -1 +1,2 @@
1
- function jj(J){let Y=J.map;return J.map=async function(...j){let H={},Z=null;j.forEach((B)=>{if(typeof B==="object")H={...H,...B};if(typeof B==="function")Z=B});let M=!1;if(H.prompt)try{let B=await Hj(H.prompt);if(H={...H,...B},B.__nlqReturnDeepest)M=!0;delete H.prompt}catch(B){H.query={}}let G=M&&Z?(B)=>{try{let T=w(B);Z&&Z(T)}catch{Z&&Z(B)}}:Z,$=await Y.call(this,H,G);if(M&&$&&Array.isArray($.results))$.results=w($.results);return $},J}async function Hj(J){return Jj(J)}function Jj(J){let Y=i(String(J||"")),j=x(Y),H={query:{}},Z=H.query,M=Fj(j);if(M.length){H.$_ors=[];for(let X of M)H.$_ors.push(X.left,X.right),j=V(j,X.span)}let Q=$j(j);if(Q)Z.type=Q.type,H.type=Q.type,j=V(j,Q.span);if(!Z.type){let X=Gj(j);if(X)Z.type=X.type,H.type=X.type,j=V(j,X.span)}if(!Z.type){let X=Wj(j);if(X)Z.type=X.type,H.type=X.type,j=V(j,X.span)}let G=Vj(j);if(G&&G.edge){if(Z.$edge=G.edge,G.span)j=V(j,G.span)}if(G&&G.edge&&/\bthen\s+finds?\s+(?:that\s+[A-Za-z]+s?\s+)?descendant\s+(?:named|called|with\s+name)\b/i.test(Y))H.__nlqReturnDeepest=!0;let $=p(j);for(let X of $){if(X.mode==="in"){let R=X.values??[X.value];Z[X.field]={...Z[X.field]||{},$in:R}}else Z[X.field]={...Z[X.field]||{},$contains:X.value};j=V(j,X.span)}let B=u(j);for(let X of B)Z[X.field]={...Z[X.field]||{},$regex:`^${X.value}`},j=V(j,X.span);let T=c(j);for(let X of T)Z[X.field]={...Z[X.field]||{},$regex:`${X.value}$`},j=V(j,X.span);let U=d(j);for(let X of U)Z[X.field]={...Z[X.field]||{},$like:X.value},j=V(j,X.span);let O=Xj(j);if(O){let X=O.value,R=[{name:{$regex:X}},{role:{$regex:X}},{level:{$regex:X}},{country:{$regex:X}},{title:{$regex:X}},{body:{$regex:X}},{tags:{$in:[X]}}];H.query.$or=[...H.query.$or||[],...R],j=V(j,O.span)}else if(Yj(j))H.query.__nlq_no_match="__NLQ_NO_MATCH__";let C=m(j);for(let X of C)Z[X.field]={...Z[X.field]||{},$exists:!0},j=V(j,X.span);let A=Bj(j);if(A.after)H.$after=A.after;if(A.before)H.$before=A.before;for(let X of A.spans)j=V(j,X);let F=l(j);for(let X of F)Z[X.field]=X.value,j=V(j,X.span);let I=Zj(j);for(let X of I)Z.name=X.value,j=V(j,X.span);let L=_j(j);for(let X of L)Z.country=X.value,j=V(j,X.span);let v=a(j);for(let X of v)Z[X.field]={...Z[X.field]||{},$between:[X.min,X.max]},j=V(j,X.span);let W=Uj(j);for(let X of W){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=V(j,X.span)}let z=r(j);for(let X of z){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=V(j,X.span)}let q=n(j);for(let X of q)Z[X.field]={...Z[X.field]||{},$not:{$eq:X.value}},j=V(j,X.span);let g=o(j);for(let X of g){if(X.kind==="in")Z.id={...Z.id||{},$in:X.values};else if(X.kind==="eq")Z.id=X.value;j=V(j,X.span)}let _=s(j);for(let X of _)Z[X.field]={...Z[X.field]||{},$in:X.values},j=V(j,X.span);let P=Aj(j);if(P)H.order=P.order,H.field=P.field;let N=Mj(j);if(N!=null)H.$limit=N;if(H.order&&!H.field){let X=Object.keys(Z)[0];if(X)H.field=X}if(Object.keys(H.query).length===0){let X=!!H.order,R=H.$limit!=null,f=!!(H.$after||H.$before);if(!X&&!R&&!f)H.query.__nlq_no_match="__NLQ_NO_MATCH__"}if(H.$_ors&&H.$_ors.length)H.query.$or=[...H.query.$or||[],...H.$_ors],delete H.$_ors;return H.query=Qj(H.query),H}function i(J){return J.replace(/\s+/g," ").trim()}function V(J,Y){if(!Y)return J;return i(`${J.slice(0,Y.start)} ${J.slice(Y.end)}`)}function x(J){let Y=/^(?:searches\s+for|search\s+for|searches|search|finds?|gets?|lists?|returns?|shows?|filters?)\s+/i;return J.replace(Y,"")}function p(J){let Y=[],j=[{re:/\bwhose\s+([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\b([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"}];for(let{re:H,mode:Z,list:M}of j){let Q;while((Q=H.exec(J))!==null){let G=Q[1];if(Z==="in"&&M){let B=Q[3].split(/\s*,\s*/).map((T)=>T.replace(/^"|"$/g,""));Y.push({field:G,mode:"in",values:B,span:{start:Q.index,end:Q.index+Q[0].length}})}else if(Z==="contains"){let $=Q[2];Y.push({field:G,mode:"contains",value:$,span:{start:Q.index,end:Q.index+Q[0].length}})}}}return Y}function u(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function c(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function d(J){let Y=[],j,H=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+"([^\"]+)"/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+([A-Za-z0-9_%\-\.\*]+)/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});return Y}function Xj(J){let j=/\b(?:full[-\s]?text\s+search|text\s+search)\s+(?:"([^\"]+)"|([A-Za-z0-9_\-]+))/i.exec(J);if(j)return{value:j[1]||j[2],span:{start:j.index,end:j.index+j[0].length}};return null}function Yj(J){return/\b(?:full[-\s]?text\s+search|text\s+search|full[-\s]?text)\b/i.test(J)}function n(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+"([^\"]+)"\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+([A-Za-z0-9_\-\.]+)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function s(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+is\s+([A-Za-z0-9_\-]+)\s+or\s+([A-Za-z0-9_\-]+)(?:\s+or\s+([A-Za-z0-9_\-]+))*/ig;while((j=H.exec(J))!==null){let M=j[1],Q=j[0].replace(new RegExp(`^${j[1]}\\s+is\\s+`,"i"),"").split(/\s+or\s+/i).map((G)=>G.trim().replace(/[,\.]$/,""));Y.push({field:M,values:Q,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+in\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig;while((j=Z.exec(J))!==null){let M=j[1],G=j[2].split(/\s*,\s*/).map(($)=>$.replace(/^"|"$/g,""));Y.push({field:M,values:G,span:{start:j.index,end:j.index+j[0].length}})}return Y}function m(J){let Y=[],j,H=/\b(?:has|with|having)\s+([a-z][\w\.]*)\b(?!\s+(?:"[^"]+"|[A-Za-z0-9_\-.]+)\b)/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:has|with|having)\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let M=/\bwhose\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s+exists\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});return Y}function l(J){let Y=[],j,H=/\bwith\s+([a-z][\w\.]*)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=b(j[2]);Y.push({field:Z,value:M,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Zj(J){let Y=[],j=/\bname\s+(?:"([^"]+)"|(([A-Z][a-zA-Z]+)(?:\s+[A-Z][a-zA-Z]+)*))\b/g,H;while((H=j.exec(J))!==null){let Z=H[1]||(H[2]?H[2].trim():null);if(!Z)continue;Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function _j(J){let Y=[],j=/\bfrom\s+(?:"([^"]+)"|([A-Za-z][A-Za-z]+))\b/ig,H;while((H=j.exec(J))!==null){let Z=H[1]||H[2];Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function a(J){let Y=[],j=/\b([a-z][\w\.]*)\s+between\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\s*(?:and|,|to)\s*(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig,H,Z=[];while((H=j.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};Y.push({field:H[1],min:H[2]||H[3],max:H[4]||H[5],span:Q}),Z.push(Q)}let M=/\b([a-z][\w\.]*)\s+between\s+(-?\d+(?:\.\d+)?)\s*(?:and|,|to)\s*(-?\d+(?:\.\d+)?)\b/ig;while((H=M.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};if(Z.some(($)=>!(Q.end<=$.start||Q.start>=$.end)))continue;Y.push({field:H[1],min:D(H[2]),max:D(H[3]),span:Q})}return Y}function o(J){let Y=[],j=/\bids?\b\s+((?:-?\d+(?:\.\d+)?\s*,\s*)+-?\d+(?:\.\d+)?)\b/ig,H;while((H=j.exec(J))!==null){let Q=H[1].split(/\s*,\s*/).map(D);Y.push({kind:"in",values:Q,span:{start:H.index,end:H.index+H[0].length}})}let Z=/\bids?\b\s+(-?\d+(?:\.\d+)?)\b/ig;while((H=Z.exec(J))!==null){let M={start:H.index,end:H.index+H[0].length};if(!Y.some((G)=>!(M.end<=G.span.start||M.start>=G.span.end)))Y.push({kind:"eq",value:D(H[1]),span:M})}return Y}function r(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:>=|at\s+least)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],op:"$gte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:<=|at\s+most)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],op:"$lte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let M=/\b([a-z][\w\.]*)\s*(?:>|greater\s+than|more\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],op:"$gt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s*(?:<|less\s+than|fewer\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],op:"$lt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let G=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*"([^"]+)"\b/ig;while((j=G.exec(J))!==null)Y.push({field:j[1],op:"eq",value:j[2],span:{start:j.index,end:j.index+j[0].length}});let $=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*([a-z0-9_\-\.]+)\b/ig;while((j=$.exec(J))!==null)Y.push({field:j[1],op:"eq",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function Uj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+(on\s+or\s+after|on\s+or\s+before|after|before|on)\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=j[2].toLowerCase().replace(/\s+/g," "),Q=j[3]||j[4],G="$gt";if(M==="before")G="$lt";else if(M==="on")G="eq";else if(M==="on or after")G="$gte";else if(M==="on or before")G="$lte";Y.push({field:Z,op:G,value:Q,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Aj(J){let Y=[{re:/\b(?:order|sort|sorted)\s+by\s+([a-z][\w\.]*)\s*(asc|ascending|desc|descending)?\b/i,groups:{field:1,dir:2}},{re:/\b(?:order|sort|sorted)\s+(asc|ascending|desc|descending)\s+by\s+([a-z][\w\.]*)\b/i,groups:{dir:1,field:2}}];for(let j of Y){let H=J.match(j.re);if(H){let Z=(H[j.groups.dir]||"asc").toLowerCase(),M=/desc|descending/.test(Z)?"desc":"asc";return{field:H[j.groups.field],order:M}}}return null}function Mj(J){let Y=J.match(/\blimit\s+(\d+)\b/i);return Y?Number(Y[1]):null}function D(J){let Y=Number(J);return Number.isFinite(Y)?Y:J}var Rj=(J)=>{return jj(J)};function w(J){if(!Array.isArray(J))return J;let Y=[],j=(H)=>{let Z=Array.isArray(H?._edgeResult)?H._edgeResult:null;if(Z&&Z.length)for(let M of Z)j(M);else Y.push(H)};for(let H of J)j(H);return Y}function Fj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Q={[j[1]]:b(j[3])},G={[j[1]]:b(j[5])};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=Z.exec(J))!==null){let Q={[j[1]]:{$contains:b(j[2])}},G={[j[1]]:{$contains:b(j[3])}};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let M=/\b([a-z][\w\.]*)\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\s+or\s+\1\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\b/ig;while((j=M.exec(J))!==null){let Q=String(b(j[2])),G=String(b(j[3])),$={[j[1]]:{$regex:`^${Q}`}},B={[j[1]]:{$regex:`^${G}`}};Y.push({left:$,right:B,span:{start:j.index,end:j.index+j[0].length}})}return Y}function b(J){if(!J)return J;let Y=J.replace(/^"|"$/g,"");return D(Y)}function Qj(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Y?e(Y):void 0,Z=Object.keys(j);if(Z.length>1){let M={};if(H)M.$edge=H;return M.$and=Z.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Y?{$edge:H}:{}}}function e(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Object.keys(j),Z=Y?e(Y):void 0;if(H.length>1){let M={};if(Z)M.$edge=Z;return M.$and=H.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Z?{$edge:Z}:{}}}function $j(J){let j=/\bonly\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Gj(J){let j=/\b(?:a|an)\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Wj(J){if(/^(?:full[-\s]?text\s+search|text\s+search)\b/i.test(J))return null;let Y=J.match(/^([A-Z][a-zA-Z]+)s?\b/);if(!Y)return null;return{type:K(Y[1]),span:{start:0,end:Y[0].length}}}function Vj(J){let Y=J.split(/\bthen\b/ig).map((G)=>G.trim()).filter(Boolean),j=null,H=null,Z=null,M=null;for(let G of Y){let $=x(G),B=H?.type?"type":H?.role?"role":null,T=B?String(H[B]).toLowerCase():null,U=$.match(/\bdescendant[s]?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),O=null,C="role",A=null,F=null,I=!1,L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)\s*'s\s+descendant[s]?\b/i);if(!L)L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)s?\s+descendant[s]?\b/i);if(L){let _=K(L[1]).toLowerCase();if(T&&_===T)I=!0,A=L.index,F=L.index+L[0].length}if(U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=!I&&$.match(/\b(?:that|this|those|their|its|a|an)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+descendant[s]?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=!I&&$.match(/\bdescendant[s]?\s+(?:of\s+)?(?!named\b|called\b|with\b)([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+child(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bgrandchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bgrandchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+grandchild(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;let v=/\b(descendant|child|children|grandchild|grandchildren)\b/i.test($),W=null;if(O)W={[C]:O};else if(v)W={};else continue;let z=$.match(/\b(?:named|called)\s+"([^"]+)"|\b(?:named|called)\s+([A-Za-z0-9_\-]+)\b|\bwith\s+name\s+"([^"]+)"|\bwith\s+name\s+([A-Za-z0-9_\-]+)\b/i);if(z){let _=z[1]||z[2]||z[3]||z[4];W.name=_;let P=z.index,N=z[0].length;if(A===null||P<A)A=P;let X=P+N;if(F===null||X>F)F=X}for(let _ of p($)){if(_.mode==="in"){let P=_.values??[_.value];W[_.field]={...W[_.field]||{},$in:P}}else W[_.field]={...W[_.field]||{},$contains:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of u($))W[_.field]={...W[_.field]||{},$regex:`^${_.value}`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of c($))W[_.field]={...W[_.field]||{},$regex:`${_.value}$`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of a($))W[_.field]={...W[_.field]||{},$between:[_.min,_.max]},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of r($)){if(_.op==="eq")W[_.field]=_.value;else W[_.field]={...W[_.field]||{},[_.op]:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of n($))W[_.field]={...W[_.field]||{},$not:{$eq:_.value}},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of s($))W[_.field]={...W[_.field]||{},$in:_.values},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let q=m($);for(let _ of q)W[_.field]={...W[_.field]||{},$exists:!0},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let g=$.replace(/\b(?:has|with|having)\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\bwhose\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\b([a-z][\w\.]*)\s+exists\b/ig," ").replace(/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+(?:"[^\"]+"|[A-Za-z0-9_\-]+)/ig," ");for(let _ of d($))W[_.field]={...W[_.field]||{},$like:_.value},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of l(g))W[_.field]=_.value,A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of o($)){if(_.kind==="in")W.id={...W.id||{},$in:_.values};else if(_.kind==="eq")W.id=_.value;A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}if(!W||Object.keys(W).length===0)continue;if(!j)j=W,H=W,Z=Z??J.indexOf($)+(A??0),M=J.indexOf($)+(F??0);else{let _=H.type?"type":H.role?"role":null,P=_?String(H[_]).toLowerCase():null,N=W.type?"type":W.role?"role":null,X=N?String(W[N]).toLowerCase():null;if(!H.$edge||typeof H.$edge!=="object")H.$edge={};let R=H.$edge,f=R.type?"type":R.role?"role":null,Oj=f?String(R[f]).toLowerCase():null,y=(E)=>{let S={};for(let[h,t]of Object.entries(W)){if(h==="$edge")continue;if(E&&(h==="type"||h==="role"))continue;S[h]=t}return S};if(X&&P&&X===P)Object.assign(R,y(!0));else if(X){for(let E of["type","role"])delete R[E];Object.assign(R,y(!1))}else Object.assign(R,y(!1));H=H.$edge;let k=J.indexOf($);if(Z===null)Z=k+(A??0);M=k+(F??0)}}if(!j)return null;let Q=Z!=null&&M!=null?{start:Z,end:M}:void 0;return{edge:j,span:Q}}function K(J){if(!J)return J;if(/ies$/i.test(J))return J.replace(/ies$/i,"y");if(/ses$/i.test(J))return J.replace(/es$/i,"e");if(/s$/i.test(J))return J.replace(/s$/i,"");return J}function Bj(J){let Y={after:null,before:null,spans:[]},j=[{kind:"after",re:/\b(?:start(?:ing)?\s+)?after\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig},{kind:"before",re:/\b(?:before|until)\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig}];for(let H of j){let Z;while((Z=H.re.exec(J))!==null){let M=Z[1]||Z[2];if(H.kind==="after"&&!Y.after)Y.after=M;if(H.kind==="before"&&!Y.before)Y.before=M;Y.spans.push({start:Z.index,end:Z.index+Z[0].length})}}return Y}export{jj as withModule,Rj as init};
1
+ var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
2
+ function jj(J){let Y=J.map;return J.map=async function(...j){let H={},Z=null;j.forEach((V)=>{if(typeof V==="object")H={...H,...V};if(typeof V==="function")Z=V});let M=!1;if(H.prompt)try{let V=await Hj(H.prompt);if(log.info("Query generated from local DSL:",V),H={...H,...V},V.__nlqReturnDeepest)M=!0;delete H.prompt}catch(V){log.error("Error parsing prompt:",V.message),H.query={}}let G=M&&Z?(V)=>{try{let T=w(V);Z&&Z(T)}catch{Z&&Z(V)}}:Z,$=await Y.call(this,H,G);if(M&&$&&Array.isArray($.results))$.results=w($.results);return $},J}async function Hj(J){return Jj(J)}function Jj(J){let Y=i(String(J||"")),j=x(Y),H={query:{}},Z=H.query,M=Fj(j);if(M.length){H.$_ors=[];for(let X of M)H.$_ors.push(X.left,X.right),j=B(j,X.span)}let Q=$j(j);if(Q)Z.type=Q.type,H.type=Q.type,j=B(j,Q.span);if(!Z.type){let X=Gj(j);if(X)Z.type=X.type,H.type=X.type,j=B(j,X.span)}if(!Z.type){let X=Wj(j);if(X)Z.type=X.type,H.type=X.type,j=B(j,X.span)}let G=Vj(j);if(G&&G.edge){if(Z.$edge=G.edge,G.span)j=B(j,G.span)}if(G&&G.edge&&/\bthen\s+finds?\s+(?:that\s+[A-Za-z]+s?\s+)?descendant\s+(?:named|called|with\s+name)\b/i.test(Y))H.__nlqReturnDeepest=!0;let $=p(j);for(let X of $){if(X.mode==="in"){let R=X.values??[X.value];Z[X.field]={...Z[X.field]||{},$in:R}}else Z[X.field]={...Z[X.field]||{},$contains:X.value};j=B(j,X.span)}let V=u(j);for(let X of V)Z[X.field]={...Z[X.field]||{},$regex:`^${X.value}`},j=B(j,X.span);let T=c(j);for(let X of T)Z[X.field]={...Z[X.field]||{},$regex:`${X.value}$`},j=B(j,X.span);let U=d(j);for(let X of U)Z[X.field]={...Z[X.field]||{},$like:X.value},j=B(j,X.span);let O=Xj(j);if(O){let X=O.value,R=[{name:{$regex:X}},{role:{$regex:X}},{level:{$regex:X}},{country:{$regex:X}},{title:{$regex:X}},{body:{$regex:X}},{tags:{$in:[X]}}];H.query.$or=[...H.query.$or||[],...R],j=B(j,O.span)}else if(Yj(j))H.query.__nlq_no_match="__NLQ_NO_MATCH__";let C=m(j);for(let X of C)Z[X.field]={...Z[X.field]||{},$exists:!0},j=B(j,X.span);let A=Bj(j);if(A.after)H.$after=A.after;if(A.before)H.$before=A.before;for(let X of A.spans)j=B(j,X);let F=l(j);for(let X of F)Z[X.field]=X.value,j=B(j,X.span);let I=Zj(j);for(let X of I)Z.name=X.value,j=B(j,X.span);let L=_j(j);for(let X of L)Z.country=X.value,j=B(j,X.span);let v=a(j);for(let X of v)Z[X.field]={...Z[X.field]||{},$between:[X.min,X.max]},j=B(j,X.span);let W=Uj(j);for(let X of W){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=B(j,X.span)}let z=r(j);for(let X of z){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=B(j,X.span)}let q=n(j);for(let X of q)Z[X.field]={...Z[X.field]||{},$not:{$eq:X.value}},j=B(j,X.span);let g=o(j);for(let X of g){if(X.kind==="in")Z.id={...Z.id||{},$in:X.values};else if(X.kind==="eq")Z.id=X.value;j=B(j,X.span)}let _=s(j);for(let X of _)Z[X.field]={...Z[X.field]||{},$in:X.values},j=B(j,X.span);let P=Aj(j);if(P)H.order=P.order,H.field=P.field;let N=Mj(j);if(N!=null)H.$limit=N;if(H.order&&!H.field){let X=Object.keys(Z)[0];if(X)H.field=X}if(Object.keys(H.query).length===0){let X=!!H.order,R=H.$limit!=null,f=!!(H.$after||H.$before);if(!X&&!R&&!f)H.query.__nlq_no_match="__NLQ_NO_MATCH__"}if(H.$_ors&&H.$_ors.length)H.query.$or=[...H.query.$or||[],...H.$_ors],delete H.$_ors;return H.query=Qj(H.query),H}function i(J){return J.replace(/\s+/g," ").trim()}function B(J,Y){if(!Y)return J;return i(`${J.slice(0,Y.start)} ${J.slice(Y.end)}`)}function x(J){let Y=/^(?:searches\s+for|search\s+for|searches|search|finds?|gets?|lists?|returns?|shows?|filters?)\s+/i;return J.replace(Y,"")}function p(J){let Y=[],j=[{re:/\bwhose\s+([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\b([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"}];for(let{re:H,mode:Z,list:M}of j){let Q;while((Q=H.exec(J))!==null){let G=Q[1];if(Z==="in"&&M){let V=Q[3].split(/\s*,\s*/).map((T)=>T.replace(/^"|"$/g,""));Y.push({field:G,mode:"in",values:V,span:{start:Q.index,end:Q.index+Q[0].length}})}else if(Z==="contains"){let $=Q[2];Y.push({field:G,mode:"contains",value:$,span:{start:Q.index,end:Q.index+Q[0].length}})}}}return Y}function u(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function c(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function d(J){let Y=[],j,H=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+"([^\"]+)"/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+([A-Za-z0-9_%\-\.\*]+)/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});return Y}function Xj(J){let j=/\b(?:full[-\s]?text\s+search|text\s+search)\s+(?:"([^\"]+)"|([A-Za-z0-9_\-]+))/i.exec(J);if(j)return{value:j[1]||j[2],span:{start:j.index,end:j.index+j[0].length}};return null}function Yj(J){return/\b(?:full[-\s]?text\s+search|text\s+search|full[-\s]?text)\b/i.test(J)}function n(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+"([^\"]+)"\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+([A-Za-z0-9_\-\.]+)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function s(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+is\s+([A-Za-z0-9_\-]+)\s+or\s+([A-Za-z0-9_\-]+)(?:\s+or\s+([A-Za-z0-9_\-]+))*/ig;while((j=H.exec(J))!==null){let M=j[1],Q=j[0].replace(new RegExp(`^${j[1]}\\s+is\\s+`,"i"),"").split(/\s+or\s+/i).map((G)=>G.trim().replace(/[,\.]$/,""));Y.push({field:M,values:Q,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+in\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig;while((j=Z.exec(J))!==null){let M=j[1],G=j[2].split(/\s*,\s*/).map(($)=>$.replace(/^"|"$/g,""));Y.push({field:M,values:G,span:{start:j.index,end:j.index+j[0].length}})}return Y}function m(J){let Y=[],j,H=/\b(?:has|with|having)\s+([a-z][\w\.]*)\b(?!\s+(?:"[^"]+"|[A-Za-z0-9_\-.]+)\b)/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:has|with|having)\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let M=/\bwhose\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s+exists\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});return Y}function l(J){let Y=[],j,H=/\bwith\s+([a-z][\w\.]*)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=b(j[2]);Y.push({field:Z,value:M,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Zj(J){let Y=[],j=/\bname\s+(?:"([^"]+)"|(([A-Z][a-zA-Z]+)(?:\s+[A-Z][a-zA-Z]+)*))\b/g,H;while((H=j.exec(J))!==null){let Z=H[1]||(H[2]?H[2].trim():null);if(!Z)continue;Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function _j(J){let Y=[],j=/\bfrom\s+(?:"([^"]+)"|([A-Za-z][A-Za-z]+))\b/ig,H;while((H=j.exec(J))!==null){let Z=H[1]||H[2];Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function a(J){let Y=[],j=/\b([a-z][\w\.]*)\s+between\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\s*(?:and|,|to)\s*(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig,H,Z=[];while((H=j.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};Y.push({field:H[1],min:H[2]||H[3],max:H[4]||H[5],span:Q}),Z.push(Q)}let M=/\b([a-z][\w\.]*)\s+between\s+(-?\d+(?:\.\d+)?)\s*(?:and|,|to)\s*(-?\d+(?:\.\d+)?)\b/ig;while((H=M.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};if(Z.some(($)=>!(Q.end<=$.start||Q.start>=$.end)))continue;Y.push({field:H[1],min:D(H[2]),max:D(H[3]),span:Q})}return Y}function o(J){let Y=[],j=/\bids?\b\s+((?:-?\d+(?:\.\d+)?\s*,\s*)+-?\d+(?:\.\d+)?)\b/ig,H;while((H=j.exec(J))!==null){let Q=H[1].split(/\s*,\s*/).map(D);Y.push({kind:"in",values:Q,span:{start:H.index,end:H.index+H[0].length}})}let Z=/\bids?\b\s+(-?\d+(?:\.\d+)?)\b/ig;while((H=Z.exec(J))!==null){let M={start:H.index,end:H.index+H[0].length};if(!Y.some((G)=>!(M.end<=G.span.start||M.start>=G.span.end)))Y.push({kind:"eq",value:D(H[1]),span:M})}return Y}function r(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:>=|at\s+least)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],op:"$gte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:<=|at\s+most)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],op:"$lte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let M=/\b([a-z][\w\.]*)\s*(?:>|greater\s+than|more\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],op:"$gt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s*(?:<|less\s+than|fewer\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],op:"$lt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let G=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*"([^"]+)"\b/ig;while((j=G.exec(J))!==null)Y.push({field:j[1],op:"eq",value:j[2],span:{start:j.index,end:j.index+j[0].length}});let $=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*([a-z0-9_\-\.]+)\b/ig;while((j=$.exec(J))!==null)Y.push({field:j[1],op:"eq",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function Uj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+(on\s+or\s+after|on\s+or\s+before|after|before|on)\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=j[2].toLowerCase().replace(/\s+/g," "),Q=j[3]||j[4],G="$gt";if(M==="before")G="$lt";else if(M==="on")G="eq";else if(M==="on or after")G="$gte";else if(M==="on or before")G="$lte";Y.push({field:Z,op:G,value:Q,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Aj(J){let Y=[{re:/\b(?:order|sort|sorted)\s+by\s+([a-z][\w\.]*)\s*(asc|ascending|desc|descending)?\b/i,groups:{field:1,dir:2}},{re:/\b(?:order|sort|sorted)\s+(asc|ascending|desc|descending)\s+by\s+([a-z][\w\.]*)\b/i,groups:{dir:1,field:2}}];for(let j of Y){let H=J.match(j.re);if(H){let Z=(H[j.groups.dir]||"asc").toLowerCase(),M=/desc|descending/.test(Z)?"desc":"asc";return{field:H[j.groups.field],order:M}}}return null}function Mj(J){let Y=J.match(/\blimit\s+(\d+)\b/i);return Y?Number(Y[1]):null}function D(J){let Y=Number(J);return Number.isFinite(Y)?Y:J}var Rj=(J)=>{return log.info("\uD83E\uDDE0 NLQ module loaded (local DSL)."),jj(J)};function w(J){if(!Array.isArray(J))return J;let Y=[],j=(H)=>{let Z=Array.isArray(H?._edgeResult)?H._edgeResult:null;if(Z&&Z.length)for(let M of Z)j(M);else Y.push(H)};for(let H of J)j(H);return Y}function Fj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Q={[j[1]]:b(j[3])},G={[j[1]]:b(j[5])};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=Z.exec(J))!==null){let Q={[j[1]]:{$contains:b(j[2])}},G={[j[1]]:{$contains:b(j[3])}};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let M=/\b([a-z][\w\.]*)\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\s+or\s+\1\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\b/ig;while((j=M.exec(J))!==null){let Q=String(b(j[2])),G=String(b(j[3])),$={[j[1]]:{$regex:`^${Q}`}},V={[j[1]]:{$regex:`^${G}`}};Y.push({left:$,right:V,span:{start:j.index,end:j.index+j[0].length}})}return Y}function b(J){if(!J)return J;let Y=J.replace(/^"|"$/g,"");return D(Y)}function Qj(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Y?e(Y):void 0,Z=Object.keys(j);if(Z.length>1){let M={};if(H)M.$edge=H;return M.$and=Z.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Y?{$edge:H}:{}}}function e(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Object.keys(j),Z=Y?e(Y):void 0;if(H.length>1){let M={};if(Z)M.$edge=Z;return M.$and=H.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Z?{$edge:Z}:{}}}function $j(J){let j=/\bonly\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Gj(J){let j=/\b(?:a|an)\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Wj(J){if(/^(?:full[-\s]?text\s+search|text\s+search)\b/i.test(J))return null;let Y=J.match(/^([A-Z][a-zA-Z]+)s?\b/);if(!Y)return null;return{type:K(Y[1]),span:{start:0,end:Y[0].length}}}function Vj(J){let Y=J.split(/\bthen\b/ig).map((G)=>G.trim()).filter(Boolean),j=null,H=null,Z=null,M=null;for(let G of Y){let $=x(G),V=H?.type?"type":H?.role?"role":null,T=V?String(H[V]).toLowerCase():null,U=$.match(/\bdescendant[s]?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),O=null,C="role",A=null,F=null,I=!1,L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)\s*'s\s+descendant[s]?\b/i);if(!L)L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)s?\s+descendant[s]?\b/i);if(L){let _=K(L[1]).toLowerCase();if(T&&_===T)I=!0,A=L.index,F=L.index+L[0].length}if(U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=!I&&$.match(/\b(?:that|this|those|their|its|a|an)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+descendant[s]?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=!I&&$.match(/\bdescendant[s]?\s+(?:of\s+)?(?!named\b|called\b|with\b)([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+child(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bgrandchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bgrandchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+grandchild(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;let v=/\b(descendant|child|children|grandchild|grandchildren)\b/i.test($),W=null;if(O)W={[C]:O};else if(v)W={};else continue;let z=$.match(/\b(?:named|called)\s+"([^"]+)"|\b(?:named|called)\s+([A-Za-z0-9_\-]+)\b|\bwith\s+name\s+"([^"]+)"|\bwith\s+name\s+([A-Za-z0-9_\-]+)\b/i);if(z){let _=z[1]||z[2]||z[3]||z[4];W.name=_;let P=z.index,N=z[0].length;if(A===null||P<A)A=P;let X=P+N;if(F===null||X>F)F=X}for(let _ of p($)){if(_.mode==="in"){let P=_.values??[_.value];W[_.field]={...W[_.field]||{},$in:P}}else W[_.field]={...W[_.field]||{},$contains:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of u($))W[_.field]={...W[_.field]||{},$regex:`^${_.value}`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of c($))W[_.field]={...W[_.field]||{},$regex:`${_.value}$`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of a($))W[_.field]={...W[_.field]||{},$between:[_.min,_.max]},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of r($)){if(_.op==="eq")W[_.field]=_.value;else W[_.field]={...W[_.field]||{},[_.op]:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of n($))W[_.field]={...W[_.field]||{},$not:{$eq:_.value}},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of s($))W[_.field]={...W[_.field]||{},$in:_.values},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let q=m($);for(let _ of q)W[_.field]={...W[_.field]||{},$exists:!0},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let g=$.replace(/\b(?:has|with|having)\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\bwhose\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\b([a-z][\w\.]*)\s+exists\b/ig," ").replace(/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+(?:"[^\"]+"|[A-Za-z0-9_\-]+)/ig," ");for(let _ of d($))W[_.field]={...W[_.field]||{},$like:_.value},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of l(g))W[_.field]=_.value,A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of o($)){if(_.kind==="in")W.id={...W.id||{},$in:_.values};else if(_.kind==="eq")W.id=_.value;A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}if(!W||Object.keys(W).length===0)continue;if(!j)j=W,H=W,Z=Z??J.indexOf($)+(A??0),M=J.indexOf($)+(F??0);else{let _=H.type?"type":H.role?"role":null,P=_?String(H[_]).toLowerCase():null,N=W.type?"type":W.role?"role":null,X=N?String(W[N]).toLowerCase():null;if(!H.$edge||typeof H.$edge!=="object")H.$edge={};let R=H.$edge,f=R.type?"type":R.role?"role":null,Oj=f?String(R[f]).toLowerCase():null,y=(E)=>{let S={};for(let[h,t]of Object.entries(W)){if(h==="$edge")continue;if(E&&(h==="type"||h==="role"))continue;S[h]=t}return S};if(X&&P&&X===P)Object.assign(R,y(!0));else if(X){for(let E of["type","role"])delete R[E];Object.assign(R,y(!1))}else Object.assign(R,y(!1));H=H.$edge;let k=J.indexOf($);if(Z===null)Z=k+(A??0);M=k+(F??0)}}if(!j)return null;let Q=Z!=null&&M!=null?{start:Z,end:M}:void 0;return{edge:j,span:Q}}function K(J){if(!J)return J;if(/ies$/i.test(J))return J.replace(/ies$/i,"y");if(/ses$/i.test(J))return J.replace(/es$/i,"e");if(/s$/i.test(J))return J.replace(/s$/i,"");return J}function Bj(J){let Y={after:null,before:null,spans:[]},j=[{kind:"after",re:/\b(?:start(?:ing)?\s+)?after\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig},{kind:"before",re:/\b(?:before|until)\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig}];for(let H of j){let Z;while((Z=H.re.exec(J))!==null){let M=Z[1]||Z[2];if(H.kind==="after"&&!Y.after)Y.after=M;if(H.kind==="before"&&!Y.before)Y.before=M;Y.spans.push({start:Z.index,end:Z.index+Z[0].length})}}return Y}export{jj as withModule,Rj as init};
Binary file
package/dist/rx.min.js CHANGED
@@ -1 +1,2 @@
1
- function v(r={}){let e={},l={},x=r.maxSize||1048576,h=r.encode,s=r.decode,o=r.pako;function u(t,n){if(p(n).forEach((i)=>{if(!e[i])e[i]=[];if(!e[i].includes(t))e[i].push(t)}),JSON.stringify(e).length>x)y()}function f(t,n){p(n).forEach((i)=>{if(e[i]){if(e[i]=e[i].filter((m)=>m!==t),e[i].length===0)delete e[i]}})}function p(t){let n=[];if(typeof t==="string")for(let a=1;a<=t.length;a++)n.push(t.substring(0,a));else if(typeof t==="number")n.push(String(t));else if(typeof t==="object"&&t!==null)Object.keys(t).forEach((a)=>{n.push(a.toString());let i=t[a];if(typeof i==="string"||typeof i==="number")n.push(`${a}:${i}`)});return n}function y(){let t=Object.keys(e),n=Math.ceil(t.length/2),a={},i={};t.slice(0,n).forEach((m)=>{a[m]=e[m]}),t.slice(n).forEach((m)=>{i[m]=e[m]}),l.fragment1=a,l.fragment2=i,e={}}function g(){for(let t of Object.values(l))Object.assign(e,t);l={}}function w(t){return e[t]||[]}function I(t){return Object.keys(e).filter((n)=>n.startsWith(t)).flatMap((n)=>e[n])}function E(){if(!h||!o)throw Error("Radix: encode y pako deben estar en options");let t={index:e,fragmentedIndexes:l};return o.deflate(h(t))}function c(t){if(!s||!o)throw Error("Radix: decode y pako deben estar en options");let n=o.inflate(new Uint8Array(t)),a=s(n);e=a.index||{},l=a.fragmentedIndexes||{}}function d(){if(JSON.stringify(e).length>x)throw Error("Index too large");if(!e||typeof e!=="object")e={}}return{upsert:u,remove:f,extractPrefixes:p,splitIndex:y,mergeFragments:g,searchByPrefix:w,searchAllByPrefix:I,serialize:E,deserialize:c,validateIndex:d}}function P(r){let{worker:e,encode:l,decode:x,pako:h}=r,s=v({maxSize:r.maxSize||1048576,encode:l,decode:x,pako:h}),o=r.indexFileName||"graph_radix_index.msgpack",f=((c,d)=>{let t;return(...n)=>{clearTimeout(t),t=setTimeout(()=>c.apply(null,n),d)}})(()=>y(),200);async function p(){try{let c=await new Promise((d,t)=>{let n=(a)=>{if(a.data.type==="loaded"&&a.data.name===o)e.removeEventListener("message",n),d(new Uint8Array(a.data.data));else if(a.data.type==="error")e.removeEventListener("message",n),t(Error(a.data.message||"Error loading the Radix index"))};e.addEventListener("message",n),e.postMessage({type:"load",name:o})});if(c.byteLength>0)s.deserialize(c)}catch{}}async function y(){try{let c=s.serialize();await new Promise((d,t)=>{let n=(a)=>{if(a.data.type==="saved"&&a.data.name===o)e.removeEventListener("message",n),d();else if(a.data.type==="error")e.removeEventListener("message",n),t(Error(a.data.message||"Error saving the Radix index"))};e.addEventListener("message",n),e.postMessage({type:"save",name:o,content:c})})}catch{}}async function g(){try{s.validateIndex(),(typeof r.graph?.getAllNodes==="function"?await r.graph.getAllNodes():Object.values(r.graph.nodes)).forEach((d)=>{s.upsert(d.id,d.value)})}catch{}}async function w(c,d,t="insert"){switch(t){case"insert":s.upsert(c,d);break;case"remove":s.remove(c,d);break}f()}function I(c){return s.searchAllByPrefix(c)}return{ready:p().then(g),updateIndex:w,searchByPrefix:I}}function j(r){let e=P(r),l=r.put;r.put=async function(s,o){let u=o?this.graph.get(o):null,f=await l.call(this,s,o);if(u)await e.updateIndex(f,u.value,"remove");return await e.updateIndex(f,s,"insert"),f};let x=r.remove;r.remove=async function(s){let o=this.graph.get(s);if(await x.call(this,s),o)await e.updateIndex(s,o.value,"remove")};let h=r.map;return r.map=async function(...s){let o=await h.call(this,...s),u=s.find((f)=>typeof f==="object");if(u?.query?.id?.$startsWith){let f=u.query.id.$startsWith,p=e.searchByPrefix(f);return o.filter((y)=>p.includes(y.id))}return o},r.searchByPrefix=async function(s){return e.searchByPrefix(s).map((u)=>this.graph.get(u))},r}var R=(r)=>{return j(r)};export{j as withModule,R as init,P as RadixIndexer};
1
+ var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
2
+ function v(r={}){let e={},l={},x=r.maxSize||1048576,h=r.encode,s=r.decode,o=r.pako;function u(t,n){if(p(n).forEach((i)=>{if(!e[i])e[i]=[];if(!e[i].includes(t))e[i].push(t)}),JSON.stringify(e).length>x)y()}function f(t,n){p(n).forEach((i)=>{if(e[i]){if(e[i]=e[i].filter((m)=>m!==t),e[i].length===0)delete e[i]}})}function p(t){let n=[];if(typeof t==="string")for(let a=1;a<=t.length;a++)n.push(t.substring(0,a));else if(typeof t==="number")n.push(String(t));else if(typeof t==="object"&&t!==null)Object.keys(t).forEach((a)=>{n.push(a.toString());let i=t[a];if(typeof i==="string"||typeof i==="number")n.push(`${a}:${i}`)});return n}function y(){let t=Object.keys(e),n=Math.ceil(t.length/2),a={},i={};t.slice(0,n).forEach((m)=>{a[m]=e[m]}),t.slice(n).forEach((m)=>{i[m]=e[m]}),l.fragment1=a,l.fragment2=i,e={}}function g(){for(let t of Object.values(l))Object.assign(e,t);l={}}function w(t){return e[t]||[]}function I(t){return Object.keys(e).filter((n)=>n.startsWith(t)).flatMap((n)=>e[n])}function E(){if(!h||!o)throw Error("Radix: encode y pako deben estar en options");let t={index:e,fragmentedIndexes:l};return o.deflate(h(t))}function c(t){if(!s||!o)throw Error("Radix: decode y pako deben estar en options");let n=o.inflate(new Uint8Array(t)),a=s(n);e=a.index||{},l=a.fragmentedIndexes||{}}function d(){if(JSON.stringify(e).length>x)throw Error("Index too large");if(!e||typeof e!=="object")e={}}return{upsert:u,remove:f,extractPrefixes:p,splitIndex:y,mergeFragments:g,searchByPrefix:w,searchAllByPrefix:I,serialize:E,deserialize:c,validateIndex:d}}function P(r){let{worker:e,encode:l,decode:x,pako:h}=r,s=v({maxSize:r.maxSize||1048576,encode:l,decode:x,pako:h}),o=r.indexFileName||"graph_radix_index.msgpack",f=((c,d)=>{let t;return(...n)=>{clearTimeout(t),t=setTimeout(()=>c.apply(null,n),d)}})(()=>y(),200);async function p(){try{let c=await new Promise((d,t)=>{let n=(a)=>{if(a.data.type==="loaded"&&a.data.name===o)e.removeEventListener("message",n),d(new Uint8Array(a.data.data));else if(a.data.type==="error")e.removeEventListener("message",n),t(Error(a.data.message||"Error loading the Radix index"))};e.addEventListener("message",n),e.postMessage({type:"load",name:o})});if(c.byteLength>0)s.deserialize(c)}catch{}}async function y(){try{let c=s.serialize();await new Promise((d,t)=>{let n=(a)=>{if(a.data.type==="saved"&&a.data.name===o)e.removeEventListener("message",n),d();else if(a.data.type==="error")e.removeEventListener("message",n),t(Error(a.data.message||"Error saving the Radix index"))};e.addEventListener("message",n),e.postMessage({type:"save",name:o,content:c})})}catch{}}async function g(){try{s.validateIndex(),(typeof r.graph?.getAllNodes==="function"?await r.graph.getAllNodes():Object.values(r.graph.nodes)).forEach((d)=>{s.upsert(d.id,d.value)})}catch{}}async function w(c,d,t="insert"){switch(t){case"insert":s.upsert(c,d);break;case"remove":s.remove(c,d);break}f()}function I(c){return s.searchAllByPrefix(c)}return{ready:p().then(g),updateIndex:w,searchByPrefix:I}}function j(r){let e=P(r),l=r.put;r.put=async function(s,o){let u=o?this.graph.get(o):null,f=await l.call(this,s,o);if(u)await e.updateIndex(f,u.value,"remove");return await e.updateIndex(f,s,"insert"),f};let x=r.remove;r.remove=async function(s){let o=this.graph.get(s);if(await x.call(this,s),o)await e.updateIndex(s,o.value,"remove")};let h=r.map;return r.map=async function(...s){let o=await h.call(this,...s),u=s.find((f)=>typeof f==="object");if(u?.query?.id?.$startsWith){let f=u.query.id.$startsWith,p=e.searchByPrefix(f);return o.filter((y)=>p.includes(y.id))}return o},r.searchByPrefix=async function(s){return e.searchByPrefix(s).map((u)=>this.graph.get(u))},r}var R=(r)=>{return log.info("\uD83C\uDF33 RadixIndexer module loaded."),j(r)};export{j as withModule,R as init,P as RadixIndexer};
package/dist/rx.min.js.gz CHANGED
Binary file