@loro-dev/flock 4.3.0 → 4.4.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.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +48 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +173 -6
package/dist/index.d.mts
CHANGED
|
@@ -120,6 +120,10 @@ type EventBatch = {
|
|
|
120
120
|
};
|
|
121
121
|
declare class Flock {
|
|
122
122
|
private inner;
|
|
123
|
+
private listeners;
|
|
124
|
+
private nativeUnsubscribe;
|
|
125
|
+
/** Debounce state for autoDebounceCommit */
|
|
126
|
+
private debounceState;
|
|
123
127
|
constructor(peerId?: string);
|
|
124
128
|
private static fromInner;
|
|
125
129
|
static fromJson(bundle: ExportBundle, peerId: string): Flock;
|
|
@@ -186,7 +190,51 @@ declare class Flock {
|
|
|
186
190
|
putMvr(key: KeyPart[], value: Value, now?: number): void;
|
|
187
191
|
getMvr(key: KeyPart[]): Value[];
|
|
188
192
|
scan(options?: ScanOptions): ScanRow[];
|
|
193
|
+
private ensureNativeSubscription;
|
|
194
|
+
private handleBatch;
|
|
195
|
+
private emitBatch;
|
|
196
|
+
private resetDebounceTimer;
|
|
189
197
|
subscribe(listener: (batch: EventBatch) => void): () => void;
|
|
198
|
+
/**
|
|
199
|
+
* Enable auto-debounce mode. Events will be accumulated and emitted after
|
|
200
|
+
* the specified timeout of inactivity. Each new operation resets the timer.
|
|
201
|
+
*
|
|
202
|
+
* Use `commit()` to force immediate emission of pending events.
|
|
203
|
+
* Use `disableAutoDebounceCommit()` to disable and emit pending events.
|
|
204
|
+
*
|
|
205
|
+
* @param timeout - Debounce timeout in milliseconds
|
|
206
|
+
* @param options - Optional configuration object with maxDebounceTime (default: 10000ms)
|
|
207
|
+
* @throws Error if called while a transaction is active
|
|
208
|
+
* @throws Error if autoDebounceCommit is already active
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```ts
|
|
212
|
+
* flock.autoDebounceCommit(100);
|
|
213
|
+
* flock.put(["a"], 1);
|
|
214
|
+
* flock.put(["b"], 2);
|
|
215
|
+
* // No events emitted yet...
|
|
216
|
+
* // After 100ms of inactivity, subscribers receive single EventBatch
|
|
217
|
+
* // If operations keep coming, commit happens after maxDebounceTime (10s default)
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
autoDebounceCommit(timeout: number, options?: {
|
|
221
|
+
maxDebounceTime?: number;
|
|
222
|
+
}): void;
|
|
223
|
+
/**
|
|
224
|
+
* Disable auto-debounce mode and emit any pending events immediately.
|
|
225
|
+
* No-op if autoDebounceCommit is not active.
|
|
226
|
+
*/
|
|
227
|
+
disableAutoDebounceCommit(): void;
|
|
228
|
+
/**
|
|
229
|
+
* Force immediate emission of any pending debounced events.
|
|
230
|
+
* Does not disable auto-debounce mode - new operations will continue to be debounced.
|
|
231
|
+
* No-op if autoDebounceCommit is not active or no events are pending.
|
|
232
|
+
*/
|
|
233
|
+
commit(): void;
|
|
234
|
+
/**
|
|
235
|
+
* Check if auto-debounce mode is currently active.
|
|
236
|
+
*/
|
|
237
|
+
isAutoDebounceActive(): boolean;
|
|
190
238
|
/**
|
|
191
239
|
* Execute operations within a transaction. All put/delete operations inside
|
|
192
240
|
* the callback will be batched and emitted as a single EventBatch when the
|
package/dist/index.d.ts
CHANGED
|
@@ -120,6 +120,10 @@ type EventBatch = {
|
|
|
120
120
|
};
|
|
121
121
|
declare class Flock {
|
|
122
122
|
private inner;
|
|
123
|
+
private listeners;
|
|
124
|
+
private nativeUnsubscribe;
|
|
125
|
+
/** Debounce state for autoDebounceCommit */
|
|
126
|
+
private debounceState;
|
|
123
127
|
constructor(peerId?: string);
|
|
124
128
|
private static fromInner;
|
|
125
129
|
static fromJson(bundle: ExportBundle, peerId: string): Flock;
|
|
@@ -186,7 +190,51 @@ declare class Flock {
|
|
|
186
190
|
putMvr(key: KeyPart[], value: Value, now?: number): void;
|
|
187
191
|
getMvr(key: KeyPart[]): Value[];
|
|
188
192
|
scan(options?: ScanOptions): ScanRow[];
|
|
193
|
+
private ensureNativeSubscription;
|
|
194
|
+
private handleBatch;
|
|
195
|
+
private emitBatch;
|
|
196
|
+
private resetDebounceTimer;
|
|
189
197
|
subscribe(listener: (batch: EventBatch) => void): () => void;
|
|
198
|
+
/**
|
|
199
|
+
* Enable auto-debounce mode. Events will be accumulated and emitted after
|
|
200
|
+
* the specified timeout of inactivity. Each new operation resets the timer.
|
|
201
|
+
*
|
|
202
|
+
* Use `commit()` to force immediate emission of pending events.
|
|
203
|
+
* Use `disableAutoDebounceCommit()` to disable and emit pending events.
|
|
204
|
+
*
|
|
205
|
+
* @param timeout - Debounce timeout in milliseconds
|
|
206
|
+
* @param options - Optional configuration object with maxDebounceTime (default: 10000ms)
|
|
207
|
+
* @throws Error if called while a transaction is active
|
|
208
|
+
* @throws Error if autoDebounceCommit is already active
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```ts
|
|
212
|
+
* flock.autoDebounceCommit(100);
|
|
213
|
+
* flock.put(["a"], 1);
|
|
214
|
+
* flock.put(["b"], 2);
|
|
215
|
+
* // No events emitted yet...
|
|
216
|
+
* // After 100ms of inactivity, subscribers receive single EventBatch
|
|
217
|
+
* // If operations keep coming, commit happens after maxDebounceTime (10s default)
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
autoDebounceCommit(timeout: number, options?: {
|
|
221
|
+
maxDebounceTime?: number;
|
|
222
|
+
}): void;
|
|
223
|
+
/**
|
|
224
|
+
* Disable auto-debounce mode and emit any pending events immediately.
|
|
225
|
+
* No-op if autoDebounceCommit is not active.
|
|
226
|
+
*/
|
|
227
|
+
disableAutoDebounceCommit(): void;
|
|
228
|
+
/**
|
|
229
|
+
* Force immediate emission of any pending debounced events.
|
|
230
|
+
* Does not disable auto-debounce mode - new operations will continue to be debounced.
|
|
231
|
+
* No-op if autoDebounceCommit is not active or no events are pending.
|
|
232
|
+
*/
|
|
233
|
+
commit(): void;
|
|
234
|
+
/**
|
|
235
|
+
* Check if auto-debounce mode is currently active.
|
|
236
|
+
*/
|
|
237
|
+
isAutoDebounceActive(): boolean;
|
|
190
238
|
/**
|
|
191
239
|
* Execute operations within a transaction. All put/delete operations inside
|
|
192
240
|
* the callback will be batched and emitted as a single EventBatch when the
|
package/dist/index.mjs
CHANGED
|
@@ -7,5 +7,5 @@ const e={$tag:0},t={$tag:1},n={$tag:2};function r(e,t){this._0=e,this._1=t}r.pro
|
|
|
7
7
|
`;case 6:return`
|
|
8
8
|
`;case 7:return`
|
|
9
9
|
`;case 8:return`
|
|
10
|
-
`;default:return`\n${il(` `,n)}`}}}function rm(e,t,n,r){let i=fs(0),a=[],o=0,s=e;for(;;){let e=s;if(e===void 0){if(a.length===0)break;{let e=a[a.length-1|0];if(e.$tag===0){let t=e,r=t._0,c=t._1;if(c<r.length){let e=ws(r,c);t._1=c+1|0,c>0&&(D(i,44),A(i,nm(o,n))),s=e;continue}else{o=o-1|0,cf(a),A(i,nm(o,n)),D(i,93),s=void 0;continue}}else{let c=e,l=c._0,u=c._1,d=Nc(l);if(d===void 0){o=o-1|0,cf(a),A(i,nm(o,n)),D(i,125),s=void 0;continue}else{let e=d,a=e._0,l=e._1,f=l;if(r!==void 0){let e=r(a,l);if(e===void 0){s=void 0;continue}else f=e}u||(D(i,44),A(i,nm(o,n))),D(i,34),A(i,tm(a,t)),D(i,34),D(i,58),n>0&&D(i,32),c._1=!1,s=f;continue}}}}else{let r=e;switch(r.$tag){case 6:{let e=r._0;e.size===0?A(i,`{}`):(o=o+1|0,D(i,123),A(i,nm(o,n)),hl(a,new Mr(Mu(e),!0)));break}case 5:{let e=r._0;e.length===0?A(i,`[]`):(o=o+1|0,D(i,91),A(i,nm(o,n)),hl(a,new jr(e,0)));break}case 4:{let e=r._0;D(i,34),A(i,tm(e,t)),D(i,34);break}case 3:{let e=r,t=e._0,n=e._1;n===void 0?Bs(i,t):A(i,n);break}case 1:A(i,`true`);break;case 2:A(i,`false`);break;default:A(i,`null`)}s=void 0;continue}}return i.val}function im(e){if(e.$tag===3){let t=e._0;return new sr(t)}else return or}function am(e,t){return Nr(e,t)}function om(e,t){return Pr(e,t)}function sm(e){return Lr(e)}function cm(e,t){return Rr(e,t)}function lm(e,t){return zr(e,t)}function um(e,t){return Br(e,t)}function dm(e,t){return Vr(e,t)}function fm(e,t){return t<0&&Yo(`negative shift count`,`@moonbitlang/core/bigint:bigint_js.mbt:269:5-269:34`),Hr(e,t)}function pm(e){let t=Ur(fm(e,32)),n=Ur(e);return bd(Sd(Pf(t),32),Pf(n))}function mm(){return Gr()}function hm(e){return Kr(e)}function gm(e,t){return hm(e)===`number`?new Jr(e):new qr(new rn({_0:t,_1:e,_2:`Double`}))}function _m(e,t){return hm(e)===`string`?new Xr(e):new Yr(new rn({_0:t,_1:e,_2:`String`}))}function vm(e,t){let n=e;if(n.$tag===0){let e=n._0._0,r=e._1,i=e._2;return new $r(new rn({_0:t,_1:r,_2:i}))}else{let e=n._0;return new ei(e)}}function ym(e,t){if(Qr(e)){let t=e,n;_L:{let e=Array(t.length),r=t.length,i=0;for(;;){let a=i;if(a<r){let r=t[a],o=vm(new ei(r),`@Yoorkin/jmop:value.mbt:156:18-156:50`),s;if(o.$tag===1)s=o._0;else{n=o._0;break _L}e[a]=s,i=a+1|0;continue}else break}return new Sn(e)}return new xn(n)}else return new xn(new rn({_0:t,_1:e,_2:`Array`}))}function bm(){return ti()}function xm(e,t){return ni(e)?new ri(new Zt(t)):new ii(e)}function Sm(e,t){return Zr(e)?new ai(new Xt(t)):new oi(e)}function Cm(e,t){let n=xm(e,t),r;if(n.$tag===1)r=n._0;else return n;return Sm(r,t)}function $(e,t){return Cm(e,t)}function wm(e,t,n){if(e===`InvalidNestedPromise`){let e=$(t,`@Yoorkin/jmop:init.mbt:63:43-63:66`),n;if(e.$tag===1)n=e._0;else return e;return new ci(new Yt(n))}else return new ui(new Jt(t))}function Tm(){return{h:Gl({buf:go,start:0,end:8}),x:un(64,0),nx:0,len:b,name:`sha256`}}function Em(e){return e<10?e+48|0:(e-10|0)+97|0}function Dm(e,t,n){let r=t+3|0,i=n&255;C(e,r),e[r]=i&255;let a=t+2|0,o=n>>>8&255;C(e,a),e[a]=o&255;let s=t+1|0,c=n>>>16&255;C(e,s),e[s]=c&255;let l=n>>>24&255;C(e,t),e[t]=l&255}function Om(e,t,n){Dm(e,t+4|0,Nd(K(n,Ln))),Dm(e,t,Nd(K(J(n,32),Ln)))}function km(e){let t=Rt(64,0),n=e.x,r=0;for(;;){let e=r;if(e<16){let i=Math.imul(e,4)|0;C(n,i);let a=n[i]<<24,o=i+1|0;C(n,o);let s=a|n[o]<<16,c=i+2|0;C(n,c);let l=s|n[c]<<8,u=i+3|0;C(n,u);let d=n[u];C(t,e),t[e]=l|d,r=e+1|0;continue}else break}let i=16;for(;;){let e=i;if(e<64){let n=e-2|0;C(t,n);let r=t[n],a=(r<<-17|r>>>49|0)^(r<<-19|r>>>51|0)^(r>>>10|0),o=e-15|0;C(t,o);let s=t[o],c=(s<<-7|s>>>39|0)^(s<<-18|s>>>50|0)^(s>>>3|0),l=e-7|0;C(t,l);let u=(((a>>>0)+(t[l]>>>0)|0)>>>0)+(c>>>0)|0,d=e-16|0;C(t,d),C(t,e),t[e]=(u>>>0)+(t[d]>>>0)|0,i=e+1|0;continue}else break}let a=e.h;C(a,0);let o=a[0],s=e.h;C(s,1);let c=s[1],l=e.h;C(l,2);let u=l[2],d=e.h;C(d,3);let f=d[3],p=e.h;C(p,4);let m=p[4],h=e.h;C(h,5);let g=h[5],_=e.h;C(_,6);let v=_[6],y=e.h;C(y,7);let ee=y[7],te=0;for(;;){let e=te;if(e<64){let n=ee,r=m,i=r<<-6|r>>>38|0,a=m,s=i^(a<<-11|a>>>43|0),l=m,d=(((((n>>>0)+((s^(l<<-25|l>>>57|0))>>>0)|0)>>>0)+((m&g^~m&v)>>>0)|0)>>>0)+(js(ho,e)>>>0)|0;C(t,e);let p=(d>>>0)+(t[e]>>>0)|0,h=o,_=h<<-2|h>>>34|0,y=o,ne=_^(y<<-13|y>>>45|0),re=o,ie=((ne^(re<<-22|re>>>54|0))>>>0)+((o&c^o&u^c&u)>>>0)|0;ee=v,v=g,g=m,m=(f>>>0)+(p>>>0)|0,f=u,u=c,c=o,o=(p>>>0)+(ie>>>0)|0,te=e+1|0;continue}else break}let ne=e.h;C(ne,0),C(ne,0),ne[0]=(ne[0]>>>0)+(o>>>0)|0;let re=e.h;C(re,1),C(re,1),re[1]=(re[1]>>>0)+(c>>>0)|0;let ie=e.h;C(ie,2),C(ie,2),ie[2]=(ie[2]>>>0)+(u>>>0)|0;let ae=e.h;C(ae,3),C(ae,3),ae[3]=(ae[3]>>>0)+(f>>>0)|0;let oe=e.h;C(oe,4),C(oe,4),oe[4]=(oe[4]>>>0)+(m>>>0)|0;let se=e.h;C(se,5),C(se,5),se[5]=(se[5]>>>0)+(g>>>0)|0;let ce=e.h;C(ce,6),C(ce,6),ce[6]=(ce[6]>>>0)+(v>>>0)|0;let le=e.h;C(le,7),C(le,7),le[7]=(le[7]>>>0)+(ee>>>0)|0}function Am(e,t){e.len=H(e.len,s);let n=e.x,r=e.nx;if(C(n,r),n[r]=t,e.nx=e.nx+1|0,e.nx===64){km(e),e.nx=0;return}else return}function jm(e){let t=un(72,0);C(t,0),t[0]=128;let n=ec(Md(e.len,fi),pi)?V(U(pi,Md(e.len,fi))):V(U(H(fi,pi),Md(e.len,fi)));Om(t,n,q(e.len,3));let r=0;for(;;){let i=r;if(i<(n+8|0)){C(t,i),Am(e,t[i]),r=i+1|0;continue}else break}e.nx!==0&&S();let i=un(32,0),a=e.h;C(a,0),Dm(i,0,a[0]);let o=e.h;C(o,1),Dm(i,4,o[1]);let s=e.h;C(s,2),Dm(i,8,s[2]);let c=e.h;C(c,3),Dm(i,12,c[3]);let l=e.h;C(l,4),Dm(i,16,l[4]);let u=e.h;C(u,5),Dm(i,20,u[5]);let d=e.h;C(d,6),Dm(i,24,d[6]);let f=e.h;return C(f,7),Dm(i,28,f[7]),i}function Mm(e){let t=jm(e),n=If(64),r=t.length,i=0;for(;;){let e=i;if(e<r){let r=t[e];Rf(n,Em(r>>4&15)),Rf(n,Em(r&15)),i=e+1|0;continue}else break}return Dc(zf(n),0,void 0)}function Nm(e){let t=[],n=e;for(;;){let e=Zu(K(n,mi));if(n=J(n,7),ys(n,b)&&(e=(e|128)&255),I(t,e),G(n,b))break}return Qd({buf:t,start:0,end:t.length})}function Pm(e){let t=[],n=e,r=!0;for(;r;){let e=Od(yd(n,mi));n=xd(n,7);let i;if(i=Cd(n,b)?(e&64)==0:!1,i)r=!1;else{let t;t=Cd(n,ft)?(e&64)!=0:!1,t?r=!1:e=(e|128)&255}I(t,e)}return Qd({buf:t,start:0,end:t.length})}function Fm(e){switch(e){case 0:return`40`;case 1:return`41`;case 2:return`42`;case 3:return`43`;case 4:return`44`;case 5:return`45`;case 6:return`46`;case 7:return`47`;default:return`49`}}function Im(e){switch(e){case 0:return`30`;case 1:return`31`;case 2:return`32`;case 3:return`33`;case 4:return`34`;case 5:return`35`;case 6:return`36`;case 7:return`37`;default:return`39`}}function Lm(e){let t=[],n=e.color;n===void 0||Sl(t,Im(n));let r=e.bg_color;r===void 0||Sl(t,Fm(r));let i=e.formats,a=i.length,o=0;for(;;){let e=o;if(e<a){switch(i[e]){case 0:Sl(t,`1`);break;case 1:Sl(t,`4`);break;case 2:Sl(t,`5`);break;case 3:Sl(t,`7`);break;case 4:Sl(t,`8`);break;case 5:Sl(t,`9`);break;default:Sl(t,`3`)}o=e+1|0;continue}else break}return t.length>0?`[${gf(t,{str:`;`,start:0,end:1})}m${e.str}[0m`:e.str}function Rm(e){return{str:e,bg_color:void 0,color:void 0,formats:[]}}function zm(e){return{str:e.str,bg_color:e.bg_color,color:1,formats:e.formats}}function Bm(e){return{str:e.str,bg_color:e.bg_color,color:3,formats:e.formats}}function Vm(e){return{str:e.str,bg_color:e.bg_color,color:4,formats:e.formats}}function Hm(e){let t=e.str,n=e.bg_color,r=e.color,i=[];return Cl(i,0),mf(i,Ul(e.formats)),{str:t,bg_color:n,color:r,formats:i}}function Um(e,t){let n=`${Lm(zm(Hm(Rm(`Panic: `))))}${Lm(Bm(Rm(e)))} at ${Lm(Vm(Rm(N(t))))}`;Wd(n),Yo(n,`@zxch3n/expect:expect.mbt:698:3-698:13`)}function Wm(e,t){return Zd(e,t)}function Gm(e,t){if(e.bytes.length!==t.bytes.length)return!1;let n=0;for(;;){let r=n;if(r<e.bytes.length){let i=e.bytes;C(i,r);let a=i[r],o=t.bytes;if(C(o,r),a!==o[r])return!1;n=r+1|0;continue}else break}return!0}function Km(e){let t=ll(0),n=0;for(;n<e.length;){let r=n;C(e,r);let i=e.charCodeAt(r);if(i>=55296&&i<=56319&&(n+1|0)<e.length){let r=n+1|0;C(e,r);let a=e.charCodeAt(r);if(a>=56320&&a<=57343){let e=(65536+(i-55296<<10)|0)+(a-56320|0)|0;I(t,(240|e>>18)&255),I(t,(128|e>>12&63)&255),I(t,(128|e>>6&63)&255),I(t,(128|e&63)&255),n=n+1|0}else I(t,(224|i>>12)&255),I(t,(128|i>>6&63)&255),I(t,(128|i&63)&255)}else i<128?I(t,i&255):i<2048?(I(t,(192|i>>6)&255),I(t,(128|i&63)&255)):(I(t,(224|i>>12)&255),I(t,(128|i>>6&63)&255),I(t,(128|i&63)&255));n=n+1|0}return Qd({buf:t,start:0,end:t.length})}function qm(e){return{bytes:Km(e)}}function Jm(e){let t=0;for(;t<(e.end-e.start|0);){let n=Y(e,t);if(!(n&128))t=t+1|0;else if((n&224)==192){if((t+1|0)>=(e.end-e.start|0)||(Y(e,t+1|0)&192)!=128)return!1;t=t+2|0}else if((n&240)==224){if((t+2|0)>=(e.end-e.start|0))return!1;let n=Y(e,t+1|0),r=Y(e,t+2|0),i;if(i=(n&192)==128?(r&192)!=128:!0,i)return!1;t=t+3|0}else if((n&248)==240){if((t+3|0)>=(e.end-e.start|0))return!1;let n=Y(e,t+1|0),r=Y(e,t+2|0),i=Y(e,t+3|0),a;if((n&192)!=128)a=!0;else{let e;e=(r&192)==128?(i&192)!=128:!0,a=e}if(a)return!1;t=t+4|0}else return!1}return!0}function Ym(e){if(Jm(Gd(e,0,void 0)))return{bytes:$d(qd(e))}}function Xm(e){let t=0,n=``;for(;t<e.length;){let r=t;C(e,r);let i=e[r],a;if(!(i&128))a=i;else if((i&224)==192){if((t+1|0)>=e.length)return;let n=t+1|0;C(e,n);let r=e[n];if((r&192)!=128)return;t=t+1|0,a=(i&31)<<6|r&63}else if((i&240)==224){if((t+2|0)>=e.length)return;let n=t+1|0;C(e,n);let r=e[n],o=t+2|0;C(e,o);let s=e[o],c;if(c=(r&192)==128?(s&192)!=128:!0,c)return;t=t+2|0,a=(i&15)<<12|(r&63)<<6|s&63}else if((i&248)==240){if((t+3|0)>=e.length)return;let n=t+1|0;C(e,n);let r=e[n],o=t+2|0;C(e,o);let s=e[o],c=t+3|0;C(e,c);let l=e[c],u;if((r&192)!=128)u=!0;else{let e;e=(s&192)==128?(l&192)!=128:!0,u=e}if(u)return;t=t+3|0,a=(i&7)<<18|(r&63)<<12|(s&63)<<6|l&63}else return;n=`${n}${Dl(a)}`,t=t+1|0}return n}function Zm(e){let t=Xm(e.bytes);return t===void 0?S():t}function Qm(e,t){let n=e.end-e.start|0,r=t.end-t.start|0,i=n<r?n:r,a=0;for(;;){let n=a;if(n<i){let r=zt(Y(e,n),Y(t,n));if(r!==0)return r;a=n+1|0;continue}else break}return zt(n,r)}function $m(e,t){let n=e.bytes,r=X(n,0,n.length),i=t.bytes;return Qm(r,X(i,0,i.length))}function eh(e,t){let n=e,r=X(n,0,n.length),i=t;return Qm(r,X(i,0,i.length))}function th(e){return Ad(e)}function nh(e){return kd(e)}function rh(e){let t=ll(0);return I(t,Zu(K(J(e,56),hi))),I(t,Zu(K(J(e,48),hi))),I(t,Zu(K(J(e,40),hi))),I(t,Zu(K(J(e,32),hi))),I(t,Zu(K(J(e,24),hi))),I(t,Zu(K(J(e,16),hi))),I(t,Zu(K(J(e,8),hi))),I(t,Zu(K(e,hi))),Qd({buf:t,start:0,end:t.length})}function ih(e){e.length!==8&&Um(`Invalid byte array length`,`@zxch3n/flock/memcomparable:utils.mbt:28:5-28:54`);let t=b,n=t;C(e,0),t=Fd(n,q(Yd(e[0]),56));let r=t;C(e,1),t=Fd(r,q(Yd(e[1]),48));let i=t;C(e,2),t=Fd(i,q(Yd(e[2]),40));let a=t;C(e,3),t=Fd(a,q(Yd(e[3]),32));let o=t;C(e,4),t=Fd(o,q(Yd(e[4]),24));let s=t;C(e,5),t=Fd(s,q(Yd(e[5]),16));let c=t;C(e,6),t=Fd(c,q(Yd(e[6]),8));let l=t;return C(e,7),t=Fd(l,Yd(e[7])),t}function ah(){return{parts:ul(0)}}function oh(e,t){gl(e.parts,t)}function sh(e,t){let n=e.end-e.start|0,r=t.end-t.start|0,i=n<r?n:r,a=0;for(;;){let n=a;if(n<i){let r=zt(Y(e,n),Y(t,n));if(r!==0)return r;a=n+1|0;continue}else break}return zt(n,r)}function ch(e){return e===e?e:e<0?-So:So}function lh(e,t){Z(t,1);let n=Kd(e);for(;;){let e=Ic(n);if(e===-1)break;{let n=e;Z(t,n),n===0&&Z(t,255);continue}}Z(t,0)}function uh(e,t){Z(t,2);let n=e.bytes,r=n.length,i=0;for(;;){let e=i;if(e<r){let r=n[e];Z(t,r),r===0&&Z(t,255),i=e+1|0;continue}else break}Z(t,0)}function dh(e,t){Z(t,33);let n=ch(e),r=rh(n<0?Id(th(n),ft):Id(th(n),ir)),i=r.length,a=0;for(;;){let e=a;if(e<i){let n=r[e];Z(t,n),a=e+1|0;continue}else return}}function fh(e){let t=[],n=e;for(;nc(n,0n);)I(t,Wr(dm(n,256n))&255),n=um(n,256n);let r=ff(t);return Qd({buf:r,start:0,end:r.length})}function ph(e,t){if(om(e,0n)){Z(t,20);return}let n=nc(e,0n),r=fh(n?e:sm(e)),i=r.length;if(n===!1){i<=8?Z(t,(20-(i&255)|0)&255):(Z(t,11),i>255&&Yo(`n is too large`,`@zxch3n/flock/memcomparable:bigint.mbt:33:11-33:34`),Z(t,(i&255^255)&255));let e=If(0),n=0;for(;;){let t=n;if(t<r.length){C(r,t);let i=r[t];Z(e,(i^255)&255),n=t+1|0;continue}else break}Lf(t,zf(e));return}else{i<=8?Z(t,(20+(i&255)|0)&255):(Z(t,29),i>255&&Yo(`n is too large`,`@zxch3n/flock/memcomparable:bigint.mbt:49:11-49:34`),Z(t,i&255)),Lf(t,r);return}}function mh(e,t){switch(e.$tag){case 0:{let n=e._0;lh(X(n,0,n.length),t);return}case 1:{let n=e._0;uh(n,t);return}case 2:{let n=e._0;ph(n,t);return}case 3:{let n=e._0;dh(n,t);return}case 4:Z(t,38);return;default:Z(t,39);return}}function hh(e){let t=If(0),n=e.parts,r=n.length,i=0;for(;;){let e=i;if(e<r){let r=n[e];mh(r,t),i=e+1|0;continue}else break}return zf(t)}function gh(e,t){let n=If(0),r=t;for(;r<(e.end-e.start|0);){let t=Y(e,r);if(r=r+1|0,t===0){let t;if(t=r<(e.end-e.start|0)?Y(e,r)===255:!1,t){Z(n,0),r=r+1|0;continue}else{let e=zf(n);return new _i({_0:X(e,0,e.length),_1:r})}}Z(n,t)}return new gi(Kt)}function _h(e){let t=Ir(b),n=Ir(s),r=(e.end-e.start|0)-1|0;for(;;){let i=r;if(i>=0){let a=Ir(j(Y(e,i)));t=cm(t,lm(n,a)),n=lm(n,Ir(vi)),r=i-1|0;continue}else break}return t}function vh(e,t){let n;if(n=20<=t?t<=28:!1,n){let n=(t-20|0)&255;if((e.end-e.start|0)<n)return new yi(Kt);let r=Gd(e,0,n);return new bi({_0:Gd(e,n,void 0),_1:_h(r)})}else{let n;if(n=12<=t?t<20:!1,n){let n=(20-t|0)&255;if((e.end-e.start|0)<n)return new yi(Kt);let r=Gd(e,0,n),i=Gd(e,n,void 0),a=If(0),o=0;for(;;){let e=o;if(e<(r.end-r.start|0)){Z(a,(Y(r,e)^255)&255),o=e+1|0;continue}else break}let s=zf(a);return new bi({_0:i,_1:sm(_h(X(s,0,s.length)))})}else if(t===11){if((e.end-e.start|0)<1)return new yi(Kt);let t=(Y(e,0)^255)&255;if((e.end-e.start|0)<(t+1|0))return new yi(Kt);let n=Gd(e,1,t+1|0),r=Gd(e,t+1|0,void 0),i=If(0),a=0;for(;;){let e=a;if(e<(n.end-n.start|0)){Z(i,(Y(n,e)^255)&255),a=e+1|0;continue}else break}let o=zf(i);return new bi({_0:r,_1:sm(_h(X(o,0,o.length)))})}else if(t===29){if((e.end-e.start|0)<1)return new yi(Kt);let t=Y(e,0);if((e.end-e.start|0)<(t+1|0))return new yi(Kt);let n=Gd(e,1,t+1|0);return new bi({_0:Gd(e,t+1|0,void 0),_1:_h(n)})}else return new yi(new Gt(t))}}function yh(e,t){if((t+8|0)>(e.end-e.start|0))return new xi(Kt);let n=ll(0),r=0;for(;;){let i=r;if(i<8){I(n,Y(e,t+i|0)),r=i+1|0;continue}else break}let i=ih(Qd({buf:n,start:0,end:n.length}));return new Si({_0:G(K(i,ir),b)?nh(Id(i,ft)):nh(Id(i,ir)),_1:t+8|0})}function bh(e){let t=ah(),n=0;for(;n<(e.end-e.start|0);){let r=Y(e,n);if(n=n+1|0,r===2){let r=gh(e,n),i;if(r.$tag===1)i=r._0;else return r;let a=i._0,o=i._1,s=Ym(a);if(s===void 0)return new ki(qt);oh(t,new wi(s)),n=o}else if(r===1){let r=gh(e,n),i;if(r.$tag===1)i=r._0;else return r;let a=i._0,o=i._1;oh(t,new Ci($d(qd(a)))),n=o}else if(r>=11&&r<=29){let i=vh(Gd(e,n,void 0),r),a;if(i.$tag===1)a=i._0;else return i;let o=a._0,s=a._1;oh(t,new Ti(s)),n=(e.end-e.start|0)-(o.end-o.start|0)|0}else if(r===33){let r=yh(e,n),i;if(r.$tag===1)i=r._0;else return r;let a=i._0,o=i._1;oh(t,new Ei(a)),n=o}else if(r===38)oh(t,Di);else if(r===39)oh(t,Oi);else return new ki(new Gt(r))}return new Ai(t)}function xh(e){switch(e.$tag){case 3:{let t=e._0;return Hd(t)+0===t?new Ti(Fr(Hd(t))):new Ei(t)}case 4:{let t=e._0;return new wi(qm(t))}case 1:return Oi;case 2:return Di;default:return}}function Sh(e){switch(e.$tag){case 3:{let t=e._0;return new r(t,void 0)}case 2:{let t=e._0;return new r(Dd(pm(t)),void 0)}case 1:{let t=e._0;return new i(Zm(t))}case 5:return t;case 4:return n;default:return}}function Ch(e){let t=ah(),n=e.length,r=0;for(;;){let i=r;if(i<n){let n=e[i],a=xh(n);if(a===void 0)return;let o=t.parts,s;s=a===void 0?S():a,gl(o,s),r=i+1|0;continue}else break}return hh(t)}function wh(e){let t;_L:{_L$2:{let n=bh(X(e,0,e.length));if(n.$tag===1)t=n._0;else{n._0;break _L$2}break _L}t=ts(`Failed to decode key`,`@zxch3n/flock/memcomparable:codec.mbt:416:48-416:77`)}let n=al(0),r=t.parts,i=r.length,a=0;for(;;){let e=a;if(e<i){let t=r[e],i=Sh(t),o;o=i===void 0?S():i,fl(n,o),a=e+1|0;continue}else break}return n}function Th(e,t){let n=t;for(;;){let t=n;if(t===void 0)return;{let r=t;Th(e,r.left),e(r.key,r.value),n=r.right;continue}}}function Eh(e,t){Th(t,e.root)}function Dh(e){let t=cl(e.size);return Eh(e,(e,n)=>{vl(t,{_0:e,_1:n})}),t}function Oh(){return{root:void 0,size:0}}function kh(){return{root:void 0,size:0}}function Ah(e,t){if(t===void 0)return!0;{let n=t;return e===void 0?!1:e.height>=n.height}}function jh(e,t){if(t===void 0)return!0;{let n=t;return e===void 0?!1:e.height>=n.height}}function Mh(e){let t=e.left,n;n=t===void 0?0:t.height;let r=e.right,i;i=r===void 0?0:r.height,e.height=1+(n>i?n:i)|0}function Nh(e){let t=e.left,n;n=t===void 0?0:t.height;let r=e.right,i;i=r===void 0?0:r.height,e.height=1+(n>i?n:i)|0}function Ph(e){let t=e.right,n;return n=t===void 0?S():t,e.right=n.left,n.left=e,Mh(e),Mh(n),n}function Fh(e){let t=e.right,n;return n=t===void 0?S():t,e.right=n.left,n.left=e,Nh(e),Nh(n),n}function Ih(e){let t=e.left,n;return n=t===void 0?S():t,e.left=n.right,n.right=e,Mh(e),Mh(n),n}function Lh(e){let t=e.left,n;return n=t===void 0?S():t,e.left=n.right,n.right=e,Nh(e),Nh(n),n}function Rh(e){let t=e.left,n;return n=t===void 0?S():t,e.left=Ph(n),Ih(e)}function zh(e){let t=e.left,n;return n=t===void 0?S():t,e.left=Fh(n),Lh(e)}function Bh(e){let t=e.right,n;return n=t===void 0?S():t,e.right=Ih(n),Ph(e)}function Vh(e){let t=e.right,n;return n=t===void 0?S():t,e.right=Lh(n),Fh(e)}function Hh(e){let t=e.left,n=e.right,r;r=t===void 0?0:t.height;let i;i=n===void 0?0:n.height;let a;if(r>(i+1|0)){let n;n=t===void 0?S():t;let r=n.left,i=n.right;a=Ah(r,i)?Ih(e):Rh(e)}else if(i>(r+1|0)){let t;t=n===void 0?S():n;let r=t.left,i=t.right;a=Ah(i,r)?Ph(e):Bh(e)}else a=e;return Mh(a),a}function Uh(e){let t=e.left,n=e.right,r;r=t===void 0?0:t.height;let i;i=n===void 0?0:n.height;let a;if(r>(i+1|0)){let n;n=t===void 0?S():t;let r=n.left,i=n.right;a=jh(r,i)?Lh(e):zh(e)}else if(i>(r+1|0)){let t;t=n===void 0?S():n;let r=t.left,i=t.right;a=jh(i,r)?Fh(e):Vh(e)}else a=e;return Nh(a),a}function Wh(e,t){return{key:e,value:t,left:void 0,right:void 0,height:1}}function Gh(e,t){return{key:e,value:t,left:void 0,right:void 0,height:1}}function Kh(e,t,n){if(e===void 0)return{_0:Wh(t,n),_1:!0};{let r=e;if(Gm(t,r.key))return r.value=n,{_0:r,_1:!1};{let e=r.left,i=r.right;if(Xs(t,r.key)){let i=Kh(e,t,n),a=i._0,o=i._1;return r.left=a,{_0:Hh(r),_1:o}}else{let e=Kh(i,t,n),a=e._0,o=e._1;return r.right=a,{_0:Hh(r),_1:o}}}}}function qh(e,t,n){if(e===void 0)return{_0:Gh(t,n),_1:!0};{let r=e;if(Wm(t,r.key))return r.value=n,{_0:r,_1:!1};{let e=r.left,i=r.right;if(Zs(t,r.key)){let i=qh(e,t,n),a=i._0,o=i._1;return r.left=a,{_0:Uh(r),_1:o}}else{let e=qh(i,t,n),a=e._0,o=e._1;return r.right=a,{_0:Uh(r),_1:o}}}}}function Jh(e,t,n){let r=Kh(e.root,t,n),i=r._0,a=r._1;if(_s(e.root,i)&&(e.root=i),a){e.size=e.size+1|0;return}else return}function Yh(e,t,n){let r=qh(e.root,t,n),i=r._0,a=r._1;if(vs(e.root,i)&&(e.root=i),a){e.size=e.size+1|0;return}else return}function Xh(e,t){let n=e.root;for(;;){let e=n;if(e===void 0)return;{let r=e,i=eh(t,r.key);if(i===0)return r.value;if(i>0){n=r.right;continue}else{n=r.left;continue}}}}function Zh(e,t){let n=e.root;for(;;){let e=n;if(e===void 0)return Li;{let r=e,i=$m(t,r.key);if(i===0)return new Ri(r.value);if(i>0){n=r.right;continue}else{n=r.left;continue}}}}function Qh(e,t){let n=e.root;for(;;){let r=n;if(r===void 0)return{_0:void 0,_1:n=>{Yh(e,t,n)}};{let e=r,i=eh(t,e.key);if(i===0)return{_0:e.value,_1:t=>{e.value=t}};if(i>0){n=e.right;continue}else{n=e.left;continue}}}}function $h(e,t){let n=e.root;for(;;){let e=n;if(e===void 0)return S();{let r=e,i=$m(t,r.key);if(i===0)return r.value;if(i>0){n=r.right;continue}else{n=r.left;continue}}}}function eg(e,t){return Zh(e,t).$tag===1}function tg(e,t){let n=t;for(;;){let t=n;if(t===void 0)return 1;{let r=t,i=r.left,a=r.right,o=r.key,s=r.value;if(tg(e,i)===0||e(o,s)===0)return 0;n=a;continue}}}function ng(e){return t=>tg(t,e.root)}function rg(e,t){let n=t;for(;;){let t=n;if(t===void 0)return 1;{let r=t,i=r.left,a=r.right,o=r.key,s=r.value;if(rg(e,i)===0||e(o,s)===0)return 0;n=a;continue}}}function ig(e){return t=>rg(t,e.root)}function ag(e,t){let n=e._4,r=e._3,i=e._2,a=e._1,o=e._0,s=t;for(;;){let t=s;if(t===void 0)return 1;{let c=t,l=c.left,u=c.right,d=c.key,f=c.value,p;switch(r.$tag){case 2:p=o;break;case 0:{let e=r._0,t=eh(d,e);p={_0:t>0,_1:t>=0};break}default:{let e=r._0,t=eh(d,e);p={_0:t>0,_1:t>0}}}let m=p._0,h=p._1,g;switch(a.$tag){case 2:g=i;break;case 0:{let e=a._0,t=eh(d,e);g={_0:t<0,_1:t<=0};break}default:{let e=a._0,t=eh(d,e);g={_0:t<0,_1:t<0}}}let _=g._0,v=g._1;_L:if(m){if(ag(e,l)===0)return 0;break _L}else break _L;_L$2:if(h)if(v){if(n(d,f)===0)return 0;break _L$2}else break _L$2;else break _L$2;if(_){s=u;continue}else return 1}}}function og(e,t,n){return r=>ag({_0:_o,_1:n,_2:vo,_3:t,_4:r},e.root)}function sg(e,t){return Gm(e.key,t.key)}function cg(e,t){return Wm(e.key,t.key)}function lg(e){let t=qm(e);if(!(t.bytes.length>=128))return t}function ug(e,t){return{physical_time:e,logical_counter:t}}function dg(){return{seq:0,subscribers:ou(8)}}function fg(e,t){let n=e.seq;return Cu(e.subscribers,e.seq,t),e.seq=e.seq+1|0,()=>{Au(e.subscribers,n)}}function pg(e,t){let n=e.subscribers.head;for(;;){let e=n;if(e===void 0)return;{let r=e;r.key;let i=r.value,a=r.next;i(t),n=a;continue}}}function mg(e){return e.subscribers.size===0}function hg(e){let t=``,n=0;for(;;){let r=n;if(r<e.length){C(e,r);let i=e[r],a=nf(i,4)&15,o=i&15,s=Dl(a<10?a+48|0:(a-10|0)+97|0),c=Dl(o<10?o+48|0:(o-10|0)+97|0);t=`${t}${s}`,t=`${t}${c}`,n=r+1|0;continue}else break}return t}function gg(e){if((e.end-e.start|0)%2|0){Wd(`Invalid hex length: ${yc(e.end-e.start|0)}`);return}let t=[],n=0;for(;;){let r=n;if(r<(e.end-e.start|0)){let i=Tc(e,r),a=Tc(e,r+1|0),o=0;if(i>=48&&i<=57)o=o+(Math.imul(i-48|0,16)|0)|0;else if(i>=97&&i<=102)o=o+(Math.imul((i-97|0)+10|0,16)|0)|0;else if(i>=65&&i<=70)o=o+(Math.imul((i-65|0)+10|0,16)|0)|0;else{Wd(`Invalid hex character: ${yc(i)}`);return}if(a>=48&&a<=57)o=o+(a-48|0)|0;else if(a>=97&&a<=102)o=o+((a-97|0)+10|0)|0;else if(a>=65&&a<=70)o=o+((a-65|0)+10|0)|0;else{Wd(`Invalid hex character: ${yc(a)}`);return}I(t,o&255),n=r+2|0;continue}else break}return Qd({buf:t,start:0,end:t.length})}function _g(e){if(e.bytes.length>=128){Yo(`peer id must be less than 128 bytes`,`@zxch3n/flock/flock:flock.mbt:27:5-27:49`);return}else return}function vg(e){return Zm(e)}function yg(e,t){let n=e.hlc,r=t.hlc;return n.physical_time===r.physical_time&&n.logical_counter===r.logical_counter?Gm(e.peer,t.peer):!1}function bg(e,t){let n=e.hlc,r=t.hlc,i=n.physical_time<r.physical_time?-1:n.physical_time>r.physical_time?1:zt(n.logical_counter,r.logical_counter);return i===0?$m(e.peer,t.peer):i}function xg(e){return`${bc(e.physical_time)},${yc(e.logical_counter)}`}function Sg(e){return`${xg(e.hlc)},${vg(e.peer)}`}function Cg(e){let t=jl(Ol(e,{str:`,`,start:0,end:1}));if(t.length<3)return;let n=Mc(Os(t,2)),r=3;for(;;){let e=r;if(e<t.length){n=`${n},${Mc(Os(t,e))}`,r=e+1|0;continue}else break}let i=lg(n),a;if(i===void 0)return;a=i;let o=Os(t,0),s=Os(t,1),c;_L:{_L$2:{let e=Mc(o),t=em({str:e,start:0,end:e.length},1024),n;if(t.$tag===1)n=t._0;else{t._0;break _L$2}c=Zl(im(n));break _L}c=S()}let l=c,u;_L$2:{_L$3:{let e=Mc(s),t=em({str:e,start:0,end:e.length},1024),n;if(t.$tag===1)n=t._0;else{t._0;break _L$3}u=Hd(Zl(im(n)));break _L$2}u=S()}return{hlc:{physical_time:l,logical_counter:u},peer:a}}function wg(e){return{bytes:e}}function Tg(e){let t=Mm(e.digest),n=gg({str:t,start:0,end:t.length});if(n===void 0)return ss(`unexpected digest hex parse failure`,`@zxch3n/flock/flock:digest.mbt:114:13-114:57`);{let e=n,t=un(32,0),r=0;for(;;){let n=r;if(n<32){C(e,n),C(t,n),t[n]=e[n],r=n+1|0;continue}else break}return wg(t)}}function Eg(){return{digest:Tm()}}function Dg(e,t){let n=0;for(;;){let r=n;if(r<(t.end-t.start|0)){Am(e.digest,Y(t,r)),n=r+1|0;continue}else return}}function Og(e,t){let n=Nm(t);Dg(e,X(n,0,n.length))}function kg(e,t){Og(e,Gs(t.end-t.start|0)),Dg(e,t)}function Ag(e,t){let n=e.length,r=t.length,i=n<r?n:r,a=0;for(;;){let n=a;if(n<i){C(e,n);let r=e.charCodeAt(n);C(t,n);let i=t.charCodeAt(n);if($s(r,i))return-1;if(ic(r,i))return 1;a=n+1|0;continue}else break}return n<r?-1:n>r?1:0}function jg(e){let t=0;for(;;){let n=t;if(n<e.length){let r=n,i=n+1|0;for(;;){let t=i;if(t<e.length){Ag(As(e,t)._0,As(e,r)._0)<0&&(r=t),i=t+1|0;continue}else break}if(r!==n){let t=As(e,n);tf(e,n,As(e,r)),tf(e,r,t)}t=n+1|0;continue}else return}}function Mg(e,t){let n=t?1:0;Am(e.digest,n&255)}function Ng(e,t){let n=Nm(t);Dg(e,X(n,0,n.length))}function Pg(e,t){Ng(e,Ad(t))}function Fg(e,t){let n=Pm(t);Dg(e,X(n,0,n.length))}function Ig(e,t){let n=qm(t).bytes;kg(e,X(n,0,n.length))}function Lg(e,t){Am(e.digest,t)}function Rg(e,t){switch(t.$tag){case 0:Lg(e,32);return;case 1:Lg(e,33),Mg(e,!0);return;case 2:Lg(e,33),Mg(e,!1);return;case 3:{let n=t._0;Lg(e,34),Pg(e,n);return}case 4:{let n=t._0;Lg(e,35),Ig(e,n);return}case 5:{let n=t._0;Lg(e,36),Og(e,Gs(n.length));let r=0;for(;;){let t=r;if(t<n.length){Rg(e,ws(n,t)),r=t+1|0;continue}else return}}default:{let n=t._0;Lg(e,37);let r=dl(0),i=n.head;for(;;){let e=i;if(e===void 0)break;{let t=e,n=t.key,a=t.value,o=t.next;xl(r,{_0:n,_1:a}),i=o;continue}}jg(r),Og(e,Gs(r.length));let a=0;for(;;){let t=a;if(t<r.length){let n=As(r,t),i=n._0,o=n._1;Ig(e,i),Rg(e,o),a=t+1|0;continue}else return}}}}function zg(e,t){Lg(e,16);let n=t.data;if(n===void 0)Mg(e,!1);else{let t=n;Mg(e,!0),Rg(e,t)}Lg(e,18);let r=t.metadata;if(r===void 0)Mg(e,!1);else{let t=r;Mg(e,!0);let n=dl(0),i=t.head;for(;;){let e=i;if(e===void 0)break;{let t=e,r=t.key,a=t.value,o=t.next;xl(n,{_0:r,_1:a}),i=o;continue}}jg(n),Og(e,Gs(n.length));let a=0;for(;;){let t=a;if(t<n.length){let r=As(n,t),i=r._0,o=r._1;Ig(e,i),Rg(e,o),a=t+1|0;continue}else break}}Lg(e,17),Pg(e,t.clock.hlc.physical_time),Fg(e,j(t.clock.hlc.logical_counter));let i=t.clock.peer.bytes;kg(e,X(i,0,i.length))}function Bg(){return{bytes:un(32,0)}}function Vg(e,t){if(t.data===void 0)return Bg();let n=Eg(),r=e;return kg(n,X(r,0,r.length)),zg(n,t),Tg(n)}function Hg(e){return Vg(e.key,e.value)}function Ug(e,t){return{key:e,value:t,overridden:!1}}function Wg(e,t){if(Wm(e.key,t.key)){let n;if(ql(e.value.data,t.value.data)){let r;if(Jl(e.value.metadata,t.value.metadata)){let n;if(Gm(e.value.clock.peer,t.value.clock.peer)){let r=e.value.clock.hlc,i=t.value.clock.hlc;n=r.physical_time===i.physical_time&&r.logical_counter===i.logical_counter}else n=!1;r=n}else r=!1;n=r}else n=!1;return n}else return!1}function Gg(e,t,n){let r=e.digest;if(r!==void 0){let e=r.pending;if(t===void 0||yl(e,t),n===void 0)return;yl(e,n);return}}function Kg(e,t,n){let r=t.key,i=t.value.clock.peer,a=Qh(e.kv,r),o=a._0,s=a._1,c;if(o===void 0)c=!0;else{let e=o;c=tc(t.value.clock,e.value.clock)||n&&ql(t.value.data,e.value.data)}if(!c)return!1;let l;if(o!==void 0){let e=o;l=Hg(e),e.overridden=!0}let u=eu(t.value.data,e=>Hg(t));s(t),eg(e.updates,i)||Jh(e.updates,i,[]);let d=$h(e.updates,i),f=!1,p=hf(d);if(p!==void 0&&tc(p.value.clock,t.value.clock)){f=!0;let e=d.length-2|0;for(;;){let n=e;if(n>=0){if(Ys(xs(d,n).value.clock,t.value.clock)){lf(d,n+1|0,t);break}e=n-1|0;continue}else{lf(d,0,t);break}}}return f||_l(d,t),Gg(e,l,u),!0}function qg(e){let t=L(8),n=e.head;for(;;){let e=n;if(e===void 0)break;{let r=e,i=r.key,a=r.value,o=r.next;R(t,i,a),n=o;continue}}return t}function Jg(e){let t=e.metadata,n;return n=t===void 0?void 0:qg(t),{data:e.data,metadata:n,clock:e.clock}}function Yg(e){let t=L(8),n=e.data;n===void 0||R(t,`d`,n),R(t,`c`,new i(Sg(e.clock)));let r=e.metadata;return r===void 0||R(t,`m`,B(qg(r))),B(t)}function Xg(e){if(e.$tag===6){let t=e._0,n;_L:{_L$2:{let e=Tu(t,`c`);if(e===void 0)break _L$2;{let t=e;if(t.$tag===4){let e=t._0,r=Cg({str:e,start:0,end:e.length});if(r===void 0)return;n=r}else break _L$2}break _L}return}let r=Tu(t,`d`),i=Tu(t,`m`),a;if(i===void 0)a=void 0;else{let e=i;switch(e.$tag){case 6:{let t=e._0;a=qg(t);break}case 0:a=void 0;break;default:return}}return{data:r,metadata:a,clock:n}}else return}function Zg(e){let t=e.metadata,n;return n=t===void 0?L(8):qg(t),{data:e.data,metadata:n,clock:e.clock}}function Qg(e){let t=lg(e),n;n=t===void 0?qo(`peer id must be less than 128 bytes`,`@zxch3n/flock/flock:flock.mbt:384:13-384:57`):t,_g(n);let r=au(8),i=Oh(),a=kh(),o=dg();return{peer_id:n,max_hlc:bo,vv:r,kv:i,updates:a,subscribers:o,digest:void 0,txn_events:zi}}function $g(e,t){let n=lg(t),r;r=n===void 0?qo(`peer id must be less than 128 bytes`,`@zxch3n/flock/flock:flock.mbt:403:13-403:57`):n,_g(r),e.peer_id=r}function e_(e,t){let n=Dh(e.kv),r=Dh(t.kv);if(n.length!==r.length)return!1;let i=0;for(;;){let e=i;if(e<n.length){let t=Ts(n,e),a=t._0,o=t._1,s=Ts(r,e),c=s._0,l=s._1;if(ms(a,c)||!Wg(o,l))return!1;i=e+1|0;continue}else break}return!0}function t_(e,t,n,r,i,a,o){let s=Ch(t);if(s===void 0)return new Vi(new Ut(z(t)));{let t=s;if(o){let i=Xh(e.kv,t);if(i===void 0){if(n===void 0&&r===void 0)return new Hi(void 0)}else{let e=i;if(ql(e.value.data,n)&&Jl(e.value.metadata,r))return new Hi(void 0)}}let c=Ql(i,()=>Ku(mm()));c>e.max_hlc.physical_time?e.max_hlc={physical_time:c,logical_counter:0}:e.max_hlc={physical_time:e.max_hlc.physical_time,logical_counter:e.max_hlc.logical_counter+1|0};let l={hlc:e.max_hlc,peer:e.peer_id},u;u=r===void 0?void 0:qg(r);let d=Ug(t,{data:n,metadata:u,clock:l}),f;if(a===void 0)f=Jg(d.value);else{let e=a(d);f=Jg(e===void 0?d.value:e.value)}let p=Ug(t,{data:f.data,metadata:f.metadata,clock:l});if(!Kg(e,p,!0))return new Hi(void 0);let m=p.value.clock.hlc;e.max_hlc=m,Su(e.vv,vg(e.peer_id),m);let h=e.txn_events;if(h.$tag===1){let e=h._0;return new Hi(ml(e,{_0:wh(p.key),_1:Jg(p.value)}))}else if(mg(e.subscribers))return new Hi(void 0);else{let t=wh(p.key),n=Jg(p.value);return new Hi(pg(e.subscribers,{by:jt,events:[{_0:t,_1:n}]}))}}}function n_(e,t,n,r,i,a,o){let s;s=r.$tag===1?r._0:void 0;let c;c=i===void 0?or:i;let l;return l=a.$tag===1?a._0:void 0,t_(e,t,n,s,c,l,o===-1?!0:o)}function r_(e,t,n,r,i,a){return t_(e,t,n,r,i,a,!0)}function i_(e,t,n,r,i,a){let o;o=r.$tag===1?r._0:void 0;let s;s=i===void 0?or:i;let c;return c=a.$tag===1?a._0:void 0,r_(e,t,n,o,s,c)}function a_(e,t,n,r){return i_(e,t,n,Ui,r,Gi)}function o_(e,t,n){return n_(e,t,void 0,Ui,n,Gi,!0)}function s_(e){if(e.txn_events.$tag===0){e.txn_events=new Bi([]);return}else{Yo(`Nested transactions are not supported`,`@zxch3n/flock/flock:flock.mbt:601:5-601:51`);return}}function c_(e){let t=e.txn_events;if(t.$tag===1){let n=t._0;if(e.txn_events=zi,n.length>0&&!mg(e.subscribers)){pg(e.subscribers,{by:jt,events:n});return}else return}else{Yo(`No active transaction to commit`,`@zxch3n/flock/flock:flock.mbt:611:5-611:45`);return}}function l_(e){if(e.txn_events.$tag===1){e.txn_events=zi;return}else{Yo(`No active transaction to rollback`,`@zxch3n/flock/flock:flock.mbt:625:5-625:47`);return}}function u_(e){return e.txn_events.$tag===1}function d_(e,t){let n=Ch(t);if(n!==void 0){let t=n;return nu(Xh(e.kv,t),e=>e.value.data)}}function f_(e,t){let n=Ch(t);if(n!==void 0){let t=n;return $l(Xh(e.kv,t),e=>Zg(e.value))}}function p_(){return e=>1}function m_(e){if(!(e.end-e.start|0))return;let t=ll(e.end-e.start|0),n=0;for(;;){let r=n;if(r<(e.end-e.start|0)){I(t,Y(e,r)),n=r+1|0;continue}else break}let r=t.length-1|0;for(;;){let e=r;if(e>=0){let n=Ds(t,e);if(n<255){ef(t,e,(n+1|0)&255);let r=ll(e+1|0),i=0;for(;;){let n=i;if(n<=e){I(r,Ds(t,n)),i=n+1|0;continue}else break}return Qd({buf:r,start:0,end:r.length})}r=e-1|0;continue}else break}}function h_(e,t,n){let r=e._1,i=e._0,a=r.val;if(a===void 0){r.val=t,i.val=n;return}else{let e=a,o=sh(X(t,0,t.length),X(e,0,e.length));if(o>0){r.val=t,i.val=n;return}else if(o===0){i.val=i.val&&n;return}else return}}function g_(e,t,n){let r=e._1,i=e._0,a=r.val;if(a===void 0){r.val=t,i.val=n;return}else{let e=a,o=sh(X(t,0,t.length),X(e,0,e.length));if(o<0){r.val=t,i.val=n;return}else if(o===0){i.val=i.val&&n;return}else return}}function __(e,t,n,r){let i={val:al(0)},a={val:!1},o,s;if(r.$tag===1){let e=r._0;i.val=uf(e),a.val=!0;let t=Ch(e);if(t===void 0)return p_();{let e=t;s=m_(X(e,0,e.length)),o=e}}let c;switch(t.$tag){case 0:{let e=t._0,n=Ch(e);if(n===void 0)return p_();c=new qi(n);break}case 1:{let e=t._0,n=Ch(e);if(n===void 0)return p_();c=new Ji(n);break}default:c=Yi}let l;switch(n.$tag){case 0:{let e=n._0,t=Ch(e);if(t===void 0)return p_();l=new qi(t);break}case 1:{let e=n._0,t=Ch(e);if(t===void 0)return p_();l=new Ji(t);break}default:l=Yi}let u={val:void 0},d={val:!0},f={_0:d,_1:u},p=o;switch(p===void 0||h_(f,p,!0),c.$tag){case 0:{let e=c._0;h_(f,e,!0);break}case 1:{let e=c._0;h_(f,e,!1);break}}let m=u.val,h;if(m===void 0)h=Ii;else{let e=m;h=d.val?new Pi(e):new Fi(e)}let g={val:void 0},_={val:!0},v={_0:_,_1:g},y=s;switch(y===void 0||g_(v,y,!1),l.$tag){case 0:{let e=l._0;g_(v,e,!0);break}case 1:{let e=l._0;g_(v,e,!1);break}}let ee=g.val,te;if(ee===void 0)te=Ii;else{let e=ee;te=_.val?new Pi(e):new Fi(e)}let ne=og(e.kv,h,te);return e=>Xu(ne,(t,n)=>{let r=wh(t);if(a.val){if(i.val.length>r.length)return 1;let e=!0,t=0;for(;;){let n=t;if(n<i.val.length){if(gs(ws(i.val,n),ws(r,n))){e=!1;break}t=n+1|0;continue}else break}if(!e)return 1}return e(r,n)===0?0:1})}function v_(e,t,n,r){let i;i=t===void 0?Ni:t;let a;return a=n===void 0?Ni:n,__(e,i,a,r)}function y_(e,t){return fg(e.subscribers,t)}function b_(e){return vg(e.peer_id)}function x_(e){let t=au(8);return ng(e.updates)((e,n)=>{let r=n.length-1|0;for(;;){let i=r;if(i>=0){let a=xs(n,i);if(!a.overridden){Su(t,vg(e),a.value.clock.hlc);break}r=i-1|0;continue}else break}return 1}),t}function S_(e){return zu(e.vv)}function C_(e,t,n,r){let i=Zh(r.updates,t);if(i.$tag===1){let t=i._0,a=0;for(;;){let i=a;if(i<t.length){_L:{let a=xs(t,i);if(a.overridden)break _L;_L$2:{_L$3:{let t=Xh(r.kv,a.key);if(t===void 0)break _L$3;if(yg(t.value.clock,a.value.clock)){if(n.$tag===1){let e=n._0;if(a.value.data===void 0&&a.value.clock.hlc.physical_time<e)break _L}let t=wh(a.key),r=a.value;R(e,rm(z(t),!1,0,void 0),Yg(r))}else break _L$3;break _L$2}break _L}break _L}a=i+1|0;continue}else return}}else return}function w_(e,t,n,r,i){let a=Zh(i.updates,t);if(a.$tag===1){let t=a._0,i=pf(t,e=>{let t=e.value.clock.hlc;return t.physical_time<n.physical_time?-1:t.physical_time>n.physical_time?1:zt(t.logical_counter,n.logical_counter)}),o;o=i.$tag===1?i._0+1|0:i._0;let s=o;for(;;){let n=s;if(n<t.length){_L:{let i=xs(t,n);if(i.overridden)break _L;if(r.$tag===1){let e=r._0;if(i.value.data===void 0&&i.value.clock.hlc.physical_time<e)break _L}let a=wh(i.key),o=i.value;R(e,rm(z(a),!1,0,void 0),Yg(o));break _L}s=n+1|0;continue}else return}}else return}function T_(e,t,n,i){let a=L(8),s;if(i===void 0)s=void 0;else{let e=lg(i);s=e===void 0?void 0:e}R(a,`version`,new r(0,void 0));let c=L(8);if(s===void 0)_L:{_L$2:{if(t===void 0)break _L$2;{let r=t;if(r.size!==0){let t=Xi;Iu(e.vv)((t,i)=>{let a=wu(r,t),o;if(o=a===void 0?yo:a,cc(o,i))return 1;let s=lg(t),l;return s===void 0?1:(l=s,w_(c,l,o,n,e),1)});let i=t;switch(i.$tag){case 0:break;case 1:i._0;break;case 2:return i._0;case 3:S();break;default:S()}}else break _L$2}break _L}ig(e.kv)((e,t)=>{let n=wh(e),r=t.value;return R(c,rm(z(n),!1,0,void 0),Yg(r)),1})}else{let r=s;_L:{_L$2:{if(t===void 0)break _L$2;{let i=t;if(i.size!==0){let t=vg(r),a=wu(i,t),o;o=a===void 0?yo:a;_L$3:_L$4:{let i=wu(e.vv,t);if(i===void 0)break _L$4;if(Js(o,i))w_(c,r,o,n,e);else break _L$4;break _L$3}}else break _L$2}break _L}C_(c,r,n,e)}}return R(a,`entries`,new o(c)),new o(a)}function E_(e,t,n,r){let i;i=n===void 0?or:n;let a;return a=r.$tag===1?r._0:void 0,T_(e,t,i,a)}function D_(e,t,n){let r=e.txn_events;if(r.$tag===1){let n=r._0;return e.txn_events=zi,n.length>0&&!mg(e.subscribers)&&pg(e.subscribers,{by:jt,events:n}),new ta(new Ht(t,`import called during transaction - transaction was auto-committed`))}if(t.$tag===6){let r=t._0,i;_L:{_L$2:{let e=Tu(r,`version`);if(e===void 0)return new ta(new Ht(t,`The imported json does not contain a version field`));{let t=e;if(t.$tag===3){if(t._0!==0){i=t;break _L$2}}else{i=t;break _L$2}}break _L}return new ta(new Ht(t,`The imported json uses an unsupported version ${vc(i)}`))}let a={val:zi};mg(e.subscribers)||(a.val=new Bi(ol(0)));let o=sl(0),s={val:0},c;_L$2:{_L$3:{let e=Tu(r,`entries`);if(e===void 0)break _L$3;{let t=e;if(t.$tag===6)c=t._0;else break _L$3}break _L$2}return new ta(new Ht(t,`entries is not an object`))}let l={val:ra};Lu(c)((r,i)=>{let c;_L$3:{let l=Xg(i),u;if(l===void 0){c=new Ht(t,`value is not a raw value`);break _L$3}else u=l;let d;_L$4:{_L$5:{let e=em({str:r,start:0,end:r.length},1024);if(e.$tag===1)d=e._0;else{e._0;break _L$5}break _L$4}d=S()}if(d.$tag===5){let r=d._0,i=al(0),l=0;for(;;){let e=l;if(e<r.length){fl(i,ws(r,e)),l=e+1|0;continue}else break}let f=Ch(i);if(f===void 0){c=new Ht(t,`key is not a valid key`);break _L$3}else{let t=Ug(f,u),r;if(n===void 0)r=t;else{let e=n(t);if(e.$tag===0)r=t;else{let t=e._0;return pl(o,{key:uf(i),reason:t}),1}}s.val=s.val+1|0;let c=r.value.clock.peer,l=r.value.clock.hlc,d=Kg(e,r,!1);Js(e.max_hlc,l)&&(e.max_hlc=l);let p=vg(c),m=wu(e.vv,p);if(m===void 0)Su(e.vv,p,l);else{let t=m;(t.physical_time<l.physical_time?-1:t.physical_time>l.physical_time?1:zt(t.logical_counter,l.logical_counter))<0&&Su(e.vv,p,l)}if(d){let e=a.val;if(e.$tag===1){let t=e._0;ml(t,{_0:wh(r.key),_1:Jg(r.value)})}}}}else{c=new Ht(t,`key is not an array json`);break _L$3}return 1}return l.val=new oa(c),0});let u=l.val;switch(u.$tag){case 0:break;case 1:u._0;break;case 2:return new na(u._0);case 3:return new ta(u._0);default:S()}let d=a.val;if(d.$tag===1){let t=d._0;t.length>0&&pg(e.subscribers,{by:xo,events:t})}return new na({accepted:s.val,skipped:o})}else return new ta(new Ht(t,`not an object`))}function O_(e,t,n){let r;return r=n.$tag===1?n._0:void 0,D_(e,t,r)}function k_(e,t){_L:{_L$2:{let n=O_(e,E_(t,x_(e),void 0,ca),ua);if(n.$tag===1)n._0;else{n._0;break _L$2}break _L}S()}}function A_(e,t){let n=Qg(t),r=O_(n,e,ua);if(r.$tag===1)r._0;else return r;return new pa(n)}function j_(e){return E_(e,void 0,void 0,ca)}function M_(e,n,r,i){let a={val:ma};v_(e,void 0,void 0,new ba(n))((n,r)=>{let o;_L:{let a=r.value.data;if(ql(a,t)){let t=o_(e,n,i);if(t.$tag===1)t._0;else{o=t._0;break _L}}return 1}return a.val=new _a(o),0});let o=a.val;switch(o.$tag){case 0:break;case 1:o._0;break;case 2:return new Hi(o._0);case 3:return new Vi(o._0);default:S()}let s=uf(n);_L:{_L$2:{switch(r.$tag){case 5:break _L$2;case 0:break _L$2;case 6:break _L$2}break _L}return new Vi(new Wt(r))}return fl(s,r),n_(e,s,t,Ui,i,Gi,-1)}function N_(e,n){let r=[],i=xa;v_(e,void 0,void 0,new ba(n))((e,i)=>{let a;if(e.length!==(n.length+1|0))a=!0;else{let e=i.value.data;a=hs(e,t)}return a||fl(r,ws(e,n.length)),1});let a=i;switch(a.$tag){case 0:break;case 1:a._0;break;case 2:return a._0;case 3:S();break;default:S()}return r}function P_(e){return Qg(e)}function F_(e){return Ea(e)}function I_(e){let t=F_(e);_L:{let e=em({str:t,start:0,end:t.length},1024);if(e.$tag===1)return e._0;e._0;break _L}return S()}function L_(e){return Da(e)}function R_(e){return L_(rm(e,!1,0,void 0))}function z_(e){switch(e.$tag){case 6:{let t=e._0,n=L(8),r=t.head;for(;;){let e=r;if(e===void 0)break;{let t=e,i=t.key,a=t.value,o=t.next;R(n,i,a),r=o;continue}}return n}case 0:return;default:return Zo(`metadata must be an object or null`,`@zxch3n/flock/flock:ffi-js.mbt:43:10-43:53`)}}function B_(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:50:15-50:33`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=ym(r,`@zxch3n/flock/flock:ffi-js.mbt:51:40-51:54`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=Array(a.length),s=a.length,c=0;for(;;){let e=c;if(e<s){let t=a[e];o[e]=I_(t),c=e+1|0;continue}else break}let l=d_(e,o);return l===void 0?bm():R_(l)}return S()}function V_(e){let t=L(8);return R(t,`physicalTime`,Ju(e.hlc.physical_time)),R(t,`logicalCounter`,Vu(e.hlc.logical_counter)),R(t,`peerId`,new i(vg(e.peer))),B(t)}function H_(e){let t=L(8),n=e.head;for(;;){let e=n;if(e===void 0)break;{let r=e,i=r.key,a=r.value,o=r.next;R(t,i,a),n=o;continue}}return B(t)}function U_(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:67:15-67:33`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=ym(r,`@zxch3n/flock/flock:ffi-js.mbt:68:40-68:54`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=Array(a.length),s=a.length,c=0;for(;;){let e=c;if(e<s){let t=a[e];o[e]=I_(t),c=e+1|0;continue}else break}let l=f_(e,o);if(l===void 0)return bm();{let e=l,t=L(8),n=e.data;return n===void 0||R(t,`data`,n),R(t,`metadata`,H_(e.metadata)),R(t,`clock`,V_(e.clock)),R_(B(t))}}return S()}function W_(e){return Oa(e)}function G_(e){return ka(e)}function K_(e){if(e.$tag===6){let t=e._0,n=au(8);return Lu(t)((e,t)=>{lg(e)===void 0&&Yo(`invalid peer id in version vector`,`@zxch3n/flock/flock:ffi-js.mbt:215:15-215:57`);_L:{_L$2:{if(t.$tag===5){let r=t._0;if(r.length>=2)Su(n,e,ug(Zl(im(ws(r,0))),Hd(Zl(im(ws(r,1))))));else break _L$2}else break _L$2;break _L}Yo(`version vector entry must be [physical_time, logical_counter]`,`@zxch3n/flock/flock:ffi-js.mbt:218:7-218:77`)}return 1}),n}else return Xo(`version vector must be an object`,`@zxch3n/flock/flock:ffi-js.mbt:209:5-209:46`)}function q_(e,t,n,r){_L:{let i;if(G_(t)||W_(t))i=void 0;else{let e=$(t,`@zxch3n/flock/flock:ffi-js.mbt:100:32-100:51`),n;if(e.$tag===1)n=e._0;else{e._0;break _L}i=K_(I_(n))}let a;if(G_(n)||W_(n))a=or;else{let e=$(n,`@zxch3n/flock/flock:ffi-js.mbt:107:12-107:50`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let r=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:107:12-107:62`),i;if(r.$tag===1)i=r._0;else{r._0;break _L}a=new sr(i)}let o;if(G_(r)||W_(r))o=void 0;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:112:12-112:34`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=_m(t,`@zxch3n/flock/flock:ffi-js.mbt:112:12-112:46`);if(n.$tag===1)o=n._0;else{n._0;break _L}}let s;return s=i===void 0?T_(e,void 0,a,o):T_(e,i,a,o),R_(s)}return S()}function J_(e,t){_L:if(G_(t)||W_(t))return Jo(`json is null or undefined`,`@zxch3n/flock/flock:ffi-js.mbt:135:7-135:41`);else{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:137:32-137:51`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let a=I_(r),o;_L$2:{_L$3:{let t=O_(e,a,ua);if(t.$tag===1)o=t._0;else{t._0;break _L$3}break _L$2}o=S()}let s=al(0),c=0;for(;;){let e=c;if(e<o.skipped.length){let t=Ss(o.skipped,e),n=L(8);R(n,`key`,z(t.key));let r=t.reason;R(n,`reason`,new i(r)),fl(s,B(n)),c=e+1|0;continue}else break}let l=L(8);return R(l,`accepted`,Vu(o.accepted)),R(l,`skipped`,z(s)),R_(B(l))}return S()}function Y_(e,t){_L:if(G_(t)||W_(t))return Jo(`json is null or undefined`,`@zxch3n/flock/flock:ffi-js.mbt:161:7-161:41`);else{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:163:13-163:36`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let a=_m(r,`@zxch3n/flock/flock:ffi-js.mbt:163:13-163:48`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s;_L$2:{_L$3:{let e=em({str:o,start:0,end:o.length},1024);if(e.$tag===1)s=e._0;else{e._0;break _L$3}break _L$2}s=S()}let c;_L$3:{_L$4:{let t=O_(e,s,ua);if(t.$tag===1)c=t._0;else{t._0;break _L$4}break _L$3}c=S()}let l=al(0),u=0;for(;;){let e=u;if(e<c.skipped.length){let t=Ss(c.skipped,e),n=L(8);R(n,`key`,z(t.key));let r=t.reason;R(n,`reason`,new i(r)),fl(l,B(n)),u=e+1|0;continue}else break}let d=L(8);return R(d,`accepted`,Vu(c.accepted)),R(d,`skipped`,z(l)),R_(B(d))}return S()}function X_(e){let t=L(8);return Iu(e)((e,n)=>(R(t,e,z([Ju(n.physical_time),Vu(n.logical_counter)])),1)),B(t)}function Z_(e){return R_(X_(x_(e)))}function Q_(e){return R_(X_(S_(e)))}function $_(e){return lg(e)===void 0?Qo(`invalid peer id`,`@zxch3n/flock/flock:ffi-js.mbt:236:13-236:37`):e}function ev(e){if(e.$tag===6){let t=e._0,n;_L:{_L$2:{let e=Tu(t,`kind`);if(e===void 0)break _L$2;{let t=e;if(t.$tag===4)n=t._0;else break _L$2}break _L}n=Qo(`bound.kind must be a string`,`@zxch3n/flock/flock:ffi-js.mbt:246:14-246:50`)}let r;_L$2:{_L$3:{let e=Tu(t,`key`);if(e===void 0)break _L$3;{let t=e;if(t.$tag===5){let e=t._0;r=uf(e)}else break _L$3}break _L$2}r=$o(`bound.key must be an array`,`@zxch3n/flock/flock:ffi-js.mbt:250:14-250:49`)}return n===`inclusive`?new ji(r):n===`exclusive`?new Mi(r):n===`unbounded`?Ni:es(`unexpected bound.kind`,`@zxch3n/flock/flock:ffi-js.mbt:259:9-259:39`)}else return es(`bound must be an object`,`@zxch3n/flock/flock:ffi-js.mbt:262:10-262:42`)}function tv(e,t){return e_(e,t)}function nv(e,t,n,r){_L:{let i=$(t,`@zxch3n/flock/flock:ffi-js.mbt:284:21-284:39`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=ym(a,`@zxch3n/flock/flock:ffi-js.mbt:285:40-285:60`),s;if(o.$tag===1)s=o._0;else{o._0;break _L}let c=Array(s.length),l=s.length,u=0;for(;;){let e=u;if(e<l){let t=s[e];c[e]=I_(t),u=e+1|0;continue}else break}let d=c,f;_L$2:{_L$3:{let e=em({str:n,start:0,end:n.length},1024);if(e.$tag===1)f=e._0;else{e._0;break _L$3}break _L$2}f=S()}let p;if(G_(r)||W_(r))p=or;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:291:12-291:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:291:12-291:42`),i;if(n.$tag===1)i=n._0;else{n._0;break _L}p=new sr(i)}let m=a_(e,d,f,p);if(m.$tag===1){m._0;return}else{m._0;break _L}}S()}function rv(e,t,n,r,i){_L:{let a=$(t,`@zxch3n/flock/flock:ffi-js.mbt:306:21-306:39`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s=ym(o,`@zxch3n/flock/flock:ffi-js.mbt:307:40-307:60`),c;if(s.$tag===1)c=s._0;else{s._0;break _L}let l=Array(c.length),u=c.length,d=0;for(;;){let e=d;if(e<u){let t=c[e];l[e]=I_(t),d=e+1|0;continue}else break}let f=l,p;_L$2:{_L$3:{let e=em({str:n,start:0,end:n.length},1024);if(e.$tag===1)p=e._0;else{e._0;break _L$3}break _L$2}p=S()}let m;if(G_(r)||W_(r))m=void 0;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:313:41-313:64`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}m=z_(I_(t))}let h;if(G_(i)||W_(i))h=or;else{let e=$(i,`@zxch3n/flock/flock:ffi-js.mbt:319:12-319:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:319:12-319:42`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}h=new sr(r)}if(m===void 0){let t=i_(e,f,p,Ui,h,Gi);if(t.$tag===1){t._0;return}else{t._0;break _L}}else{let t=i_(e,f,p,new Wi(m),h,Gi);if(t.$tag===1){t._0;return}else{t._0;break _L}}}S()}function iv(e,t,n){_L:{let r=$(t,`@zxch3n/flock/flock:ffi-js.mbt:341:21-341:39`),i;if(r.$tag===1)i=r._0;else{r._0;break _L}let a=ym(i,`@zxch3n/flock/flock:ffi-js.mbt:342:40-342:60`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s=Array(o.length),c=o.length,l=0;for(;;){let e=l;if(e<c){let t=o[e];s[e]=I_(t),l=e+1|0;continue}else break}let u=s,d;if(G_(n)||W_(n))d=or;else{let e=$(n,`@zxch3n/flock/flock:ffi-js.mbt:347:12-347:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let r=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:347:12-347:42`),i;if(r.$tag===1)i=r._0;else{r._0;break _L}d=new sr(i)}let f=o_(e,u,d);if(f.$tag===1){f._0;return}else{f._0;break _L}}S()}function av(e){return e.max_hlc.physical_time}function ov(e){return b_(e)}function sv(e){return R_(j_(e))}function cv(e){return{bytes:Vd(e.bytes)}}function lv(e,t){let n=Vd(e.bytes),r=t.bytes,i=0;for(;;){let e=i;if(e<32){C(n,e);let t=n[e];C(r,e);let a=r[e];C(n,e),n[e]=(t^a)&255,i=e+1|0;continue}else break}return{bytes:n}}function uv(e){let t={val:Bg()},n=Aa;ig(e.kv)((e,n)=>(n.value.data===void 0||(t.val=lv(t.val,Hg(n))),1));let r=n;switch(r.$tag){case 0:break;case 1:r._0;break;case 2:return r._0;case 3:S();break;default:S()}let i=cv(t.val);return e.digest={sum:t.val,pending:[]},i}function dv(e){let t=e.digest;if(t!==void 0){let n=t,r=n.sum,i=n.pending;if(i.length===0)return cv(r);if(i.length>=e.kv.size)return uv(e);let a=cv(r),o=0;for(;;){let e=o;if(e<i.length){a=lv(a,Es(i,e)),o=e+1|0;continue}else break}return e.digest={sum:a,pending:[]},cv(a)}return uv(e)}function fv(e){let t=e.bytes;return hg($d(e=>{let n=t.length,r=0;for(;;){let i=r;if(i<n)if(e(t[i])===1){r=i+1|0;continue}else return 0;else return 1}}))}function pv(e){return fv(dv(e))}function mv(e){return pv(e)}function hv(e,t,n,r){_L:{let i=$(t,`@zxch3n/flock/flock:ffi-js.mbt:381:21-381:39`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=ym(a,`@zxch3n/flock/flock:ffi-js.mbt:382:40-382:60`),s;if(o.$tag===1)s=o._0;else{o._0;break _L}let c=Array(s.length),l=s.length,u=0;for(;;){let e=u;if(e<l){let t=s[e];c[e]=I_(t),u=e+1|0;continue}else break}let d=c,f;_L$2:{_L$3:{let e=em({str:n,start:0,end:n.length},1024);if(e.$tag===1)f=e._0;else{e._0;break _L$3}break _L$2}f=S()}let p;if(G_(r)||W_(r))p=or;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:388:12-388:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:388:12-388:42`),i;if(n.$tag===1)i=n._0;else{n._0;break _L}p=new sr(i)}let m=M_(e,d,f,p);if(m.$tag===1){m._0;return}else{m._0;break _L}}S()}function gv(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:397:21-397:39`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=ym(r,`@zxch3n/flock/flock:ffi-js.mbt:398:40-398:60`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=Array(a.length),s=a.length,c=0;for(;;){let e=c;if(e<s){let t=a[e];o[e]=I_(t),c=e+1|0;continue}else break}return R_(z(N_(e,o)))}return S()}function _v(e,t){_L:{let n=$(e,`@zxch3n/flock/flock:ffi-js.mbt:408:22-408:41`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=I_(r),a=$(t,`@zxch3n/flock/flock:ffi-js.mbt:410:22-410:44`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s=_m(o,`@zxch3n/flock/flock:ffi-js.mbt:411:16-411:38`),c;if(s.$tag===1)c=s._0;else{s._0;break _L}let l=A_(i,$_(c));if(l.$tag===1)return l._0;l._0;break _L}return S()}function vv(e,t,n,r){_L:{let i;if(G_(t)||W_(t))i=Ni;else{let e=$(t,`@zxch3n/flock/flock:ffi-js.mbt:427:25-427:45`),n;if(e.$tag===1)n=e._0;else{e._0;break _L}i=ev(I_(n))}let a;if(G_(n)||W_(n))a=Ni;else{let e=$(n,`@zxch3n/flock/flock:ffi-js.mbt:433:23-433:41`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}a=ev(I_(t))}let o;if(G_(r)||W_(r))o=ya;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:439:26-439:47`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=ym(t,`@zxch3n/flock/flock:ffi-js.mbt:440:45-440:68`),i;if(n.$tag===1)i=n._0;else{n._0;break _L}let a=Array(i.length),s=i.length,c=0;for(;;){let e=c;if(e<s){let t=i[e];a[e]=I_(t),c=e+1|0;continue}else break}o=new ba(a)}let s=al(0),c;if(o.$tag===1){let t=o._0;c=__(e,i,a,new ba(t))}else c=__(e,i,a,ya);return Yu(c,(e,t)=>{let n=L(8);R(n,`key`,z(e)),R(n,`raw`,Yg(t.value));let r=t.value.data;return r===void 0||R(n,`value`,r),fl(s,B(n)),1}),R_(z(s))}return S()}function yv(e){let t=L(8),n=e.data;n===void 0||R(t,`data`,n);let r=e.metadata;return r===void 0||R(t,`metadata`,H_(r)),B(t)}function bv(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:498:26-498:49`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}return Ia(y_(e,e=>{let t=al(0),n=0;for(;;){let r=n;if(r<e.events.length){let i=Cs(e.events,r),a=i._0,o=i._1,s=L(8);R(s,`key`,z(a));let c=o.data;c===void 0||R(s,`value`,c);let l=o.metadata;l===void 0||R(s,`metadata`,H_(l)),R(s,`payload`,yv(o)),fl(t,B(s)),n=r+1|0;continue}else break}let a=L(8);R(a,`events`,z(t));let o=e.by,s;if(o.$tag===0)s=new i(`local`);else{let e=o._0;s=new i(e)}R(a,`source`,s),Fa(r,R_(B(a)))}))}return S()}function xv(e){s_(e)}function Sv(e){c_(e)}function Cv(e){l_(e)}function wv(e){return u_(e)}function Tv(e){return Rv(e)}function Ev(e){return Wv(e)}const Dv=new TextEncoder,Ov=new TextDecoder;function kv(e){return Dv.encode(e).length}function Av(e){return typeof e==`string`&&kv(e)<128}function jv(){let e=new Uint8Array(32);if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`)crypto.getRandomValues(e);else for(let t=0;t<32;t+=1)e[t]=Math.floor(Math.random()*256);return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function Mv(e){if(e===void 0)return jv();if(!Av(e))throw TypeError(`peerId must be a UTF-8 string under 128 bytes.`);return e}function Nv(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1){let n=e[r]-t[r];if(n!==0)return n}return e.length-t.length}function Pv(e){if(!e||typeof e!=`object`)return[];let t=[];for(let[n,r]of Object.entries(e)){if(!r||!Av(n))continue;let{physicalTime:e,logicalCounter:i}=r;if(typeof e!=`number`||!Number.isFinite(e)||typeof i!=`number`||!Number.isFinite(i))continue;let a=Dv.encode(n);t.push({peer:n,peerBytes:a,timestamp:Math.trunc(e),counter:Math.max(0,Math.trunc(i))})}return t.sort((e,t)=>{if(e.timestamp!==t.timestamp)return e.timestamp-t.timestamp;let n=Nv(e.peerBytes,t.peerBytes);return n===0?e.counter-t.counter:n}),t}function Fv(e,t){if(!Number.isFinite(e)||e<0)throw TypeError(`leb128 values must be finite and non-negative`);let n=Math.trunc(e);if(n===0){t.push(0);return}for(;n>0;){let e=n%128;n=Math.floor(n/128),t.push(n>0?e|128:e)}}function Iv(e,t){Fv(e.length,t);for(let n=0;n<e.length;n+=1)t.push(e[n])}const Lv=new Uint8Array([86,69,86,69]);function Rv(e){let t=Pv(e),n=Array.from(Lv);if(t.length===0)return Uint8Array.from(n);let r=0;for(let e=0;e<t.length;e+=1){let i=t[e];if(i.timestamp<0)throw TypeError(`timestamp must be non-negative`);if(e===0)Fv(i.timestamp,n),r=i.timestamp;else{let e=i.timestamp-r;if(e<0)throw TypeError(`version vector timestamps must be non-decreasing`);Fv(e,n),r=i.timestamp}Fv(i.counter,n),Iv(i.peerBytes,n)}return Uint8Array.from(n)}function zv(e,t){let n=0,r=1,i=0;for(;t+i<e.length;){let a=e[t+i];if(i+=1,n+=(a&127)*r,!(a&128))break;r*=128}return[n,i]}function Bv(e,t){let[n,r]=zv(e,t),i=t+r,a=i+n;if(a>e.length)throw TypeError(`varString length exceeds buffer`);let o=e.subarray(i,a);return[Ov.decode(o),r+n]}function Vv(e){return e.length>=4&&e[0]===Lv[0]&&e[1]===Lv[1]&&e[2]===Lv[2]&&e[3]===Lv[3]}function Hv(e){let t=0,[n,r]=zv(e,t);t+=r;let[i,a]=zv(e,t);t+=a;let o={};for(let r=0;r<n;r+=1){let[n,r]=Bv(e,t);if(t+=r,!Av(n))throw TypeError(`invalid peer id in encoded version vector`);let[a,s]=zv(e,t);t+=s;let[c,l]=zv(e,t);t+=l,o[n]={physicalTime:i+a,logicalCounter:c}}return o}function Uv(e){let t=4,n={};if(t===e.length)return n;let[r,i]=zv(e,t);t+=i;let[a,o]=zv(e,t);t+=o;let[s,c]=Bv(e,t);if(t+=c,!Av(s))throw TypeError(`invalid peer id in encoded version vector`);n[s]={physicalTime:r,logicalCounter:a};let l=r;for(;t<e.length;){let[r,i]=zv(e,t);t+=i;let[a,o]=zv(e,t);t+=o;let[s,c]=Bv(e,t);if(t+=c,!Av(s))throw TypeError(`invalid peer id in encoded version vector`);let u=l+r;if(u<l)throw TypeError(`version vector timestamps must be non-decreasing`);n[s]={physicalTime:u,logicalCounter:a},l=u}return n}function Wv(e){return Vv(e)?Uv(e):Hv(e)}function Gv(e){if(!e)return;let t={};for(let n of Pv(e))t[n.peer]=[n.timestamp,n.counter];return t}function Kv(e){if(e!==void 0&&!(typeof e!=`number`||!Number.isFinite(e)))return e}function qv(e){if(typeof e!=`object`||!e)return{};let t={};for(let[n,r]of Object.entries(e)){if(!Array.isArray(r)||r.length<2||!Av(n))continue;let[e,i]=r;typeof e!=`number`||!Number.isFinite(e)||typeof i!=`number`||!Number.isFinite(i)||(t[n]={physicalTime:e,logicalCounter:Math.trunc(i)})}return t}function Jv(e){if(e)return e.kind===`unbounded`?{kind:`unbounded`}:{kind:e.kind,key:e.key.slice()}}function Yv(e){if(!e||typeof e!=`object`)return;let t=e,n=oy(t.clock);if(!n)return;let r={metadata:iy(t.metadata),clock:n};return`data`in t&&(r.data=ty(t.data)),r}function Xv(e){if(!e||typeof e!=`object`)return{source:`local`,events:[]};let t=e;return{source:typeof t.source==`string`?t.source:`local`,events:(Array.isArray(t.events)?t.events:[]).filter(e=>!!e).map(e=>Zv(e))}}function Zv(e){let t=Array.isArray(e.key)?e.key:[],n=Qv(e);return{key:t,value:n.data,metadata:ry(n.metadata),payload:n}}function Qv(e){let t={};`value`in e&&(t.data=ty(e.value));let n=ry(e.metadata);return n!==void 0&&(t.metadata=n),dy(t,$v(e.payload))}function $v(e){if(!e||typeof e!=`object`)return;let t={};`data`in e&&(t.data=ty(e.data));let n=ry(e.metadata);return n!==void 0&&(t.metadata=n),t}const ey=globalThis.structuredClone;function ty(e){return e===void 0?e:ey?ey(e):JSON.parse(JSON.stringify(e))}function ny(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function ry(e){if(!(!e||typeof e!=`object`||Array.isArray(e)))return ty(e)}function iy(e){return ry(e)??{}}function ay(e){let t=typeof e.c==`string`?e.c:``,n=t.indexOf(`,`),r=n===-1?-1:t.indexOf(`,`,n+1);if(n===-1||r===-1)return{physicalTime:0,logicalCounter:0,peerId:``};let i=Number(t.slice(0,n)),a=Number(t.slice(n+1,r)),o=t.slice(r+1),s=Av(o)?o:``;return{physicalTime:Number.isFinite(i)?i:0,logicalCounter:Number.isFinite(a)?Math.trunc(a):0,peerId:s}}function oy(e){if(!e||typeof e!=`object`)return;let{physicalTime:t,logicalCounter:n,peerId:r}=e;if(!(typeof t!=`number`||!Number.isFinite(t))&&!(typeof n!=`number`||!Number.isFinite(n))&&Av(r))return{physicalTime:t,logicalCounter:Math.trunc(n),peerId:r}}function sy(e){let t={};e.d!==void 0&&(t.data=ty(e.d));let n=ry(e.m);return n!==void 0&&(t.metadata=n),t}function cy(e,t){let n={data:ty(e)},r=ry(t);return r!==void 0&&(n.metadata=r),n}function ly(e,t){if(!(!t||typeof t!=`object`)){if(`data`in t){let n=t.data;e.data=n===void 0?void 0:ty(n)}`metadata`in t&&(e.metadata=ry(t.metadata))}}function uy(e){let t={};return ly(t,e),t}function dy(e,t){let n=uy(e);return ly(n,t),n}function fy(e,t){let n={c:e};t.data!==void 0&&(n.d=ty(t.data));let r=ry(t.metadata);return r!==void 0&&(n.m=r),n}function py(e){return fy(e.c,sy(e))}function my(e,t){return{key:ny(e),clock:ay(t),raw:py(t)}}function hy(e){return!e||typeof e!=`object`?{accept:!0}:`accept`in e?e.accept?{accept:!0}:{accept:!1,reason:e.reason??`rejected`}:{accept:!0}}function gy(e){if(!e||typeof e!=`object`)return{accepted:0,skipped:[]};let t=e;return{accepted:typeof t.accepted==`number`?t.accepted:0,skipped:(Array.isArray(t.skipped)?t.skipped:[]).map(e=>({key:e&&Array.isArray(e.key)?e.key:[],reason:e&&typeof e.reason==`string`?e.reason:`unknown`}))}}function _y(e){let t={version:e.version,entries:{}};for(let[n,r]of Object.entries(e.entries))t.entries[n]=py(r);return t}function vy(e){return typeof e==`object`&&!!e&&(Object.prototype.hasOwnProperty.call(e,`hooks`)||Object.prototype.hasOwnProperty.call(e,`from`)||Object.prototype.hasOwnProperty.call(e,`pruneTombstonesBefore`)||Object.prototype.hasOwnProperty.call(e,`peerId`))}function yy(e){return typeof e==`object`&&!!e&&Object.prototype.hasOwnProperty.call(e,`bundle`)}var by=class e{inner;constructor(e){this.inner=P_(Mv(e))}static fromInner(t){let n=new e;return n.inner=t,n}static fromJson(t,n){let r=_v(t,Mv(n));return e.fromInner(r)}static checkConsistency(e,t){return!!tv(e.inner,t.inner)}checkInvariants(){this.inner}setPeerId(e){$g(this.inner,Mv(e))}putWithMetaInternal(e,t,n,r){let i=ry(n);rv(this.inner,e,JSON.stringify(t),i,r)}async putWithMetaWithHooks(e,t,n){let r=cy(t,n.metadata),i=n.hooks?.transform;if(!i){this.putWithMetaInternal(e,t,n.metadata,n.now);return}let a=uy(r),o=dy(r,await i({key:e.slice(),now:n.now},a)??a),s=o.data;if(s===void 0)throw TypeError(`putWithMeta requires a data value`);this.putWithMetaInternal(e,s,o.metadata,n.now)}put(e,t,n){nv(this.inner,e,JSON.stringify(t),n)}putWithMeta(e,t,n){let r=n??{};if(r.hooks?.transform)return this.putWithMetaWithHooks(e,t,r);this.putWithMetaInternal(e,t,r.metadata,r.now)}set(e,t,n){this.put(e,t,n)}delete(e,t){iv(this.inner,e,t)}get(e){return B_(this.inner,e)}getEntry(e){return Yv(U_(this.inner,e))}merge(e){k_(this.inner,e.inner)}version(){return qv(Z_(this.inner))}inclusiveVersion(){return qv(Q_(this.inner))}exportJsonInternal(e,t,n){let r=Kv(t),i=n!==void 0&&Av(n)?n:void 0;return q_(this.inner,Gv(e),r,i)}async exportJsonWithHooks(e){let t=this.exportJsonInternal(e.from,e.pruneTombstonesBefore,e.peerId),n=e.hooks?.transform;if(!n)return t;let r={version:t.version,entries:{}};for(let[e,i]of Object.entries(t.entries)){let t=my(e,i),a=sy(i),o=uy(a),s=dy(a,await n(t,o)??o);r.entries[e]=fy(i.c,s)}return r}exportJson(e,t){return e===void 0?this.exportJsonInternal(void 0,t):vy(e)?this.exportJsonWithHooks(e):this.exportJsonInternal(e,t)}importJsonInternal(e){return gy(J_(this.inner,e))}async importJsonWithHooks(e){let t=e.hooks?.preprocess,n=t?_y(e.bundle):e.bundle,r=[];if(t)for(let e of Object.keys(n.entries)){let i=n.entries[e];if(!i)continue;let a=my(e,i),o=sy(i),s=hy(await t(a,uy(o)));if(!s.accept){r.push({key:a.key,reason:s.reason}),delete n.entries[e];continue}n.entries[e]=fy(i.c,o)}let i=this.importJsonInternal(n);return{accepted:i.accepted,skipped:r.concat(i.skipped)}}importJson(e){return yy(e)?this.importJsonWithHooks(e):this.importJsonInternal(e)}importJsonStr(e){return gy(Y_(this.inner,e))}getMaxPhysicalTime(){return Number(av(this.inner))}peerId(){let e=ov(this.inner);if(typeof e!=`string`)throw TypeError(`peerId ffi returned unexpected value`);if(!Av(e))throw TypeError(`peerId ffi returned an invalid string`);return e}digest(){let e=mv(this.inner);if(typeof e!=`string`)throw TypeError(`digest ffi returned unexpected value`);return e}kvToJson(){return sv(this.inner)}putMvr(e,t,n){hv(this.inner,e,JSON.stringify(t),n)}getMvr(e){let t=gv(this.inner,e);return Array.isArray(t)?t:[]}scan(e={}){let t=Jv(e.start),n=Jv(e.end),r=e.prefix?e.prefix.slice():void 0,i=vv(this.inner,t,n,r);return Array.isArray(i)?i.filter(e=>!!e).map(e=>({key:Array.isArray(e.key)?e.key:[],raw:e.raw,value:e.value})):[]}subscribe(e){let t=bv(this.inner,t=>{e(Xv(t))});if(typeof t!=`function`)throw TypeError(`subscribe ffi did not return a function`);return t}txn(e){xv(this.inner);try{let t=e();return Sv(this.inner),t}catch(e){throw wv(this.inner)&&Cv(this.inner),e}}isInTxn(){return!!wv(this.inner)}};export{by as Flock,Ev as decodeVersionVector,Tv as encodeVersionVector};
|
|
10
|
+
`;default:return`\n${il(` `,n)}`}}}function rm(e,t,n,r){let i=fs(0),a=[],o=0,s=e;for(;;){let e=s;if(e===void 0){if(a.length===0)break;{let e=a[a.length-1|0];if(e.$tag===0){let t=e,r=t._0,c=t._1;if(c<r.length){let e=ws(r,c);t._1=c+1|0,c>0&&(D(i,44),A(i,nm(o,n))),s=e;continue}else{o=o-1|0,cf(a),A(i,nm(o,n)),D(i,93),s=void 0;continue}}else{let c=e,l=c._0,u=c._1,d=Nc(l);if(d===void 0){o=o-1|0,cf(a),A(i,nm(o,n)),D(i,125),s=void 0;continue}else{let e=d,a=e._0,l=e._1,f=l;if(r!==void 0){let e=r(a,l);if(e===void 0){s=void 0;continue}else f=e}u||(D(i,44),A(i,nm(o,n))),D(i,34),A(i,tm(a,t)),D(i,34),D(i,58),n>0&&D(i,32),c._1=!1,s=f;continue}}}}else{let r=e;switch(r.$tag){case 6:{let e=r._0;e.size===0?A(i,`{}`):(o=o+1|0,D(i,123),A(i,nm(o,n)),hl(a,new Mr(Mu(e),!0)));break}case 5:{let e=r._0;e.length===0?A(i,`[]`):(o=o+1|0,D(i,91),A(i,nm(o,n)),hl(a,new jr(e,0)));break}case 4:{let e=r._0;D(i,34),A(i,tm(e,t)),D(i,34);break}case 3:{let e=r,t=e._0,n=e._1;n===void 0?Bs(i,t):A(i,n);break}case 1:A(i,`true`);break;case 2:A(i,`false`);break;default:A(i,`null`)}s=void 0;continue}}return i.val}function im(e){if(e.$tag===3){let t=e._0;return new sr(t)}else return or}function am(e,t){return Nr(e,t)}function om(e,t){return Pr(e,t)}function sm(e){return Lr(e)}function cm(e,t){return Rr(e,t)}function lm(e,t){return zr(e,t)}function um(e,t){return Br(e,t)}function dm(e,t){return Vr(e,t)}function fm(e,t){return t<0&&Yo(`negative shift count`,`@moonbitlang/core/bigint:bigint_js.mbt:269:5-269:34`),Hr(e,t)}function pm(e){let t=Ur(fm(e,32)),n=Ur(e);return bd(Sd(Pf(t),32),Pf(n))}function mm(){return Gr()}function hm(e){return Kr(e)}function gm(e,t){return hm(e)===`number`?new Jr(e):new qr(new rn({_0:t,_1:e,_2:`Double`}))}function _m(e,t){return hm(e)===`string`?new Xr(e):new Yr(new rn({_0:t,_1:e,_2:`String`}))}function vm(e,t){let n=e;if(n.$tag===0){let e=n._0._0,r=e._1,i=e._2;return new $r(new rn({_0:t,_1:r,_2:i}))}else{let e=n._0;return new ei(e)}}function ym(e,t){if(Qr(e)){let t=e,n;_L:{let e=Array(t.length),r=t.length,i=0;for(;;){let a=i;if(a<r){let r=t[a],o=vm(new ei(r),`@Yoorkin/jmop:value.mbt:156:18-156:50`),s;if(o.$tag===1)s=o._0;else{n=o._0;break _L}e[a]=s,i=a+1|0;continue}else break}return new Sn(e)}return new xn(n)}else return new xn(new rn({_0:t,_1:e,_2:`Array`}))}function bm(){return ti()}function xm(e,t){return ni(e)?new ri(new Zt(t)):new ii(e)}function Sm(e,t){return Zr(e)?new ai(new Xt(t)):new oi(e)}function Cm(e,t){let n=xm(e,t),r;if(n.$tag===1)r=n._0;else return n;return Sm(r,t)}function $(e,t){return Cm(e,t)}function wm(e,t,n){if(e===`InvalidNestedPromise`){let e=$(t,`@Yoorkin/jmop:init.mbt:63:43-63:66`),n;if(e.$tag===1)n=e._0;else return e;return new ci(new Yt(n))}else return new ui(new Jt(t))}function Tm(){return{h:Gl({buf:go,start:0,end:8}),x:un(64,0),nx:0,len:b,name:`sha256`}}function Em(e){return e<10?e+48|0:(e-10|0)+97|0}function Dm(e,t,n){let r=t+3|0,i=n&255;C(e,r),e[r]=i&255;let a=t+2|0,o=n>>>8&255;C(e,a),e[a]=o&255;let s=t+1|0,c=n>>>16&255;C(e,s),e[s]=c&255;let l=n>>>24&255;C(e,t),e[t]=l&255}function Om(e,t,n){Dm(e,t+4|0,Nd(K(n,Ln))),Dm(e,t,Nd(K(J(n,32),Ln)))}function km(e){let t=Rt(64,0),n=e.x,r=0;for(;;){let e=r;if(e<16){let i=Math.imul(e,4)|0;C(n,i);let a=n[i]<<24,o=i+1|0;C(n,o);let s=a|n[o]<<16,c=i+2|0;C(n,c);let l=s|n[c]<<8,u=i+3|0;C(n,u);let d=n[u];C(t,e),t[e]=l|d,r=e+1|0;continue}else break}let i=16;for(;;){let e=i;if(e<64){let n=e-2|0;C(t,n);let r=t[n],a=(r<<-17|r>>>49|0)^(r<<-19|r>>>51|0)^(r>>>10|0),o=e-15|0;C(t,o);let s=t[o],c=(s<<-7|s>>>39|0)^(s<<-18|s>>>50|0)^(s>>>3|0),l=e-7|0;C(t,l);let u=(((a>>>0)+(t[l]>>>0)|0)>>>0)+(c>>>0)|0,d=e-16|0;C(t,d),C(t,e),t[e]=(u>>>0)+(t[d]>>>0)|0,i=e+1|0;continue}else break}let a=e.h;C(a,0);let o=a[0],s=e.h;C(s,1);let c=s[1],l=e.h;C(l,2);let u=l[2],d=e.h;C(d,3);let f=d[3],p=e.h;C(p,4);let m=p[4],h=e.h;C(h,5);let g=h[5],_=e.h;C(_,6);let v=_[6],y=e.h;C(y,7);let ee=y[7],te=0;for(;;){let e=te;if(e<64){let n=ee,r=m,i=r<<-6|r>>>38|0,a=m,s=i^(a<<-11|a>>>43|0),l=m,d=(((((n>>>0)+((s^(l<<-25|l>>>57|0))>>>0)|0)>>>0)+((m&g^~m&v)>>>0)|0)>>>0)+(js(ho,e)>>>0)|0;C(t,e);let p=(d>>>0)+(t[e]>>>0)|0,h=o,_=h<<-2|h>>>34|0,y=o,ne=_^(y<<-13|y>>>45|0),re=o,ie=((ne^(re<<-22|re>>>54|0))>>>0)+((o&c^o&u^c&u)>>>0)|0;ee=v,v=g,g=m,m=(f>>>0)+(p>>>0)|0,f=u,u=c,c=o,o=(p>>>0)+(ie>>>0)|0,te=e+1|0;continue}else break}let ne=e.h;C(ne,0),C(ne,0),ne[0]=(ne[0]>>>0)+(o>>>0)|0;let re=e.h;C(re,1),C(re,1),re[1]=(re[1]>>>0)+(c>>>0)|0;let ie=e.h;C(ie,2),C(ie,2),ie[2]=(ie[2]>>>0)+(u>>>0)|0;let ae=e.h;C(ae,3),C(ae,3),ae[3]=(ae[3]>>>0)+(f>>>0)|0;let oe=e.h;C(oe,4),C(oe,4),oe[4]=(oe[4]>>>0)+(m>>>0)|0;let se=e.h;C(se,5),C(se,5),se[5]=(se[5]>>>0)+(g>>>0)|0;let ce=e.h;C(ce,6),C(ce,6),ce[6]=(ce[6]>>>0)+(v>>>0)|0;let le=e.h;C(le,7),C(le,7),le[7]=(le[7]>>>0)+(ee>>>0)|0}function Am(e,t){e.len=H(e.len,s);let n=e.x,r=e.nx;if(C(n,r),n[r]=t,e.nx=e.nx+1|0,e.nx===64){km(e),e.nx=0;return}else return}function jm(e){let t=un(72,0);C(t,0),t[0]=128;let n=ec(Md(e.len,fi),pi)?V(U(pi,Md(e.len,fi))):V(U(H(fi,pi),Md(e.len,fi)));Om(t,n,q(e.len,3));let r=0;for(;;){let i=r;if(i<(n+8|0)){C(t,i),Am(e,t[i]),r=i+1|0;continue}else break}e.nx!==0&&S();let i=un(32,0),a=e.h;C(a,0),Dm(i,0,a[0]);let o=e.h;C(o,1),Dm(i,4,o[1]);let s=e.h;C(s,2),Dm(i,8,s[2]);let c=e.h;C(c,3),Dm(i,12,c[3]);let l=e.h;C(l,4),Dm(i,16,l[4]);let u=e.h;C(u,5),Dm(i,20,u[5]);let d=e.h;C(d,6),Dm(i,24,d[6]);let f=e.h;return C(f,7),Dm(i,28,f[7]),i}function Mm(e){let t=jm(e),n=If(64),r=t.length,i=0;for(;;){let e=i;if(e<r){let r=t[e];Rf(n,Em(r>>4&15)),Rf(n,Em(r&15)),i=e+1|0;continue}else break}return Dc(zf(n),0,void 0)}function Nm(e){let t=[],n=e;for(;;){let e=Zu(K(n,mi));if(n=J(n,7),ys(n,b)&&(e=(e|128)&255),I(t,e),G(n,b))break}return Qd({buf:t,start:0,end:t.length})}function Pm(e){let t=[],n=e,r=!0;for(;r;){let e=Od(yd(n,mi));n=xd(n,7);let i;if(i=Cd(n,b)?(e&64)==0:!1,i)r=!1;else{let t;t=Cd(n,ft)?(e&64)!=0:!1,t?r=!1:e=(e|128)&255}I(t,e)}return Qd({buf:t,start:0,end:t.length})}function Fm(e){switch(e){case 0:return`40`;case 1:return`41`;case 2:return`42`;case 3:return`43`;case 4:return`44`;case 5:return`45`;case 6:return`46`;case 7:return`47`;default:return`49`}}function Im(e){switch(e){case 0:return`30`;case 1:return`31`;case 2:return`32`;case 3:return`33`;case 4:return`34`;case 5:return`35`;case 6:return`36`;case 7:return`37`;default:return`39`}}function Lm(e){let t=[],n=e.color;n===void 0||Sl(t,Im(n));let r=e.bg_color;r===void 0||Sl(t,Fm(r));let i=e.formats,a=i.length,o=0;for(;;){let e=o;if(e<a){switch(i[e]){case 0:Sl(t,`1`);break;case 1:Sl(t,`4`);break;case 2:Sl(t,`5`);break;case 3:Sl(t,`7`);break;case 4:Sl(t,`8`);break;case 5:Sl(t,`9`);break;default:Sl(t,`3`)}o=e+1|0;continue}else break}return t.length>0?`[${gf(t,{str:`;`,start:0,end:1})}m${e.str}[0m`:e.str}function Rm(e){return{str:e,bg_color:void 0,color:void 0,formats:[]}}function zm(e){return{str:e.str,bg_color:e.bg_color,color:1,formats:e.formats}}function Bm(e){return{str:e.str,bg_color:e.bg_color,color:3,formats:e.formats}}function Vm(e){return{str:e.str,bg_color:e.bg_color,color:4,formats:e.formats}}function Hm(e){let t=e.str,n=e.bg_color,r=e.color,i=[];return Cl(i,0),mf(i,Ul(e.formats)),{str:t,bg_color:n,color:r,formats:i}}function Um(e,t){let n=`${Lm(zm(Hm(Rm(`Panic: `))))}${Lm(Bm(Rm(e)))} at ${Lm(Vm(Rm(N(t))))}`;Wd(n),Yo(n,`@zxch3n/expect:expect.mbt:698:3-698:13`)}function Wm(e,t){return Zd(e,t)}function Gm(e,t){if(e.bytes.length!==t.bytes.length)return!1;let n=0;for(;;){let r=n;if(r<e.bytes.length){let i=e.bytes;C(i,r);let a=i[r],o=t.bytes;if(C(o,r),a!==o[r])return!1;n=r+1|0;continue}else break}return!0}function Km(e){let t=ll(0),n=0;for(;n<e.length;){let r=n;C(e,r);let i=e.charCodeAt(r);if(i>=55296&&i<=56319&&(n+1|0)<e.length){let r=n+1|0;C(e,r);let a=e.charCodeAt(r);if(a>=56320&&a<=57343){let e=(65536+(i-55296<<10)|0)+(a-56320|0)|0;I(t,(240|e>>18)&255),I(t,(128|e>>12&63)&255),I(t,(128|e>>6&63)&255),I(t,(128|e&63)&255),n=n+1|0}else I(t,(224|i>>12)&255),I(t,(128|i>>6&63)&255),I(t,(128|i&63)&255)}else i<128?I(t,i&255):i<2048?(I(t,(192|i>>6)&255),I(t,(128|i&63)&255)):(I(t,(224|i>>12)&255),I(t,(128|i>>6&63)&255),I(t,(128|i&63)&255));n=n+1|0}return Qd({buf:t,start:0,end:t.length})}function qm(e){return{bytes:Km(e)}}function Jm(e){let t=0;for(;t<(e.end-e.start|0);){let n=Y(e,t);if(!(n&128))t=t+1|0;else if((n&224)==192){if((t+1|0)>=(e.end-e.start|0)||(Y(e,t+1|0)&192)!=128)return!1;t=t+2|0}else if((n&240)==224){if((t+2|0)>=(e.end-e.start|0))return!1;let n=Y(e,t+1|0),r=Y(e,t+2|0),i;if(i=(n&192)==128?(r&192)!=128:!0,i)return!1;t=t+3|0}else if((n&248)==240){if((t+3|0)>=(e.end-e.start|0))return!1;let n=Y(e,t+1|0),r=Y(e,t+2|0),i=Y(e,t+3|0),a;if((n&192)!=128)a=!0;else{let e;e=(r&192)==128?(i&192)!=128:!0,a=e}if(a)return!1;t=t+4|0}else return!1}return!0}function Ym(e){if(Jm(Gd(e,0,void 0)))return{bytes:$d(qd(e))}}function Xm(e){let t=0,n=``;for(;t<e.length;){let r=t;C(e,r);let i=e[r],a;if(!(i&128))a=i;else if((i&224)==192){if((t+1|0)>=e.length)return;let n=t+1|0;C(e,n);let r=e[n];if((r&192)!=128)return;t=t+1|0,a=(i&31)<<6|r&63}else if((i&240)==224){if((t+2|0)>=e.length)return;let n=t+1|0;C(e,n);let r=e[n],o=t+2|0;C(e,o);let s=e[o],c;if(c=(r&192)==128?(s&192)!=128:!0,c)return;t=t+2|0,a=(i&15)<<12|(r&63)<<6|s&63}else if((i&248)==240){if((t+3|0)>=e.length)return;let n=t+1|0;C(e,n);let r=e[n],o=t+2|0;C(e,o);let s=e[o],c=t+3|0;C(e,c);let l=e[c],u;if((r&192)!=128)u=!0;else{let e;e=(s&192)==128?(l&192)!=128:!0,u=e}if(u)return;t=t+3|0,a=(i&7)<<18|(r&63)<<12|(s&63)<<6|l&63}else return;n=`${n}${Dl(a)}`,t=t+1|0}return n}function Zm(e){let t=Xm(e.bytes);return t===void 0?S():t}function Qm(e,t){let n=e.end-e.start|0,r=t.end-t.start|0,i=n<r?n:r,a=0;for(;;){let n=a;if(n<i){let r=zt(Y(e,n),Y(t,n));if(r!==0)return r;a=n+1|0;continue}else break}return zt(n,r)}function $m(e,t){let n=e.bytes,r=X(n,0,n.length),i=t.bytes;return Qm(r,X(i,0,i.length))}function eh(e,t){let n=e,r=X(n,0,n.length),i=t;return Qm(r,X(i,0,i.length))}function th(e){return Ad(e)}function nh(e){return kd(e)}function rh(e){let t=ll(0);return I(t,Zu(K(J(e,56),hi))),I(t,Zu(K(J(e,48),hi))),I(t,Zu(K(J(e,40),hi))),I(t,Zu(K(J(e,32),hi))),I(t,Zu(K(J(e,24),hi))),I(t,Zu(K(J(e,16),hi))),I(t,Zu(K(J(e,8),hi))),I(t,Zu(K(e,hi))),Qd({buf:t,start:0,end:t.length})}function ih(e){e.length!==8&&Um(`Invalid byte array length`,`@zxch3n/flock/memcomparable:utils.mbt:28:5-28:54`);let t=b,n=t;C(e,0),t=Fd(n,q(Yd(e[0]),56));let r=t;C(e,1),t=Fd(r,q(Yd(e[1]),48));let i=t;C(e,2),t=Fd(i,q(Yd(e[2]),40));let a=t;C(e,3),t=Fd(a,q(Yd(e[3]),32));let o=t;C(e,4),t=Fd(o,q(Yd(e[4]),24));let s=t;C(e,5),t=Fd(s,q(Yd(e[5]),16));let c=t;C(e,6),t=Fd(c,q(Yd(e[6]),8));let l=t;return C(e,7),t=Fd(l,Yd(e[7])),t}function ah(){return{parts:ul(0)}}function oh(e,t){gl(e.parts,t)}function sh(e,t){let n=e.end-e.start|0,r=t.end-t.start|0,i=n<r?n:r,a=0;for(;;){let n=a;if(n<i){let r=zt(Y(e,n),Y(t,n));if(r!==0)return r;a=n+1|0;continue}else break}return zt(n,r)}function ch(e){return e===e?e:e<0?-So:So}function lh(e,t){Z(t,1);let n=Kd(e);for(;;){let e=Ic(n);if(e===-1)break;{let n=e;Z(t,n),n===0&&Z(t,255);continue}}Z(t,0)}function uh(e,t){Z(t,2);let n=e.bytes,r=n.length,i=0;for(;;){let e=i;if(e<r){let r=n[e];Z(t,r),r===0&&Z(t,255),i=e+1|0;continue}else break}Z(t,0)}function dh(e,t){Z(t,33);let n=ch(e),r=rh(n<0?Id(th(n),ft):Id(th(n),ir)),i=r.length,a=0;for(;;){let e=a;if(e<i){let n=r[e];Z(t,n),a=e+1|0;continue}else return}}function fh(e){let t=[],n=e;for(;nc(n,0n);)I(t,Wr(dm(n,256n))&255),n=um(n,256n);let r=ff(t);return Qd({buf:r,start:0,end:r.length})}function ph(e,t){if(om(e,0n)){Z(t,20);return}let n=nc(e,0n),r=fh(n?e:sm(e)),i=r.length;if(n===!1){i<=8?Z(t,(20-(i&255)|0)&255):(Z(t,11),i>255&&Yo(`n is too large`,`@zxch3n/flock/memcomparable:bigint.mbt:33:11-33:34`),Z(t,(i&255^255)&255));let e=If(0),n=0;for(;;){let t=n;if(t<r.length){C(r,t);let i=r[t];Z(e,(i^255)&255),n=t+1|0;continue}else break}Lf(t,zf(e));return}else{i<=8?Z(t,(20+(i&255)|0)&255):(Z(t,29),i>255&&Yo(`n is too large`,`@zxch3n/flock/memcomparable:bigint.mbt:49:11-49:34`),Z(t,i&255)),Lf(t,r);return}}function mh(e,t){switch(e.$tag){case 0:{let n=e._0;lh(X(n,0,n.length),t);return}case 1:{let n=e._0;uh(n,t);return}case 2:{let n=e._0;ph(n,t);return}case 3:{let n=e._0;dh(n,t);return}case 4:Z(t,38);return;default:Z(t,39);return}}function hh(e){let t=If(0),n=e.parts,r=n.length,i=0;for(;;){let e=i;if(e<r){let r=n[e];mh(r,t),i=e+1|0;continue}else break}return zf(t)}function gh(e,t){let n=If(0),r=t;for(;r<(e.end-e.start|0);){let t=Y(e,r);if(r=r+1|0,t===0){let t;if(t=r<(e.end-e.start|0)?Y(e,r)===255:!1,t){Z(n,0),r=r+1|0;continue}else{let e=zf(n);return new _i({_0:X(e,0,e.length),_1:r})}}Z(n,t)}return new gi(Kt)}function _h(e){let t=Ir(b),n=Ir(s),r=(e.end-e.start|0)-1|0;for(;;){let i=r;if(i>=0){let a=Ir(j(Y(e,i)));t=cm(t,lm(n,a)),n=lm(n,Ir(vi)),r=i-1|0;continue}else break}return t}function vh(e,t){let n;if(n=20<=t?t<=28:!1,n){let n=(t-20|0)&255;if((e.end-e.start|0)<n)return new yi(Kt);let r=Gd(e,0,n);return new bi({_0:Gd(e,n,void 0),_1:_h(r)})}else{let n;if(n=12<=t?t<20:!1,n){let n=(20-t|0)&255;if((e.end-e.start|0)<n)return new yi(Kt);let r=Gd(e,0,n),i=Gd(e,n,void 0),a=If(0),o=0;for(;;){let e=o;if(e<(r.end-r.start|0)){Z(a,(Y(r,e)^255)&255),o=e+1|0;continue}else break}let s=zf(a);return new bi({_0:i,_1:sm(_h(X(s,0,s.length)))})}else if(t===11){if((e.end-e.start|0)<1)return new yi(Kt);let t=(Y(e,0)^255)&255;if((e.end-e.start|0)<(t+1|0))return new yi(Kt);let n=Gd(e,1,t+1|0),r=Gd(e,t+1|0,void 0),i=If(0),a=0;for(;;){let e=a;if(e<(n.end-n.start|0)){Z(i,(Y(n,e)^255)&255),a=e+1|0;continue}else break}let o=zf(i);return new bi({_0:r,_1:sm(_h(X(o,0,o.length)))})}else if(t===29){if((e.end-e.start|0)<1)return new yi(Kt);let t=Y(e,0);if((e.end-e.start|0)<(t+1|0))return new yi(Kt);let n=Gd(e,1,t+1|0);return new bi({_0:Gd(e,t+1|0,void 0),_1:_h(n)})}else return new yi(new Gt(t))}}function yh(e,t){if((t+8|0)>(e.end-e.start|0))return new xi(Kt);let n=ll(0),r=0;for(;;){let i=r;if(i<8){I(n,Y(e,t+i|0)),r=i+1|0;continue}else break}let i=ih(Qd({buf:n,start:0,end:n.length}));return new Si({_0:G(K(i,ir),b)?nh(Id(i,ft)):nh(Id(i,ir)),_1:t+8|0})}function bh(e){let t=ah(),n=0;for(;n<(e.end-e.start|0);){let r=Y(e,n);if(n=n+1|0,r===2){let r=gh(e,n),i;if(r.$tag===1)i=r._0;else return r;let a=i._0,o=i._1,s=Ym(a);if(s===void 0)return new ki(qt);oh(t,new wi(s)),n=o}else if(r===1){let r=gh(e,n),i;if(r.$tag===1)i=r._0;else return r;let a=i._0,o=i._1;oh(t,new Ci($d(qd(a)))),n=o}else if(r>=11&&r<=29){let i=vh(Gd(e,n,void 0),r),a;if(i.$tag===1)a=i._0;else return i;let o=a._0,s=a._1;oh(t,new Ti(s)),n=(e.end-e.start|0)-(o.end-o.start|0)|0}else if(r===33){let r=yh(e,n),i;if(r.$tag===1)i=r._0;else return r;let a=i._0,o=i._1;oh(t,new Ei(a)),n=o}else if(r===38)oh(t,Di);else if(r===39)oh(t,Oi);else return new ki(new Gt(r))}return new Ai(t)}function xh(e){switch(e.$tag){case 3:{let t=e._0;return Hd(t)+0===t?new Ti(Fr(Hd(t))):new Ei(t)}case 4:{let t=e._0;return new wi(qm(t))}case 1:return Oi;case 2:return Di;default:return}}function Sh(e){switch(e.$tag){case 3:{let t=e._0;return new r(t,void 0)}case 2:{let t=e._0;return new r(Dd(pm(t)),void 0)}case 1:{let t=e._0;return new i(Zm(t))}case 5:return t;case 4:return n;default:return}}function Ch(e){let t=ah(),n=e.length,r=0;for(;;){let i=r;if(i<n){let n=e[i],a=xh(n);if(a===void 0)return;let o=t.parts,s;s=a===void 0?S():a,gl(o,s),r=i+1|0;continue}else break}return hh(t)}function wh(e){let t;_L:{_L$2:{let n=bh(X(e,0,e.length));if(n.$tag===1)t=n._0;else{n._0;break _L$2}break _L}t=ts(`Failed to decode key`,`@zxch3n/flock/memcomparable:codec.mbt:416:48-416:77`)}let n=al(0),r=t.parts,i=r.length,a=0;for(;;){let e=a;if(e<i){let t=r[e],i=Sh(t),o;o=i===void 0?S():i,fl(n,o),a=e+1|0;continue}else break}return n}function Th(e,t){let n=t;for(;;){let t=n;if(t===void 0)return;{let r=t;Th(e,r.left),e(r.key,r.value),n=r.right;continue}}}function Eh(e,t){Th(t,e.root)}function Dh(e){let t=cl(e.size);return Eh(e,(e,n)=>{vl(t,{_0:e,_1:n})}),t}function Oh(){return{root:void 0,size:0}}function kh(){return{root:void 0,size:0}}function Ah(e,t){if(t===void 0)return!0;{let n=t;return e===void 0?!1:e.height>=n.height}}function jh(e,t){if(t===void 0)return!0;{let n=t;return e===void 0?!1:e.height>=n.height}}function Mh(e){let t=e.left,n;n=t===void 0?0:t.height;let r=e.right,i;i=r===void 0?0:r.height,e.height=1+(n>i?n:i)|0}function Nh(e){let t=e.left,n;n=t===void 0?0:t.height;let r=e.right,i;i=r===void 0?0:r.height,e.height=1+(n>i?n:i)|0}function Ph(e){let t=e.right,n;return n=t===void 0?S():t,e.right=n.left,n.left=e,Mh(e),Mh(n),n}function Fh(e){let t=e.right,n;return n=t===void 0?S():t,e.right=n.left,n.left=e,Nh(e),Nh(n),n}function Ih(e){let t=e.left,n;return n=t===void 0?S():t,e.left=n.right,n.right=e,Mh(e),Mh(n),n}function Lh(e){let t=e.left,n;return n=t===void 0?S():t,e.left=n.right,n.right=e,Nh(e),Nh(n),n}function Rh(e){let t=e.left,n;return n=t===void 0?S():t,e.left=Ph(n),Ih(e)}function zh(e){let t=e.left,n;return n=t===void 0?S():t,e.left=Fh(n),Lh(e)}function Bh(e){let t=e.right,n;return n=t===void 0?S():t,e.right=Ih(n),Ph(e)}function Vh(e){let t=e.right,n;return n=t===void 0?S():t,e.right=Lh(n),Fh(e)}function Hh(e){let t=e.left,n=e.right,r;r=t===void 0?0:t.height;let i;i=n===void 0?0:n.height;let a;if(r>(i+1|0)){let n;n=t===void 0?S():t;let r=n.left,i=n.right;a=Ah(r,i)?Ih(e):Rh(e)}else if(i>(r+1|0)){let t;t=n===void 0?S():n;let r=t.left,i=t.right;a=Ah(i,r)?Ph(e):Bh(e)}else a=e;return Mh(a),a}function Uh(e){let t=e.left,n=e.right,r;r=t===void 0?0:t.height;let i;i=n===void 0?0:n.height;let a;if(r>(i+1|0)){let n;n=t===void 0?S():t;let r=n.left,i=n.right;a=jh(r,i)?Lh(e):zh(e)}else if(i>(r+1|0)){let t;t=n===void 0?S():n;let r=t.left,i=t.right;a=jh(i,r)?Fh(e):Vh(e)}else a=e;return Nh(a),a}function Wh(e,t){return{key:e,value:t,left:void 0,right:void 0,height:1}}function Gh(e,t){return{key:e,value:t,left:void 0,right:void 0,height:1}}function Kh(e,t,n){if(e===void 0)return{_0:Wh(t,n),_1:!0};{let r=e;if(Gm(t,r.key))return r.value=n,{_0:r,_1:!1};{let e=r.left,i=r.right;if(Xs(t,r.key)){let i=Kh(e,t,n),a=i._0,o=i._1;return r.left=a,{_0:Hh(r),_1:o}}else{let e=Kh(i,t,n),a=e._0,o=e._1;return r.right=a,{_0:Hh(r),_1:o}}}}}function qh(e,t,n){if(e===void 0)return{_0:Gh(t,n),_1:!0};{let r=e;if(Wm(t,r.key))return r.value=n,{_0:r,_1:!1};{let e=r.left,i=r.right;if(Zs(t,r.key)){let i=qh(e,t,n),a=i._0,o=i._1;return r.left=a,{_0:Uh(r),_1:o}}else{let e=qh(i,t,n),a=e._0,o=e._1;return r.right=a,{_0:Uh(r),_1:o}}}}}function Jh(e,t,n){let r=Kh(e.root,t,n),i=r._0,a=r._1;if(_s(e.root,i)&&(e.root=i),a){e.size=e.size+1|0;return}else return}function Yh(e,t,n){let r=qh(e.root,t,n),i=r._0,a=r._1;if(vs(e.root,i)&&(e.root=i),a){e.size=e.size+1|0;return}else return}function Xh(e,t){let n=e.root;for(;;){let e=n;if(e===void 0)return;{let r=e,i=eh(t,r.key);if(i===0)return r.value;if(i>0){n=r.right;continue}else{n=r.left;continue}}}}function Zh(e,t){let n=e.root;for(;;){let e=n;if(e===void 0)return Li;{let r=e,i=$m(t,r.key);if(i===0)return new Ri(r.value);if(i>0){n=r.right;continue}else{n=r.left;continue}}}}function Qh(e,t){let n=e.root;for(;;){let r=n;if(r===void 0)return{_0:void 0,_1:n=>{Yh(e,t,n)}};{let e=r,i=eh(t,e.key);if(i===0)return{_0:e.value,_1:t=>{e.value=t}};if(i>0){n=e.right;continue}else{n=e.left;continue}}}}function $h(e,t){let n=e.root;for(;;){let e=n;if(e===void 0)return S();{let r=e,i=$m(t,r.key);if(i===0)return r.value;if(i>0){n=r.right;continue}else{n=r.left;continue}}}}function eg(e,t){return Zh(e,t).$tag===1}function tg(e,t){let n=t;for(;;){let t=n;if(t===void 0)return 1;{let r=t,i=r.left,a=r.right,o=r.key,s=r.value;if(tg(e,i)===0||e(o,s)===0)return 0;n=a;continue}}}function ng(e){return t=>tg(t,e.root)}function rg(e,t){let n=t;for(;;){let t=n;if(t===void 0)return 1;{let r=t,i=r.left,a=r.right,o=r.key,s=r.value;if(rg(e,i)===0||e(o,s)===0)return 0;n=a;continue}}}function ig(e){return t=>rg(t,e.root)}function ag(e,t){let n=e._4,r=e._3,i=e._2,a=e._1,o=e._0,s=t;for(;;){let t=s;if(t===void 0)return 1;{let c=t,l=c.left,u=c.right,d=c.key,f=c.value,p;switch(r.$tag){case 2:p=o;break;case 0:{let e=r._0,t=eh(d,e);p={_0:t>0,_1:t>=0};break}default:{let e=r._0,t=eh(d,e);p={_0:t>0,_1:t>0}}}let m=p._0,h=p._1,g;switch(a.$tag){case 2:g=i;break;case 0:{let e=a._0,t=eh(d,e);g={_0:t<0,_1:t<=0};break}default:{let e=a._0,t=eh(d,e);g={_0:t<0,_1:t<0}}}let _=g._0,v=g._1;_L:if(m){if(ag(e,l)===0)return 0;break _L}else break _L;_L$2:if(h)if(v){if(n(d,f)===0)return 0;break _L$2}else break _L$2;else break _L$2;if(_){s=u;continue}else return 1}}}function og(e,t,n){return r=>ag({_0:_o,_1:n,_2:vo,_3:t,_4:r},e.root)}function sg(e,t){return Gm(e.key,t.key)}function cg(e,t){return Wm(e.key,t.key)}function lg(e){let t=qm(e);if(!(t.bytes.length>=128))return t}function ug(e,t){return{physical_time:e,logical_counter:t}}function dg(){return{seq:0,subscribers:ou(8)}}function fg(e,t){let n=e.seq;return Cu(e.subscribers,e.seq,t),e.seq=e.seq+1|0,()=>{Au(e.subscribers,n)}}function pg(e,t){let n=e.subscribers.head;for(;;){let e=n;if(e===void 0)return;{let r=e;r.key;let i=r.value,a=r.next;i(t),n=a;continue}}}function mg(e){return e.subscribers.size===0}function hg(e){let t=``,n=0;for(;;){let r=n;if(r<e.length){C(e,r);let i=e[r],a=nf(i,4)&15,o=i&15,s=Dl(a<10?a+48|0:(a-10|0)+97|0),c=Dl(o<10?o+48|0:(o-10|0)+97|0);t=`${t}${s}`,t=`${t}${c}`,n=r+1|0;continue}else break}return t}function gg(e){if((e.end-e.start|0)%2|0){Wd(`Invalid hex length: ${yc(e.end-e.start|0)}`);return}let t=[],n=0;for(;;){let r=n;if(r<(e.end-e.start|0)){let i=Tc(e,r),a=Tc(e,r+1|0),o=0;if(i>=48&&i<=57)o=o+(Math.imul(i-48|0,16)|0)|0;else if(i>=97&&i<=102)o=o+(Math.imul((i-97|0)+10|0,16)|0)|0;else if(i>=65&&i<=70)o=o+(Math.imul((i-65|0)+10|0,16)|0)|0;else{Wd(`Invalid hex character: ${yc(i)}`);return}if(a>=48&&a<=57)o=o+(a-48|0)|0;else if(a>=97&&a<=102)o=o+((a-97|0)+10|0)|0;else if(a>=65&&a<=70)o=o+((a-65|0)+10|0)|0;else{Wd(`Invalid hex character: ${yc(a)}`);return}I(t,o&255),n=r+2|0;continue}else break}return Qd({buf:t,start:0,end:t.length})}function _g(e){if(e.bytes.length>=128){Yo(`peer id must be less than 128 bytes`,`@zxch3n/flock/flock:flock.mbt:27:5-27:49`);return}else return}function vg(e){return Zm(e)}function yg(e,t){let n=e.hlc,r=t.hlc;return n.physical_time===r.physical_time&&n.logical_counter===r.logical_counter?Gm(e.peer,t.peer):!1}function bg(e,t){let n=e.hlc,r=t.hlc,i=n.physical_time<r.physical_time?-1:n.physical_time>r.physical_time?1:zt(n.logical_counter,r.logical_counter);return i===0?$m(e.peer,t.peer):i}function xg(e){return`${bc(e.physical_time)},${yc(e.logical_counter)}`}function Sg(e){return`${xg(e.hlc)},${vg(e.peer)}`}function Cg(e){let t=jl(Ol(e,{str:`,`,start:0,end:1}));if(t.length<3)return;let n=Mc(Os(t,2)),r=3;for(;;){let e=r;if(e<t.length){n=`${n},${Mc(Os(t,e))}`,r=e+1|0;continue}else break}let i=lg(n),a;if(i===void 0)return;a=i;let o=Os(t,0),s=Os(t,1),c;_L:{_L$2:{let e=Mc(o),t=em({str:e,start:0,end:e.length},1024),n;if(t.$tag===1)n=t._0;else{t._0;break _L$2}c=Zl(im(n));break _L}c=S()}let l=c,u;_L$2:{_L$3:{let e=Mc(s),t=em({str:e,start:0,end:e.length},1024),n;if(t.$tag===1)n=t._0;else{t._0;break _L$3}u=Hd(Zl(im(n)));break _L$2}u=S()}return{hlc:{physical_time:l,logical_counter:u},peer:a}}function wg(e){return{bytes:e}}function Tg(e){let t=Mm(e.digest),n=gg({str:t,start:0,end:t.length});if(n===void 0)return ss(`unexpected digest hex parse failure`,`@zxch3n/flock/flock:digest.mbt:114:13-114:57`);{let e=n,t=un(32,0),r=0;for(;;){let n=r;if(n<32){C(e,n),C(t,n),t[n]=e[n],r=n+1|0;continue}else break}return wg(t)}}function Eg(){return{digest:Tm()}}function Dg(e,t){let n=0;for(;;){let r=n;if(r<(t.end-t.start|0)){Am(e.digest,Y(t,r)),n=r+1|0;continue}else return}}function Og(e,t){let n=Nm(t);Dg(e,X(n,0,n.length))}function kg(e,t){Og(e,Gs(t.end-t.start|0)),Dg(e,t)}function Ag(e,t){let n=e.length,r=t.length,i=n<r?n:r,a=0;for(;;){let n=a;if(n<i){C(e,n);let r=e.charCodeAt(n);C(t,n);let i=t.charCodeAt(n);if($s(r,i))return-1;if(ic(r,i))return 1;a=n+1|0;continue}else break}return n<r?-1:n>r?1:0}function jg(e){let t=0;for(;;){let n=t;if(n<e.length){let r=n,i=n+1|0;for(;;){let t=i;if(t<e.length){Ag(As(e,t)._0,As(e,r)._0)<0&&(r=t),i=t+1|0;continue}else break}if(r!==n){let t=As(e,n);tf(e,n,As(e,r)),tf(e,r,t)}t=n+1|0;continue}else return}}function Mg(e,t){let n=t?1:0;Am(e.digest,n&255)}function Ng(e,t){let n=Nm(t);Dg(e,X(n,0,n.length))}function Pg(e,t){Ng(e,Ad(t))}function Fg(e,t){let n=Pm(t);Dg(e,X(n,0,n.length))}function Ig(e,t){let n=qm(t).bytes;kg(e,X(n,0,n.length))}function Lg(e,t){Am(e.digest,t)}function Rg(e,t){switch(t.$tag){case 0:Lg(e,32);return;case 1:Lg(e,33),Mg(e,!0);return;case 2:Lg(e,33),Mg(e,!1);return;case 3:{let n=t._0;Lg(e,34),Pg(e,n);return}case 4:{let n=t._0;Lg(e,35),Ig(e,n);return}case 5:{let n=t._0;Lg(e,36),Og(e,Gs(n.length));let r=0;for(;;){let t=r;if(t<n.length){Rg(e,ws(n,t)),r=t+1|0;continue}else return}}default:{let n=t._0;Lg(e,37);let r=dl(0),i=n.head;for(;;){let e=i;if(e===void 0)break;{let t=e,n=t.key,a=t.value,o=t.next;xl(r,{_0:n,_1:a}),i=o;continue}}jg(r),Og(e,Gs(r.length));let a=0;for(;;){let t=a;if(t<r.length){let n=As(r,t),i=n._0,o=n._1;Ig(e,i),Rg(e,o),a=t+1|0;continue}else return}}}}function zg(e,t){Lg(e,16);let n=t.data;if(n===void 0)Mg(e,!1);else{let t=n;Mg(e,!0),Rg(e,t)}Lg(e,18);let r=t.metadata;if(r===void 0)Mg(e,!1);else{let t=r;Mg(e,!0);let n=dl(0),i=t.head;for(;;){let e=i;if(e===void 0)break;{let t=e,r=t.key,a=t.value,o=t.next;xl(n,{_0:r,_1:a}),i=o;continue}}jg(n),Og(e,Gs(n.length));let a=0;for(;;){let t=a;if(t<n.length){let r=As(n,t),i=r._0,o=r._1;Ig(e,i),Rg(e,o),a=t+1|0;continue}else break}}Lg(e,17),Pg(e,t.clock.hlc.physical_time),Fg(e,j(t.clock.hlc.logical_counter));let i=t.clock.peer.bytes;kg(e,X(i,0,i.length))}function Bg(){return{bytes:un(32,0)}}function Vg(e,t){if(t.data===void 0)return Bg();let n=Eg(),r=e;return kg(n,X(r,0,r.length)),zg(n,t),Tg(n)}function Hg(e){return Vg(e.key,e.value)}function Ug(e,t){return{key:e,value:t,overridden:!1}}function Wg(e,t){if(Wm(e.key,t.key)){let n;if(ql(e.value.data,t.value.data)){let r;if(Jl(e.value.metadata,t.value.metadata)){let n;if(Gm(e.value.clock.peer,t.value.clock.peer)){let r=e.value.clock.hlc,i=t.value.clock.hlc;n=r.physical_time===i.physical_time&&r.logical_counter===i.logical_counter}else n=!1;r=n}else r=!1;n=r}else n=!1;return n}else return!1}function Gg(e,t,n){let r=e.digest;if(r!==void 0){let e=r.pending;if(t===void 0||yl(e,t),n===void 0)return;yl(e,n);return}}function Kg(e,t,n){let r=t.key,i=t.value.clock.peer,a=Qh(e.kv,r),o=a._0,s=a._1,c;if(o===void 0)c=!0;else{let e=o;c=tc(t.value.clock,e.value.clock)||n&&ql(t.value.data,e.value.data)}if(!c)return!1;let l;if(o!==void 0){let e=o;l=Hg(e),e.overridden=!0}let u=eu(t.value.data,e=>Hg(t));s(t),eg(e.updates,i)||Jh(e.updates,i,[]);let d=$h(e.updates,i),f=!1,p=hf(d);if(p!==void 0&&tc(p.value.clock,t.value.clock)){f=!0;let e=d.length-2|0;for(;;){let n=e;if(n>=0){if(Ys(xs(d,n).value.clock,t.value.clock)){lf(d,n+1|0,t);break}e=n-1|0;continue}else{lf(d,0,t);break}}}return f||_l(d,t),Gg(e,l,u),!0}function qg(e){let t=L(8),n=e.head;for(;;){let e=n;if(e===void 0)break;{let r=e,i=r.key,a=r.value,o=r.next;R(t,i,a),n=o;continue}}return t}function Jg(e){let t=e.metadata,n;return n=t===void 0?void 0:qg(t),{data:e.data,metadata:n,clock:e.clock}}function Yg(e){let t=L(8),n=e.data;n===void 0||R(t,`d`,n),R(t,`c`,new i(Sg(e.clock)));let r=e.metadata;return r===void 0||R(t,`m`,B(qg(r))),B(t)}function Xg(e){if(e.$tag===6){let t=e._0,n;_L:{_L$2:{let e=Tu(t,`c`);if(e===void 0)break _L$2;{let t=e;if(t.$tag===4){let e=t._0,r=Cg({str:e,start:0,end:e.length});if(r===void 0)return;n=r}else break _L$2}break _L}return}let r=Tu(t,`d`),i=Tu(t,`m`),a;if(i===void 0)a=void 0;else{let e=i;switch(e.$tag){case 6:{let t=e._0;a=qg(t);break}case 0:a=void 0;break;default:return}}return{data:r,metadata:a,clock:n}}else return}function Zg(e){let t=e.metadata,n;return n=t===void 0?L(8):qg(t),{data:e.data,metadata:n,clock:e.clock}}function Qg(e){let t=lg(e),n;n=t===void 0?qo(`peer id must be less than 128 bytes`,`@zxch3n/flock/flock:flock.mbt:384:13-384:57`):t,_g(n);let r=au(8),i=Oh(),a=kh(),o=dg();return{peer_id:n,max_hlc:bo,vv:r,kv:i,updates:a,subscribers:o,digest:void 0,txn_events:zi}}function $g(e,t){let n=lg(t),r;r=n===void 0?qo(`peer id must be less than 128 bytes`,`@zxch3n/flock/flock:flock.mbt:403:13-403:57`):n,_g(r),e.peer_id=r}function e_(e,t){let n=Dh(e.kv),r=Dh(t.kv);if(n.length!==r.length)return!1;let i=0;for(;;){let e=i;if(e<n.length){let t=Ts(n,e),a=t._0,o=t._1,s=Ts(r,e),c=s._0,l=s._1;if(ms(a,c)||!Wg(o,l))return!1;i=e+1|0;continue}else break}return!0}function t_(e,t,n,r,i,a,o){let s=Ch(t);if(s===void 0)return new Vi(new Ut(z(t)));{let t=s;if(o){let i=Xh(e.kv,t);if(i===void 0){if(n===void 0&&r===void 0)return new Hi(void 0)}else{let e=i;if(ql(e.value.data,n)&&Jl(e.value.metadata,r))return new Hi(void 0)}}let c=Ql(i,()=>Ku(mm()));c>e.max_hlc.physical_time?e.max_hlc={physical_time:c,logical_counter:0}:e.max_hlc={physical_time:e.max_hlc.physical_time,logical_counter:e.max_hlc.logical_counter+1|0};let l={hlc:e.max_hlc,peer:e.peer_id},u;u=r===void 0?void 0:qg(r);let d=Ug(t,{data:n,metadata:u,clock:l}),f;if(a===void 0)f=Jg(d.value);else{let e=a(d);f=Jg(e===void 0?d.value:e.value)}let p=Ug(t,{data:f.data,metadata:f.metadata,clock:l});if(!Kg(e,p,!0))return new Hi(void 0);let m=p.value.clock.hlc;e.max_hlc=m,Su(e.vv,vg(e.peer_id),m);let h=e.txn_events;if(h.$tag===1){let e=h._0;return new Hi(ml(e,{_0:wh(p.key),_1:Jg(p.value)}))}else if(mg(e.subscribers))return new Hi(void 0);else{let t=wh(p.key),n=Jg(p.value);return new Hi(pg(e.subscribers,{by:jt,events:[{_0:t,_1:n}]}))}}}function n_(e,t,n,r,i,a,o){let s;s=r.$tag===1?r._0:void 0;let c;c=i===void 0?or:i;let l;return l=a.$tag===1?a._0:void 0,t_(e,t,n,s,c,l,o===-1?!0:o)}function r_(e,t,n,r,i,a){return t_(e,t,n,r,i,a,!0)}function i_(e,t,n,r,i,a){let o;o=r.$tag===1?r._0:void 0;let s;s=i===void 0?or:i;let c;return c=a.$tag===1?a._0:void 0,r_(e,t,n,o,s,c)}function a_(e,t,n,r){return i_(e,t,n,Ui,r,Gi)}function o_(e,t,n){return n_(e,t,void 0,Ui,n,Gi,!0)}function s_(e){if(e.txn_events.$tag===0){e.txn_events=new Bi([]);return}else{Yo(`Nested transactions are not supported`,`@zxch3n/flock/flock:flock.mbt:601:5-601:51`);return}}function c_(e){let t=e.txn_events;if(t.$tag===1){let n=t._0;if(e.txn_events=zi,n.length>0&&!mg(e.subscribers)){pg(e.subscribers,{by:jt,events:n});return}else return}else{Yo(`No active transaction to commit`,`@zxch3n/flock/flock:flock.mbt:611:5-611:45`);return}}function l_(e){if(e.txn_events.$tag===1){e.txn_events=zi;return}else{Yo(`No active transaction to rollback`,`@zxch3n/flock/flock:flock.mbt:625:5-625:47`);return}}function u_(e){return e.txn_events.$tag===1}function d_(e,t){let n=Ch(t);if(n!==void 0){let t=n;return nu(Xh(e.kv,t),e=>e.value.data)}}function f_(e,t){let n=Ch(t);if(n!==void 0){let t=n;return $l(Xh(e.kv,t),e=>Zg(e.value))}}function p_(){return e=>1}function m_(e){if(!(e.end-e.start|0))return;let t=ll(e.end-e.start|0),n=0;for(;;){let r=n;if(r<(e.end-e.start|0)){I(t,Y(e,r)),n=r+1|0;continue}else break}let r=t.length-1|0;for(;;){let e=r;if(e>=0){let n=Ds(t,e);if(n<255){ef(t,e,(n+1|0)&255);let r=ll(e+1|0),i=0;for(;;){let n=i;if(n<=e){I(r,Ds(t,n)),i=n+1|0;continue}else break}return Qd({buf:r,start:0,end:r.length})}r=e-1|0;continue}else break}}function h_(e,t,n){let r=e._1,i=e._0,a=r.val;if(a===void 0){r.val=t,i.val=n;return}else{let e=a,o=sh(X(t,0,t.length),X(e,0,e.length));if(o>0){r.val=t,i.val=n;return}else if(o===0){i.val=i.val&&n;return}else return}}function g_(e,t,n){let r=e._1,i=e._0,a=r.val;if(a===void 0){r.val=t,i.val=n;return}else{let e=a,o=sh(X(t,0,t.length),X(e,0,e.length));if(o<0){r.val=t,i.val=n;return}else if(o===0){i.val=i.val&&n;return}else return}}function __(e,t,n,r){let i={val:al(0)},a={val:!1},o,s;if(r.$tag===1){let e=r._0;i.val=uf(e),a.val=!0;let t=Ch(e);if(t===void 0)return p_();{let e=t;s=m_(X(e,0,e.length)),o=e}}let c;switch(t.$tag){case 0:{let e=t._0,n=Ch(e);if(n===void 0)return p_();c=new qi(n);break}case 1:{let e=t._0,n=Ch(e);if(n===void 0)return p_();c=new Ji(n);break}default:c=Yi}let l;switch(n.$tag){case 0:{let e=n._0,t=Ch(e);if(t===void 0)return p_();l=new qi(t);break}case 1:{let e=n._0,t=Ch(e);if(t===void 0)return p_();l=new Ji(t);break}default:l=Yi}let u={val:void 0},d={val:!0},f={_0:d,_1:u},p=o;switch(p===void 0||h_(f,p,!0),c.$tag){case 0:{let e=c._0;h_(f,e,!0);break}case 1:{let e=c._0;h_(f,e,!1);break}}let m=u.val,h;if(m===void 0)h=Ii;else{let e=m;h=d.val?new Pi(e):new Fi(e)}let g={val:void 0},_={val:!0},v={_0:_,_1:g},y=s;switch(y===void 0||g_(v,y,!1),l.$tag){case 0:{let e=l._0;g_(v,e,!0);break}case 1:{let e=l._0;g_(v,e,!1);break}}let ee=g.val,te;if(ee===void 0)te=Ii;else{let e=ee;te=_.val?new Pi(e):new Fi(e)}let ne=og(e.kv,h,te);return e=>Xu(ne,(t,n)=>{let r=wh(t);if(a.val){if(i.val.length>r.length)return 1;let e=!0,t=0;for(;;){let n=t;if(n<i.val.length){if(gs(ws(i.val,n),ws(r,n))){e=!1;break}t=n+1|0;continue}else break}if(!e)return 1}return e(r,n)===0?0:1})}function v_(e,t,n,r){let i;i=t===void 0?Ni:t;let a;return a=n===void 0?Ni:n,__(e,i,a,r)}function y_(e,t){return fg(e.subscribers,t)}function b_(e){return vg(e.peer_id)}function x_(e){let t=au(8);return ng(e.updates)((e,n)=>{let r=n.length-1|0;for(;;){let i=r;if(i>=0){let a=xs(n,i);if(!a.overridden){Su(t,vg(e),a.value.clock.hlc);break}r=i-1|0;continue}else break}return 1}),t}function S_(e){return zu(e.vv)}function C_(e,t,n,r){let i=Zh(r.updates,t);if(i.$tag===1){let t=i._0,a=0;for(;;){let i=a;if(i<t.length){_L:{let a=xs(t,i);if(a.overridden)break _L;_L$2:{_L$3:{let t=Xh(r.kv,a.key);if(t===void 0)break _L$3;if(yg(t.value.clock,a.value.clock)){if(n.$tag===1){let e=n._0;if(a.value.data===void 0&&a.value.clock.hlc.physical_time<e)break _L}let t=wh(a.key),r=a.value;R(e,rm(z(t),!1,0,void 0),Yg(r))}else break _L$3;break _L$2}break _L}break _L}a=i+1|0;continue}else return}}else return}function w_(e,t,n,r,i){let a=Zh(i.updates,t);if(a.$tag===1){let t=a._0,i=pf(t,e=>{let t=e.value.clock.hlc;return t.physical_time<n.physical_time?-1:t.physical_time>n.physical_time?1:zt(t.logical_counter,n.logical_counter)}),o;o=i.$tag===1?i._0+1|0:i._0;let s=o;for(;;){let n=s;if(n<t.length){_L:{let i=xs(t,n);if(i.overridden)break _L;if(r.$tag===1){let e=r._0;if(i.value.data===void 0&&i.value.clock.hlc.physical_time<e)break _L}let a=wh(i.key),o=i.value;R(e,rm(z(a),!1,0,void 0),Yg(o));break _L}s=n+1|0;continue}else return}}else return}function T_(e,t,n,i){let a=L(8),s;if(i===void 0)s=void 0;else{let e=lg(i);s=e===void 0?void 0:e}R(a,`version`,new r(0,void 0));let c=L(8);if(s===void 0)_L:{_L$2:{if(t===void 0)break _L$2;{let r=t;if(r.size!==0){let t=Xi;Iu(e.vv)((t,i)=>{let a=wu(r,t),o;if(o=a===void 0?yo:a,cc(o,i))return 1;let s=lg(t),l;return s===void 0?1:(l=s,w_(c,l,o,n,e),1)});let i=t;switch(i.$tag){case 0:break;case 1:i._0;break;case 2:return i._0;case 3:S();break;default:S()}}else break _L$2}break _L}ig(e.kv)((e,t)=>{let n=wh(e),r=t.value;return R(c,rm(z(n),!1,0,void 0),Yg(r)),1})}else{let r=s;_L:{_L$2:{if(t===void 0)break _L$2;{let i=t;if(i.size!==0){let t=vg(r),a=wu(i,t),o;o=a===void 0?yo:a;_L$3:_L$4:{let i=wu(e.vv,t);if(i===void 0)break _L$4;if(Js(o,i))w_(c,r,o,n,e);else break _L$4;break _L$3}}else break _L$2}break _L}C_(c,r,n,e)}}return R(a,`entries`,new o(c)),new o(a)}function E_(e,t,n,r){let i;i=n===void 0?or:n;let a;return a=r.$tag===1?r._0:void 0,T_(e,t,i,a)}function D_(e,t,n){let r=e.txn_events;if(r.$tag===1){let n=r._0;return e.txn_events=zi,n.length>0&&!mg(e.subscribers)&&pg(e.subscribers,{by:jt,events:n}),new ta(new Ht(t,`import called during transaction - transaction was auto-committed`))}if(t.$tag===6){let r=t._0,i;_L:{_L$2:{let e=Tu(r,`version`);if(e===void 0)return new ta(new Ht(t,`The imported json does not contain a version field`));{let t=e;if(t.$tag===3){if(t._0!==0){i=t;break _L$2}}else{i=t;break _L$2}}break _L}return new ta(new Ht(t,`The imported json uses an unsupported version ${vc(i)}`))}let a={val:zi};mg(e.subscribers)||(a.val=new Bi(ol(0)));let o=sl(0),s={val:0},c;_L$2:{_L$3:{let e=Tu(r,`entries`);if(e===void 0)break _L$3;{let t=e;if(t.$tag===6)c=t._0;else break _L$3}break _L$2}return new ta(new Ht(t,`entries is not an object`))}let l={val:ra};Lu(c)((r,i)=>{let c;_L$3:{let l=Xg(i),u;if(l===void 0){c=new Ht(t,`value is not a raw value`);break _L$3}else u=l;let d;_L$4:{_L$5:{let e=em({str:r,start:0,end:r.length},1024);if(e.$tag===1)d=e._0;else{e._0;break _L$5}break _L$4}d=S()}if(d.$tag===5){let r=d._0,i=al(0),l=0;for(;;){let e=l;if(e<r.length){fl(i,ws(r,e)),l=e+1|0;continue}else break}let f=Ch(i);if(f===void 0){c=new Ht(t,`key is not a valid key`);break _L$3}else{let t=Ug(f,u),r;if(n===void 0)r=t;else{let e=n(t);if(e.$tag===0)r=t;else{let t=e._0;return pl(o,{key:uf(i),reason:t}),1}}s.val=s.val+1|0;let c=r.value.clock.peer,l=r.value.clock.hlc,d=Kg(e,r,!1);Js(e.max_hlc,l)&&(e.max_hlc=l);let p=vg(c),m=wu(e.vv,p);if(m===void 0)Su(e.vv,p,l);else{let t=m;(t.physical_time<l.physical_time?-1:t.physical_time>l.physical_time?1:zt(t.logical_counter,l.logical_counter))<0&&Su(e.vv,p,l)}if(d){let e=a.val;if(e.$tag===1){let t=e._0;ml(t,{_0:wh(r.key),_1:Jg(r.value)})}}}}else{c=new Ht(t,`key is not an array json`);break _L$3}return 1}return l.val=new oa(c),0});let u=l.val;switch(u.$tag){case 0:break;case 1:u._0;break;case 2:return new na(u._0);case 3:return new ta(u._0);default:S()}let d=a.val;if(d.$tag===1){let t=d._0;t.length>0&&pg(e.subscribers,{by:xo,events:t})}return new na({accepted:s.val,skipped:o})}else return new ta(new Ht(t,`not an object`))}function O_(e,t,n){let r;return r=n.$tag===1?n._0:void 0,D_(e,t,r)}function k_(e,t){_L:{_L$2:{let n=O_(e,E_(t,x_(e),void 0,ca),ua);if(n.$tag===1)n._0;else{n._0;break _L$2}break _L}S()}}function A_(e,t){let n=Qg(t),r=O_(n,e,ua);if(r.$tag===1)r._0;else return r;return new pa(n)}function j_(e){return E_(e,void 0,void 0,ca)}function M_(e,n,r,i){let a={val:ma};v_(e,void 0,void 0,new ba(n))((n,r)=>{let o;_L:{let a=r.value.data;if(ql(a,t)){let t=o_(e,n,i);if(t.$tag===1)t._0;else{o=t._0;break _L}}return 1}return a.val=new _a(o),0});let o=a.val;switch(o.$tag){case 0:break;case 1:o._0;break;case 2:return new Hi(o._0);case 3:return new Vi(o._0);default:S()}let s=uf(n);_L:{_L$2:{switch(r.$tag){case 5:break _L$2;case 0:break _L$2;case 6:break _L$2}break _L}return new Vi(new Wt(r))}return fl(s,r),n_(e,s,t,Ui,i,Gi,-1)}function N_(e,n){let r=[],i=xa;v_(e,void 0,void 0,new ba(n))((e,i)=>{let a;if(e.length!==(n.length+1|0))a=!0;else{let e=i.value.data;a=hs(e,t)}return a||fl(r,ws(e,n.length)),1});let a=i;switch(a.$tag){case 0:break;case 1:a._0;break;case 2:return a._0;case 3:S();break;default:S()}return r}function P_(e){return Qg(e)}function F_(e){return Ea(e)}function I_(e){let t=F_(e);_L:{let e=em({str:t,start:0,end:t.length},1024);if(e.$tag===1)return e._0;e._0;break _L}return S()}function L_(e){return Da(e)}function R_(e){return L_(rm(e,!1,0,void 0))}function z_(e){switch(e.$tag){case 6:{let t=e._0,n=L(8),r=t.head;for(;;){let e=r;if(e===void 0)break;{let t=e,i=t.key,a=t.value,o=t.next;R(n,i,a),r=o;continue}}return n}case 0:return;default:return Zo(`metadata must be an object or null`,`@zxch3n/flock/flock:ffi-js.mbt:43:10-43:53`)}}function B_(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:50:15-50:33`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=ym(r,`@zxch3n/flock/flock:ffi-js.mbt:51:40-51:54`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=Array(a.length),s=a.length,c=0;for(;;){let e=c;if(e<s){let t=a[e];o[e]=I_(t),c=e+1|0;continue}else break}let l=d_(e,o);return l===void 0?bm():R_(l)}return S()}function V_(e){let t=L(8);return R(t,`physicalTime`,Ju(e.hlc.physical_time)),R(t,`logicalCounter`,Vu(e.hlc.logical_counter)),R(t,`peerId`,new i(vg(e.peer))),B(t)}function H_(e){let t=L(8),n=e.head;for(;;){let e=n;if(e===void 0)break;{let r=e,i=r.key,a=r.value,o=r.next;R(t,i,a),n=o;continue}}return B(t)}function U_(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:67:15-67:33`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=ym(r,`@zxch3n/flock/flock:ffi-js.mbt:68:40-68:54`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=Array(a.length),s=a.length,c=0;for(;;){let e=c;if(e<s){let t=a[e];o[e]=I_(t),c=e+1|0;continue}else break}let l=f_(e,o);if(l===void 0)return bm();{let e=l,t=L(8),n=e.data;return n===void 0||R(t,`data`,n),R(t,`metadata`,H_(e.metadata)),R(t,`clock`,V_(e.clock)),R_(B(t))}}return S()}function W_(e){return Oa(e)}function G_(e){return ka(e)}function K_(e){if(e.$tag===6){let t=e._0,n=au(8);return Lu(t)((e,t)=>{lg(e)===void 0&&Yo(`invalid peer id in version vector`,`@zxch3n/flock/flock:ffi-js.mbt:215:15-215:57`);_L:{_L$2:{if(t.$tag===5){let r=t._0;if(r.length>=2)Su(n,e,ug(Zl(im(ws(r,0))),Hd(Zl(im(ws(r,1))))));else break _L$2}else break _L$2;break _L}Yo(`version vector entry must be [physical_time, logical_counter]`,`@zxch3n/flock/flock:ffi-js.mbt:218:7-218:77`)}return 1}),n}else return Xo(`version vector must be an object`,`@zxch3n/flock/flock:ffi-js.mbt:209:5-209:46`)}function q_(e,t,n,r){_L:{let i;if(G_(t)||W_(t))i=void 0;else{let e=$(t,`@zxch3n/flock/flock:ffi-js.mbt:100:32-100:51`),n;if(e.$tag===1)n=e._0;else{e._0;break _L}i=K_(I_(n))}let a;if(G_(n)||W_(n))a=or;else{let e=$(n,`@zxch3n/flock/flock:ffi-js.mbt:107:12-107:50`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let r=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:107:12-107:62`),i;if(r.$tag===1)i=r._0;else{r._0;break _L}a=new sr(i)}let o;if(G_(r)||W_(r))o=void 0;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:112:12-112:34`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=_m(t,`@zxch3n/flock/flock:ffi-js.mbt:112:12-112:46`);if(n.$tag===1)o=n._0;else{n._0;break _L}}let s;return s=i===void 0?T_(e,void 0,a,o):T_(e,i,a,o),R_(s)}return S()}function J_(e,t){_L:if(G_(t)||W_(t))return Jo(`json is null or undefined`,`@zxch3n/flock/flock:ffi-js.mbt:135:7-135:41`);else{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:137:32-137:51`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let a=I_(r),o;_L$2:{_L$3:{let t=O_(e,a,ua);if(t.$tag===1)o=t._0;else{t._0;break _L$3}break _L$2}o=S()}let s=al(0),c=0;for(;;){let e=c;if(e<o.skipped.length){let t=Ss(o.skipped,e),n=L(8);R(n,`key`,z(t.key));let r=t.reason;R(n,`reason`,new i(r)),fl(s,B(n)),c=e+1|0;continue}else break}let l=L(8);return R(l,`accepted`,Vu(o.accepted)),R(l,`skipped`,z(s)),R_(B(l))}return S()}function Y_(e,t){_L:if(G_(t)||W_(t))return Jo(`json is null or undefined`,`@zxch3n/flock/flock:ffi-js.mbt:161:7-161:41`);else{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:163:13-163:36`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let a=_m(r,`@zxch3n/flock/flock:ffi-js.mbt:163:13-163:48`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s;_L$2:{_L$3:{let e=em({str:o,start:0,end:o.length},1024);if(e.$tag===1)s=e._0;else{e._0;break _L$3}break _L$2}s=S()}let c;_L$3:{_L$4:{let t=O_(e,s,ua);if(t.$tag===1)c=t._0;else{t._0;break _L$4}break _L$3}c=S()}let l=al(0),u=0;for(;;){let e=u;if(e<c.skipped.length){let t=Ss(c.skipped,e),n=L(8);R(n,`key`,z(t.key));let r=t.reason;R(n,`reason`,new i(r)),fl(l,B(n)),u=e+1|0;continue}else break}let d=L(8);return R(d,`accepted`,Vu(c.accepted)),R(d,`skipped`,z(l)),R_(B(d))}return S()}function X_(e){let t=L(8);return Iu(e)((e,n)=>(R(t,e,z([Ju(n.physical_time),Vu(n.logical_counter)])),1)),B(t)}function Z_(e){return R_(X_(x_(e)))}function Q_(e){return R_(X_(S_(e)))}function $_(e){return lg(e)===void 0?Qo(`invalid peer id`,`@zxch3n/flock/flock:ffi-js.mbt:236:13-236:37`):e}function ev(e){if(e.$tag===6){let t=e._0,n;_L:{_L$2:{let e=Tu(t,`kind`);if(e===void 0)break _L$2;{let t=e;if(t.$tag===4)n=t._0;else break _L$2}break _L}n=Qo(`bound.kind must be a string`,`@zxch3n/flock/flock:ffi-js.mbt:246:14-246:50`)}let r;_L$2:{_L$3:{let e=Tu(t,`key`);if(e===void 0)break _L$3;{let t=e;if(t.$tag===5){let e=t._0;r=uf(e)}else break _L$3}break _L$2}r=$o(`bound.key must be an array`,`@zxch3n/flock/flock:ffi-js.mbt:250:14-250:49`)}return n===`inclusive`?new ji(r):n===`exclusive`?new Mi(r):n===`unbounded`?Ni:es(`unexpected bound.kind`,`@zxch3n/flock/flock:ffi-js.mbt:259:9-259:39`)}else return es(`bound must be an object`,`@zxch3n/flock/flock:ffi-js.mbt:262:10-262:42`)}function tv(e,t){return e_(e,t)}function nv(e,t,n,r){_L:{let i=$(t,`@zxch3n/flock/flock:ffi-js.mbt:284:21-284:39`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=ym(a,`@zxch3n/flock/flock:ffi-js.mbt:285:40-285:60`),s;if(o.$tag===1)s=o._0;else{o._0;break _L}let c=Array(s.length),l=s.length,u=0;for(;;){let e=u;if(e<l){let t=s[e];c[e]=I_(t),u=e+1|0;continue}else break}let d=c,f;_L$2:{_L$3:{let e=em({str:n,start:0,end:n.length},1024);if(e.$tag===1)f=e._0;else{e._0;break _L$3}break _L$2}f=S()}let p;if(G_(r)||W_(r))p=or;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:291:12-291:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:291:12-291:42`),i;if(n.$tag===1)i=n._0;else{n._0;break _L}p=new sr(i)}let m=a_(e,d,f,p);if(m.$tag===1){m._0;return}else{m._0;break _L}}S()}function rv(e,t,n,r,i){_L:{let a=$(t,`@zxch3n/flock/flock:ffi-js.mbt:306:21-306:39`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s=ym(o,`@zxch3n/flock/flock:ffi-js.mbt:307:40-307:60`),c;if(s.$tag===1)c=s._0;else{s._0;break _L}let l=Array(c.length),u=c.length,d=0;for(;;){let e=d;if(e<u){let t=c[e];l[e]=I_(t),d=e+1|0;continue}else break}let f=l,p;_L$2:{_L$3:{let e=em({str:n,start:0,end:n.length},1024);if(e.$tag===1)p=e._0;else{e._0;break _L$3}break _L$2}p=S()}let m;if(G_(r)||W_(r))m=void 0;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:313:41-313:64`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}m=z_(I_(t))}let h;if(G_(i)||W_(i))h=or;else{let e=$(i,`@zxch3n/flock/flock:ffi-js.mbt:319:12-319:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:319:12-319:42`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}h=new sr(r)}if(m===void 0){let t=i_(e,f,p,Ui,h,Gi);if(t.$tag===1){t._0;return}else{t._0;break _L}}else{let t=i_(e,f,p,new Wi(m),h,Gi);if(t.$tag===1){t._0;return}else{t._0;break _L}}}S()}function iv(e,t,n){_L:{let r=$(t,`@zxch3n/flock/flock:ffi-js.mbt:341:21-341:39`),i;if(r.$tag===1)i=r._0;else{r._0;break _L}let a=ym(i,`@zxch3n/flock/flock:ffi-js.mbt:342:40-342:60`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s=Array(o.length),c=o.length,l=0;for(;;){let e=l;if(e<c){let t=o[e];s[e]=I_(t),l=e+1|0;continue}else break}let u=s,d;if(G_(n)||W_(n))d=or;else{let e=$(n,`@zxch3n/flock/flock:ffi-js.mbt:347:12-347:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let r=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:347:12-347:42`),i;if(r.$tag===1)i=r._0;else{r._0;break _L}d=new sr(i)}let f=o_(e,u,d);if(f.$tag===1){f._0;return}else{f._0;break _L}}S()}function av(e){return e.max_hlc.physical_time}function ov(e){return b_(e)}function sv(e){return R_(j_(e))}function cv(e){return{bytes:Vd(e.bytes)}}function lv(e,t){let n=Vd(e.bytes),r=t.bytes,i=0;for(;;){let e=i;if(e<32){C(n,e);let t=n[e];C(r,e);let a=r[e];C(n,e),n[e]=(t^a)&255,i=e+1|0;continue}else break}return{bytes:n}}function uv(e){let t={val:Bg()},n=Aa;ig(e.kv)((e,n)=>(n.value.data===void 0||(t.val=lv(t.val,Hg(n))),1));let r=n;switch(r.$tag){case 0:break;case 1:r._0;break;case 2:return r._0;case 3:S();break;default:S()}let i=cv(t.val);return e.digest={sum:t.val,pending:[]},i}function dv(e){let t=e.digest;if(t!==void 0){let n=t,r=n.sum,i=n.pending;if(i.length===0)return cv(r);if(i.length>=e.kv.size)return uv(e);let a=cv(r),o=0;for(;;){let e=o;if(e<i.length){a=lv(a,Es(i,e)),o=e+1|0;continue}else break}return e.digest={sum:a,pending:[]},cv(a)}return uv(e)}function fv(e){let t=e.bytes;return hg($d(e=>{let n=t.length,r=0;for(;;){let i=r;if(i<n)if(e(t[i])===1){r=i+1|0;continue}else return 0;else return 1}}))}function pv(e){return fv(dv(e))}function mv(e){return pv(e)}function hv(e,t,n,r){_L:{let i=$(t,`@zxch3n/flock/flock:ffi-js.mbt:381:21-381:39`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=ym(a,`@zxch3n/flock/flock:ffi-js.mbt:382:40-382:60`),s;if(o.$tag===1)s=o._0;else{o._0;break _L}let c=Array(s.length),l=s.length,u=0;for(;;){let e=u;if(e<l){let t=s[e];c[e]=I_(t),u=e+1|0;continue}else break}let d=c,f;_L$2:{_L$3:{let e=em({str:n,start:0,end:n.length},1024);if(e.$tag===1)f=e._0;else{e._0;break _L$3}break _L$2}f=S()}let p;if(G_(r)||W_(r))p=or;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:388:12-388:30`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=gm(t,`@zxch3n/flock/flock:ffi-js.mbt:388:12-388:42`),i;if(n.$tag===1)i=n._0;else{n._0;break _L}p=new sr(i)}let m=M_(e,d,f,p);if(m.$tag===1){m._0;return}else{m._0;break _L}}S()}function gv(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:397:21-397:39`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=ym(r,`@zxch3n/flock/flock:ffi-js.mbt:398:40-398:60`),a;if(i.$tag===1)a=i._0;else{i._0;break _L}let o=Array(a.length),s=a.length,c=0;for(;;){let e=c;if(e<s){let t=a[e];o[e]=I_(t),c=e+1|0;continue}else break}return R_(z(N_(e,o)))}return S()}function _v(e,t){_L:{let n=$(e,`@zxch3n/flock/flock:ffi-js.mbt:408:22-408:41`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}let i=I_(r),a=$(t,`@zxch3n/flock/flock:ffi-js.mbt:410:22-410:44`),o;if(a.$tag===1)o=a._0;else{a._0;break _L}let s=_m(o,`@zxch3n/flock/flock:ffi-js.mbt:411:16-411:38`),c;if(s.$tag===1)c=s._0;else{s._0;break _L}let l=A_(i,$_(c));if(l.$tag===1)return l._0;l._0;break _L}return S()}function vv(e,t,n,r){_L:{let i;if(G_(t)||W_(t))i=Ni;else{let e=$(t,`@zxch3n/flock/flock:ffi-js.mbt:427:25-427:45`),n;if(e.$tag===1)n=e._0;else{e._0;break _L}i=ev(I_(n))}let a;if(G_(n)||W_(n))a=Ni;else{let e=$(n,`@zxch3n/flock/flock:ffi-js.mbt:433:23-433:41`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}a=ev(I_(t))}let o;if(G_(r)||W_(r))o=ya;else{let e=$(r,`@zxch3n/flock/flock:ffi-js.mbt:439:26-439:47`),t;if(e.$tag===1)t=e._0;else{e._0;break _L}let n=ym(t,`@zxch3n/flock/flock:ffi-js.mbt:440:45-440:68`),i;if(n.$tag===1)i=n._0;else{n._0;break _L}let a=Array(i.length),s=i.length,c=0;for(;;){let e=c;if(e<s){let t=i[e];a[e]=I_(t),c=e+1|0;continue}else break}o=new ba(a)}let s=al(0),c;if(o.$tag===1){let t=o._0;c=__(e,i,a,new ba(t))}else c=__(e,i,a,ya);return Yu(c,(e,t)=>{let n=L(8);R(n,`key`,z(e)),R(n,`raw`,Yg(t.value));let r=t.value.data;return r===void 0||R(n,`value`,r),fl(s,B(n)),1}),R_(z(s))}return S()}function yv(e){let t=L(8),n=e.data;n===void 0||R(t,`data`,n);let r=e.metadata;return r===void 0||R(t,`metadata`,H_(r)),B(t)}function bv(e,t){_L:{let n=$(t,`@zxch3n/flock/flock:ffi-js.mbt:498:26-498:49`),r;if(n.$tag===1)r=n._0;else{n._0;break _L}return Ia(y_(e,e=>{let t=al(0),n=0;for(;;){let r=n;if(r<e.events.length){let i=Cs(e.events,r),a=i._0,o=i._1,s=L(8);R(s,`key`,z(a));let c=o.data;c===void 0||R(s,`value`,c);let l=o.metadata;l===void 0||R(s,`metadata`,H_(l)),R(s,`payload`,yv(o)),fl(t,B(s)),n=r+1|0;continue}else break}let a=L(8);R(a,`events`,z(t));let o=e.by,s;if(o.$tag===0)s=new i(`local`);else{let e=o._0;s=new i(e)}R(a,`source`,s),Fa(r,R_(B(a)))}))}return S()}function xv(e){s_(e)}function Sv(e){c_(e)}function Cv(e){l_(e)}function wv(e){return u_(e)}function Tv(e){return Rv(e)}function Ev(e){return Wv(e)}const Dv=new TextEncoder,Ov=new TextDecoder;function kv(e){return Dv.encode(e).length}function Av(e){return typeof e==`string`&&kv(e)<128}function jv(){let e=new Uint8Array(32);if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`)crypto.getRandomValues(e);else for(let t=0;t<32;t+=1)e[t]=Math.floor(Math.random()*256);return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function Mv(e){if(e===void 0)return jv();if(!Av(e))throw TypeError(`peerId must be a UTF-8 string under 128 bytes.`);return e}function Nv(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1){let n=e[r]-t[r];if(n!==0)return n}return e.length-t.length}function Pv(e){if(!e||typeof e!=`object`)return[];let t=[];for(let[n,r]of Object.entries(e)){if(!r||!Av(n))continue;let{physicalTime:e,logicalCounter:i}=r;if(typeof e!=`number`||!Number.isFinite(e)||typeof i!=`number`||!Number.isFinite(i))continue;let a=Dv.encode(n);t.push({peer:n,peerBytes:a,timestamp:Math.trunc(e),counter:Math.max(0,Math.trunc(i))})}return t.sort((e,t)=>{if(e.timestamp!==t.timestamp)return e.timestamp-t.timestamp;let n=Nv(e.peerBytes,t.peerBytes);return n===0?e.counter-t.counter:n}),t}function Fv(e,t){if(!Number.isFinite(e)||e<0)throw TypeError(`leb128 values must be finite and non-negative`);let n=Math.trunc(e);if(n===0){t.push(0);return}for(;n>0;){let e=n%128;n=Math.floor(n/128),t.push(n>0?e|128:e)}}function Iv(e,t){Fv(e.length,t);for(let n=0;n<e.length;n+=1)t.push(e[n])}const Lv=new Uint8Array([86,69,86,69]);function Rv(e){let t=Pv(e),n=Array.from(Lv);if(t.length===0)return Uint8Array.from(n);let r=0;for(let e=0;e<t.length;e+=1){let i=t[e];if(i.timestamp<0)throw TypeError(`timestamp must be non-negative`);if(e===0)Fv(i.timestamp,n),r=i.timestamp;else{let e=i.timestamp-r;if(e<0)throw TypeError(`version vector timestamps must be non-decreasing`);Fv(e,n),r=i.timestamp}Fv(i.counter,n),Iv(i.peerBytes,n)}return Uint8Array.from(n)}function zv(e,t){let n=0,r=1,i=0;for(;t+i<e.length;){let a=e[t+i];if(i+=1,n+=(a&127)*r,!(a&128))break;r*=128}return[n,i]}function Bv(e,t){let[n,r]=zv(e,t),i=t+r,a=i+n;if(a>e.length)throw TypeError(`varString length exceeds buffer`);let o=e.subarray(i,a);return[Ov.decode(o),r+n]}function Vv(e){return e.length>=4&&e[0]===Lv[0]&&e[1]===Lv[1]&&e[2]===Lv[2]&&e[3]===Lv[3]}function Hv(e){let t=0,[n,r]=zv(e,t);t+=r;let[i,a]=zv(e,t);t+=a;let o={};for(let r=0;r<n;r+=1){let[n,r]=Bv(e,t);if(t+=r,!Av(n))throw TypeError(`invalid peer id in encoded version vector`);let[a,s]=zv(e,t);t+=s;let[c,l]=zv(e,t);t+=l,o[n]={physicalTime:i+a,logicalCounter:c}}return o}function Uv(e){let t=4,n={};if(t===e.length)return n;let[r,i]=zv(e,t);t+=i;let[a,o]=zv(e,t);t+=o;let[s,c]=Bv(e,t);if(t+=c,!Av(s))throw TypeError(`invalid peer id in encoded version vector`);n[s]={physicalTime:r,logicalCounter:a};let l=r;for(;t<e.length;){let[r,i]=zv(e,t);t+=i;let[a,o]=zv(e,t);t+=o;let[s,c]=Bv(e,t);if(t+=c,!Av(s))throw TypeError(`invalid peer id in encoded version vector`);let u=l+r;if(u<l)throw TypeError(`version vector timestamps must be non-decreasing`);n[s]={physicalTime:u,logicalCounter:a},l=u}return n}function Wv(e){return Vv(e)?Uv(e):Hv(e)}function Gv(e){if(!e)return;let t={};for(let n of Pv(e))t[n.peer]=[n.timestamp,n.counter];return t}function Kv(e){if(e!==void 0&&!(typeof e!=`number`||!Number.isFinite(e)))return e}function qv(e){if(typeof e!=`object`||!e)return{};let t={};for(let[n,r]of Object.entries(e)){if(!Array.isArray(r)||r.length<2||!Av(n))continue;let[e,i]=r;typeof e!=`number`||!Number.isFinite(e)||typeof i!=`number`||!Number.isFinite(i)||(t[n]={physicalTime:e,logicalCounter:Math.trunc(i)})}return t}function Jv(e){if(e)return e.kind===`unbounded`?{kind:`unbounded`}:{kind:e.kind,key:e.key.slice()}}function Yv(e){if(!e||typeof e!=`object`)return;let t=e,n=oy(t.clock);if(!n)return;let r={metadata:iy(t.metadata),clock:n};return`data`in t&&(r.data=ty(t.data)),r}function Xv(e){if(!e||typeof e!=`object`)return{source:`local`,events:[]};let t=e;return{source:typeof t.source==`string`?t.source:`local`,events:(Array.isArray(t.events)?t.events:[]).filter(e=>!!e).map(e=>Zv(e))}}function Zv(e){let t=Array.isArray(e.key)?e.key:[],n=Qv(e);return{key:t,value:n.data,metadata:ry(n.metadata),payload:n}}function Qv(e){let t={};`value`in e&&(t.data=ty(e.value));let n=ry(e.metadata);return n!==void 0&&(t.metadata=n),dy(t,$v(e.payload))}function $v(e){if(!e||typeof e!=`object`)return;let t={};`data`in e&&(t.data=ty(e.data));let n=ry(e.metadata);return n!==void 0&&(t.metadata=n),t}const ey=globalThis.structuredClone;function ty(e){return e===void 0?e:ey?ey(e):JSON.parse(JSON.stringify(e))}function ny(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function ry(e){if(!(!e||typeof e!=`object`||Array.isArray(e)))return ty(e)}function iy(e){return ry(e)??{}}function ay(e){let t=typeof e.c==`string`?e.c:``,n=t.indexOf(`,`),r=n===-1?-1:t.indexOf(`,`,n+1);if(n===-1||r===-1)return{physicalTime:0,logicalCounter:0,peerId:``};let i=Number(t.slice(0,n)),a=Number(t.slice(n+1,r)),o=t.slice(r+1),s=Av(o)?o:``;return{physicalTime:Number.isFinite(i)?i:0,logicalCounter:Number.isFinite(a)?Math.trunc(a):0,peerId:s}}function oy(e){if(!e||typeof e!=`object`)return;let{physicalTime:t,logicalCounter:n,peerId:r}=e;if(!(typeof t!=`number`||!Number.isFinite(t))&&!(typeof n!=`number`||!Number.isFinite(n))&&Av(r))return{physicalTime:t,logicalCounter:Math.trunc(n),peerId:r}}function sy(e){let t={};e.d!==void 0&&(t.data=ty(e.d));let n=ry(e.m);return n!==void 0&&(t.metadata=n),t}function cy(e,t){let n={data:ty(e)},r=ry(t);return r!==void 0&&(n.metadata=r),n}function ly(e,t){if(!(!t||typeof t!=`object`)){if(`data`in t){let n=t.data;e.data=n===void 0?void 0:ty(n)}`metadata`in t&&(e.metadata=ry(t.metadata))}}function uy(e){let t={};return ly(t,e),t}function dy(e,t){let n=uy(e);return ly(n,t),n}function fy(e,t){let n={c:e};t.data!==void 0&&(n.d=ty(t.data));let r=ry(t.metadata);return r!==void 0&&(n.m=r),n}function py(e){return fy(e.c,sy(e))}function my(e,t){return{key:ny(e),clock:ay(t),raw:py(t)}}function hy(e){return!e||typeof e!=`object`?{accept:!0}:`accept`in e?e.accept?{accept:!0}:{accept:!1,reason:e.reason??`rejected`}:{accept:!0}}function gy(e){if(!e||typeof e!=`object`)return{accepted:0,skipped:[]};let t=e;return{accepted:typeof t.accepted==`number`?t.accepted:0,skipped:(Array.isArray(t.skipped)?t.skipped:[]).map(e=>({key:e&&Array.isArray(e.key)?e.key:[],reason:e&&typeof e.reason==`string`?e.reason:`unknown`}))}}function _y(e){let t={version:e.version,entries:{}};for(let[n,r]of Object.entries(e.entries))t.entries[n]=py(r);return t}function vy(e){return typeof e==`object`&&!!e&&(Object.prototype.hasOwnProperty.call(e,`hooks`)||Object.prototype.hasOwnProperty.call(e,`from`)||Object.prototype.hasOwnProperty.call(e,`pruneTombstonesBefore`)||Object.prototype.hasOwnProperty.call(e,`peerId`))}function yy(e){return typeof e==`object`&&!!e&&Object.prototype.hasOwnProperty.call(e,`bundle`)}var by=class e{inner;listeners=new Set;nativeUnsubscribe;debounceState;constructor(e){this.inner=P_(Mv(e))}static fromInner(t){let n=new e;return n.inner=t,n}static fromJson(t,n){let r=_v(t,Mv(n));return e.fromInner(r)}static checkConsistency(e,t){return!!tv(e.inner,t.inner)}checkInvariants(){this.inner}setPeerId(e){$g(this.inner,Mv(e))}putWithMetaInternal(e,t,n,r){let i=ry(n);rv(this.inner,e,JSON.stringify(t),i,r)}async putWithMetaWithHooks(e,t,n){let r=cy(t,n.metadata),i=n.hooks?.transform;if(!i){this.putWithMetaInternal(e,t,n.metadata,n.now);return}let a=uy(r),o=dy(r,await i({key:e.slice(),now:n.now},a)??a),s=o.data;if(s===void 0)throw TypeError(`putWithMeta requires a data value`);this.putWithMetaInternal(e,s,o.metadata,n.now)}put(e,t,n){nv(this.inner,e,JSON.stringify(t),n)}putWithMeta(e,t,n){let r=n??{};if(r.hooks?.transform)return this.putWithMetaWithHooks(e,t,r);this.putWithMetaInternal(e,t,r.metadata,r.now)}set(e,t,n){this.put(e,t,n)}delete(e,t){iv(this.inner,e,t)}get(e){return B_(this.inner,e)}getEntry(e){return Yv(U_(this.inner,e))}merge(e){k_(this.inner,e.inner)}version(){return qv(Z_(this.inner))}inclusiveVersion(){return qv(Q_(this.inner))}exportJsonInternal(e,t,n){let r=Kv(t),i=n!==void 0&&Av(n)?n:void 0;return q_(this.inner,Gv(e),r,i)}async exportJsonWithHooks(e){let t=this.exportJsonInternal(e.from,e.pruneTombstonesBefore,e.peerId),n=e.hooks?.transform;if(!n)return t;let r={version:t.version,entries:{}};for(let[e,i]of Object.entries(t.entries)){let t=my(e,i),a=sy(i),o=uy(a),s=dy(a,await n(t,o)??o);r.entries[e]=fy(i.c,s)}return r}exportJson(e,t){return e===void 0?this.exportJsonInternal(void 0,t):vy(e)?this.exportJsonWithHooks(e):this.exportJsonInternal(e,t)}importJsonInternal(e){return gy(J_(this.inner,e))}async importJsonWithHooks(e){let t=e.hooks?.preprocess,n=t?_y(e.bundle):e.bundle,r=[];if(t)for(let e of Object.keys(n.entries)){let i=n.entries[e];if(!i)continue;let a=my(e,i),o=sy(i),s=hy(await t(a,uy(o)));if(!s.accept){r.push({key:a.key,reason:s.reason}),delete n.entries[e];continue}n.entries[e]=fy(i.c,o)}let i=this.importJsonInternal(n);return{accepted:i.accepted,skipped:r.concat(i.skipped)}}importJson(e){return yy(e)?this.importJsonWithHooks(e):this.importJsonInternal(e)}importJsonStr(e){return gy(Y_(this.inner,e))}getMaxPhysicalTime(){return Number(av(this.inner))}peerId(){let e=ov(this.inner);if(typeof e!=`string`)throw TypeError(`peerId ffi returned unexpected value`);if(!Av(e))throw TypeError(`peerId ffi returned an invalid string`);return e}digest(){let e=mv(this.inner);if(typeof e!=`string`)throw TypeError(`digest ffi returned unexpected value`);return e}kvToJson(){return sv(this.inner)}putMvr(e,t,n){hv(this.inner,e,JSON.stringify(t),n)}getMvr(e){let t=gv(this.inner,e);return Array.isArray(t)?t:[]}scan(e={}){let t=Jv(e.start),n=Jv(e.end),r=e.prefix?e.prefix.slice():void 0,i=vv(this.inner,t,n,r);return Array.isArray(i)?i.filter(e=>!!e).map(e=>({key:Array.isArray(e.key)?e.key:[],raw:e.raw,value:e.value})):[]}ensureNativeSubscription(){this.nativeUnsubscribe===void 0&&(this.nativeUnsubscribe=bv(this.inner,e=>{let t=Xv(e);this.handleBatch(t)}))}handleBatch(e){if(this.debounceState!==void 0){let t=this.debounceState.pendingEvents.length===0;this.debounceState.pendingEvents.push(...e.events),this.resetDebounceTimer(t)}else this.emitBatch(e)}emitBatch(e){for(let t of this.listeners)t(e)}resetDebounceTimer(e){this.debounceState!==void 0&&(this.debounceState.timerId!==void 0&&clearTimeout(this.debounceState.timerId),this.debounceState.timerId=setTimeout(()=>{this.commit()},this.debounceState.timeout),this.debounceState.maxTimerId===void 0&&e&&(this.debounceState.maxTimerId=setTimeout(()=>{this.commit()},this.debounceState.maxDebounceTime)))}subscribe(e){return this.listeners.add(e),this.ensureNativeSubscription(),()=>{this.listeners.delete(e),this.listeners.size===0&&this.nativeUnsubscribe!==void 0&&(this.nativeUnsubscribe(),this.nativeUnsubscribe=void 0)}}autoDebounceCommit(e,t){if(this.isInTxn())throw Error(`Cannot enable autoDebounceCommit while transaction is active`);if(this.debounceState!==void 0)throw Error(`autoDebounceCommit is already active`);this.debounceState={timeout:e,maxDebounceTime:t?.maxDebounceTime??1e4,timerId:void 0,maxTimerId:void 0,pendingEvents:[]}}disableAutoDebounceCommit(){if(this.debounceState===void 0)return;let{timerId:e,maxTimerId:t,pendingEvents:n}=this.debounceState;e!==void 0&&clearTimeout(e),t!==void 0&&clearTimeout(t),this.debounceState=void 0,n.length>0&&this.emitBatch({source:`local`,events:n})}commit(){if(this.debounceState===void 0)return;let{timerId:e,maxTimerId:t,pendingEvents:n}=this.debounceState;e!==void 0&&(clearTimeout(e),this.debounceState.timerId=void 0),t!==void 0&&(clearTimeout(t),this.debounceState.maxTimerId=void 0),n.length>0&&(this.emitBatch({source:`local`,events:n}),this.debounceState.pendingEvents=[])}isAutoDebounceActive(){return this.debounceState!==void 0}txn(e){xv(this.inner);try{let t=e();return Sv(this.inner),t}catch(e){throw wv(this.inner)&&Cv(this.inner),e}}isInTxn(){return!!wv(this.inner)}};export{by as Flock,Ev as decodeVersionVector,Tv as encodeVersionVector};
|
|
11
11
|
//# sourceMappingURL=index.mjs.map
|