@edryslabs/genericprovider 1.0.4 → 1.5.1

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.
Files changed (64) hide show
  1. package/README.md +129 -5
  2. package/dist/index.d.ts +893 -60
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2683 -428
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib.d.ts +1 -0
  7. package/dist/lib.d.ts.map +1 -1
  8. package/dist/lib.js +3 -0
  9. package/dist/lib.js.map +1 -1
  10. package/dist/providers/ably/index.d.ts +203 -0
  11. package/dist/providers/ably/index.d.ts.map +1 -0
  12. package/dist/providers/ably/index.js +561 -0
  13. package/dist/providers/ably/index.js.map +1 -0
  14. package/dist/providers/chunking.d.ts +26 -0
  15. package/dist/providers/chunking.d.ts.map +1 -0
  16. package/dist/providers/chunking.js +52 -0
  17. package/dist/providers/chunking.js.map +1 -0
  18. package/dist/providers/dummy/index.d.ts +138 -2
  19. package/dist/providers/dummy/index.d.ts.map +1 -1
  20. package/dist/providers/dummy/index.js +266 -4
  21. package/dist/providers/dummy/index.js.map +1 -1
  22. package/dist/providers/gun/index.d.ts +11 -4
  23. package/dist/providers/gun/index.d.ts.map +1 -1
  24. package/dist/providers/gun/index.js +104 -22
  25. package/dist/providers/gun/index.js.map +1 -1
  26. package/dist/providers/indexeddb/index.d.ts +44 -20
  27. package/dist/providers/indexeddb/index.d.ts.map +1 -1
  28. package/dist/providers/indexeddb/index.js +85 -71
  29. package/dist/providers/indexeddb/index.js.map +1 -1
  30. package/dist/providers/matrix/index.d.ts +6 -1
  31. package/dist/providers/matrix/index.d.ts.map +1 -1
  32. package/dist/providers/matrix/index.js +44 -6
  33. package/dist/providers/matrix/index.js.map +1 -1
  34. package/dist/providers/nostr/index.d.ts +69 -5
  35. package/dist/providers/nostr/index.d.ts.map +1 -1
  36. package/dist/providers/nostr/index.js +204 -36
  37. package/dist/providers/nostr/index.js.map +1 -1
  38. package/dist/providers/peerjs/index.d.ts +11 -1
  39. package/dist/providers/peerjs/index.d.ts.map +1 -1
  40. package/dist/providers/peerjs/index.js +32 -2
  41. package/dist/providers/peerjs/index.js.map +1 -1
  42. package/dist/providers/pubnub/index.d.ts +35 -1
  43. package/dist/providers/pubnub/index.d.ts.map +1 -1
  44. package/dist/providers/pubnub/index.js +56 -35
  45. package/dist/providers/pubnub/index.js.map +1 -1
  46. package/dist/providers/simple-peer/index.d.ts +8 -43
  47. package/dist/providers/simple-peer/index.d.ts.map +1 -1
  48. package/dist/providers/simple-peer/index.js +57 -161
  49. package/dist/providers/simple-peer/index.js.map +1 -1
  50. package/dist/providers/supabase/index.d.ts +43 -1
  51. package/dist/providers/supabase/index.d.ts.map +1 -1
  52. package/dist/providers/supabase/index.js +211 -18
  53. package/dist/providers/supabase/index.js.map +1 -1
  54. package/dist/providers/trystero/index.d.ts +19 -1
  55. package/dist/providers/trystero/index.d.ts.map +1 -1
  56. package/dist/providers/trystero/index.js +37 -2
  57. package/dist/providers/trystero/index.js.map +1 -1
  58. package/dist/providers/websocket/index.d.ts +9 -1
  59. package/dist/providers/websocket/index.d.ts.map +1 -1
  60. package/dist/providers/websocket/index.js +7 -1
  61. package/dist/providers/websocket/index.js.map +1 -1
  62. package/dist/transport.d.ts +69 -16
  63. package/dist/transport.d.ts.map +1 -1
  64. package/package.json +35 -24
@@ -64,16 +64,16 @@ export class SimplePeerTransport {
64
64
  constructor(options) {
65
65
  this._connected = false;
66
66
  this._room = '';
67
+ // Sets, not single slots: the provider registers its own peer-connect and
68
+ // peer-disconnect listeners, and consumers (edrys' identity handshake)
69
+ // register alongside it. A single slot silently drops whichever registered
70
+ // second.
67
71
  this._peerConnectCallbacks = new Set();
68
72
  this._peerDisconnectCallbacks = new Set();
69
73
  this._controlCallbacks = new Set();
70
74
  this.peers = new Map();
71
75
  this.signalingConns = [];
72
76
  this.announcedPeers = new Set();
73
- // Signaling reconnect state, per URL: consecutive failures (for backoff) and
74
- // the pending retry timer (so disconnect() can cancel it).
75
- this._reconnectAttempts = new Map();
76
- this._reconnectTimers = new Map();
77
77
  if (!options.peer) {
78
78
  throw new Error('SimplePeerTransport requires the "peer" option. ' +
79
79
  'Please provide the simple-peer constructor: ' +
@@ -136,27 +136,18 @@ export class SimplePeerTransport {
136
136
  // This allows BroadcastChannel-only mode for same-browser tabs
137
137
  this._connected = true;
138
138
  this.log(`✅ Connected to room "${this._room}" — ${this.signalingConns.length}/${this.options.signaling.length} signaling server(s)`);
139
- // Start periodic re-subscribe + re-announce to help late joiners discover us.
140
- // Deliberately NOT gated on `peers.size < maxConns`: a full mesh must keep
141
- // advertising, or peers that later drop out can never rediscover us.
139
+ // Start periodic re-announce to help late joiners discover us
142
140
  this.announceInterval = setInterval(() => {
143
- if (this.signalingConns.length === 0)
144
- return;
145
- this.log('Re-announcing presence...');
146
- for (const ws of this.signalingConns) {
147
- // Re-subscribe every tick: a signaling server can silently drop a
148
- // subscription while the socket stays open (ping/pong alive), which
149
- // makes us invisible to newcomers with no other symptom. `subscribe`
150
- // is otherwise only sent once, in onopen.
151
- this.sendSignaling(ws, {
152
- type: 'subscribe',
153
- topics: [this._room],
154
- });
155
- this.sendSignaling(ws, {
156
- type: 'publish',
157
- topic: this._room,
158
- from: this.peerId,
159
- });
141
+ if (this.peers.size < this.options.maxConns &&
142
+ this.signalingConns.length > 0) {
143
+ this.log('Re-announcing presence...');
144
+ for (const ws of this.signalingConns) {
145
+ this.sendSignaling(ws, {
146
+ type: 'publish',
147
+ topic: this._room,
148
+ from: this.peerId,
149
+ });
150
+ }
160
151
  }
161
152
  }, 5000); // Re-announce every 5 seconds for better peer discovery
162
153
  }
@@ -167,21 +158,11 @@ export class SimplePeerTransport {
167
158
  if (!this._connected)
168
159
  return;
169
160
  this.log(`🔌 Disconnecting — ${this.peers.size} peer(s), ${this.signalingConns.length} signaling server(s)`);
170
- // Clear BEFORE closing sockets: ws.close() fires onclose asynchronously,
171
- // and scheduleSignalingReconnect() keys off this flag to tell a deliberate
172
- // disconnect from a dropped connection.
173
- this._connected = false;
174
161
  // Stop re-announce interval
175
162
  if (this.announceInterval) {
176
163
  clearInterval(this.announceInterval);
177
164
  this.announceInterval = undefined;
178
165
  }
179
- // Cancel any pending signaling reconnects
180
- for (const timer of this._reconnectTimers.values()) {
181
- clearTimeout(timer);
182
- }
183
- this._reconnectTimers.clear();
184
- this._reconnectAttempts.clear();
185
166
  // Close all peer connections
186
167
  for (const peerConn of this.peers.values()) {
187
168
  peerConn.peer.destroy();
@@ -192,6 +173,7 @@ export class SimplePeerTransport {
192
173
  ws.close();
193
174
  }
194
175
  this.signalingConns = [];
176
+ this._connected = false;
195
177
  this.announcedPeers.clear();
196
178
  }
197
179
  /**
@@ -229,29 +211,6 @@ export class SimplePeerTransport {
229
211
  this.log(`📤 Sent ${data.length}B to ${sentCount}/${this.peers.size} peer(s) — ${skipped} not yet connected`);
230
212
  }
231
213
  }
232
- /**
233
- * Send data to a single connected peer by ID (targeted delivery).
234
- */
235
- sendTo(peerId, data) {
236
- if (!this._connected) {
237
- this.log('Not connected, cannot sendTo');
238
- return;
239
- }
240
- const peerConn = this.peers.get(peerId);
241
- if (!peerConn || !peerConn.connected) {
242
- this.log(`⚠️ sendTo: peer ${peerId} not connected — ${data.length}B dropped`);
243
- return;
244
- }
245
- const dataToSend = this.options.password
246
- ? this.encrypt(data, this.options.password)
247
- : data;
248
- try {
249
- this.sendToPeer(peerConn, dataToSend);
250
- }
251
- catch (error) {
252
- this.log(`❌ sendTo failed to ${peerId}:`, error.message);
253
- }
254
- }
255
214
  /**
256
215
  * Send data to a single peer, chunking if necessary.
257
216
  * Uses flow control to avoid overwhelming the WebRTC buffer.
@@ -331,6 +290,26 @@ export class SimplePeerTransport {
331
290
  this._callback = undefined;
332
291
  };
333
292
  }
293
+ /**
294
+ * Transport.sendTo: deliver to one connected peer (the `from` id passed
295
+ * to onMessage), chunked and flow-controlled like a broadcast send.
296
+ */
297
+ sendTo(peerId, data) {
298
+ if (!this._connected)
299
+ return;
300
+ const peerConn = this.peers.get(peerId);
301
+ if (!peerConn || !peerConn.connected)
302
+ return;
303
+ const dataToSend = this.options.password
304
+ ? this.encrypt(data, this.options.password)
305
+ : data;
306
+ try {
307
+ this.sendToPeer(peerConn, dataToSend);
308
+ }
309
+ catch (error) {
310
+ this.log(`❌ sendTo failed for ${peerId}:`, error.message);
311
+ }
312
+ }
334
313
  /**
335
314
  * Register callback for new peer data-channel connections.
336
315
  */
@@ -340,20 +319,14 @@ export class SimplePeerTransport {
340
319
  this._peerConnectCallbacks.delete(callback);
341
320
  };
342
321
  }
343
- /**
344
- * Register callback for peer disconnects (channel close or error). Only fires
345
- * for peers that had reached the connected state.
346
- */
322
+ /** Transport.onPeerDisconnect: a peer's channel closed or errored (removePeer). */
347
323
  onPeerDisconnect(callback) {
348
324
  this._peerDisconnectCallbacks.add(callback);
349
325
  return () => {
350
326
  this._peerDisconnectCallbacks.delete(callback);
351
327
  };
352
328
  }
353
- /**
354
- * Register callback for consumer control frames (MSG_TYPE_CONTROL).
355
- * These bypass the provider pipe — use for per-peer handshakes/auth.
356
- */
329
+ /** Transport.onControlFrame: out-of-band frames, never fed to the provider. */
357
330
  onControlFrame(callback) {
358
331
  this._controlCallbacks.add(callback);
359
332
  return () => {
@@ -389,11 +362,6 @@ export class SimplePeerTransport {
389
362
  }
390
363
  /**
391
364
  * Check if connected.
392
- *
393
- * NOTE: this is a lifecycle flag (connect() called, disconnect() not yet), not
394
- * a health check — it stays true with zero signaling servers, which is what
395
- * makes BroadcastChannel-only mode work. For "can we still discover peers?"
396
- * use `signalingHealth`.
397
365
  */
398
366
  get isConnected() {
399
367
  return this._connected;
@@ -404,48 +372,6 @@ export class SimplePeerTransport {
404
372
  get connectedPeers() {
405
373
  return Array.from(this.peers.values()).filter((p) => p.connected).length;
406
374
  }
407
- /**
408
- * Signaling/discovery health, for diagnostics and monitoring.
409
- *
410
- * `isConnected` deliberately cannot express this: a transport whose signaling
411
- * sockets have all dropped still reports connected, and peer discovery is
412
- * silently dead until they come back.
413
- */
414
- get signalingHealth() {
415
- return {
416
- open: this.signalingConns.filter((ws) => ws.readyState === 1).length,
417
- configured: this.options.signaling.length,
418
- reconnecting: this._reconnectTimers.size,
419
- peers: this.peers.size,
420
- connectedPeers: this.connectedPeers,
421
- };
422
- }
423
- /**
424
- * Reconnect to a signaling server after it drops, with exponential backoff.
425
- *
426
- * Mirrors lib0's WebsocketClient (what y-webrtc gets for free): delay grows
427
- * as log10(attempts + 1) * 1200ms, capped at 30s. No-ops after an explicit
428
- * disconnect(), and never stacks duplicate timers for the same URL.
429
- */
430
- scheduleSignalingReconnect(url) {
431
- if (!this._connected)
432
- return; // deliberate disconnect(), not a drop
433
- if (this._reconnectTimers.has(url))
434
- return; // retry already pending
435
- const attempts = (this._reconnectAttempts.get(url) ?? 0) + 1;
436
- this._reconnectAttempts.set(url, attempts);
437
- const delay = Math.min(Math.log10(attempts + 1) * 1200, 30000);
438
- this.log(`🔄 Signaling reconnect #${attempts} for ${url} in ${Math.round(delay)}ms`);
439
- this._reconnectTimers.set(url, setTimeout(() => {
440
- this._reconnectTimers.delete(url);
441
- if (!this._connected)
442
- return;
443
- this.connectSignaling(url).catch(() => {
444
- // connectSignaling rejects on error/timeout; onclose schedules the
445
- // next attempt, so swallow here to avoid an unhandled rejection.
446
- });
447
- }, delay));
448
- }
449
375
  /**
450
376
  * Connect to a signaling server.
451
377
  */
@@ -455,8 +381,6 @@ export class SimplePeerTransport {
455
381
  let resolved = false;
456
382
  ws.onopen = () => {
457
383
  this.log(`🟢 Signaling connected: ${url}`);
458
- // Reached a good state — restart backoff from zero for the next drop.
459
- this._reconnectAttempts.delete(url);
460
384
  // Subscribe to room
461
385
  this.sendSignaling(ws, {
462
386
  type: 'subscribe',
@@ -509,16 +433,6 @@ export class SimplePeerTransport {
509
433
  if (index > -1) {
510
434
  this.signalingConns.splice(index, 1);
511
435
  }
512
- // Without this, a single socket drop is terminal: the re-announce loop
513
- // is gated on `signalingConns.length > 0`, so peer discovery stops
514
- // forever while `isConnected` still reports true.
515
- this.scheduleSignalingReconnect(url);
516
- if (!resolved) {
517
- // Closed before ever opening — settle connect()'s promise so
518
- // Promise.allSettled() in connect() isn't left hanging.
519
- resolved = true;
520
- reject(new Error(`Signaling closed before open: ${url}`));
521
- }
522
436
  };
523
437
  // Timeout after 10 seconds
524
438
  setTimeout(() => {
@@ -543,7 +457,6 @@ export class SimplePeerTransport {
543
457
  // This is an envelope, the actual message could be an announce or signal
544
458
  if (msg.from) {
545
459
  // Treat as announce if it's a publish from another peer
546
- this.pruneStalePeer(msg.from);
547
460
  if (!this.peers.has(msg.from) &&
548
461
  this.peers.size < this.options.maxConns &&
549
462
  !this.announcedPeers.has(msg.from)) {
@@ -578,7 +491,6 @@ export class SimplePeerTransport {
578
491
  return;
579
492
  }
580
493
  // Another peer announced - connect to them if we have capacity
581
- this.pruneStalePeer(msg.from);
582
494
  if (!this.peers.has(msg.from) &&
583
495
  this.peers.size < this.options.maxConns &&
584
496
  !this.announcedPeers.has(msg.from)) {
@@ -668,8 +580,7 @@ export class SimplePeerTransport {
668
580
  peerConn.connected = true;
669
581
  const connectedCount = Array.from(this.peers.values()).filter((p) => p.connected).length;
670
582
  this.log(`✅ Peer channel open (${via}): ${remotePeerId} — ${connectedCount}/${this.peers.size} peer(s) connected`);
671
- for (const cb of this._peerConnectCallbacks)
672
- cb(remotePeerId);
583
+ this._peerConnectCallbacks.forEach((cb) => cb(remotePeerId));
673
584
  };
674
585
  // Handle connection
675
586
  peer.on('connect', () => onChannelOpen('connect'));
@@ -687,34 +598,29 @@ export class SimplePeerTransport {
687
598
  // Data flowing proves the channel is open — handle the race where 'data' fires
688
599
  // before 'connect' (seen on Chrome when the remote initiator sends immediately).
689
600
  onChannelOpen('data');
690
- let uint8Data;
691
- try {
692
- uint8Data = new Uint8Array(data);
693
- }
694
- catch (error) {
695
- this.log('Error handling peer data:', error);
696
- return;
697
- }
698
- if (uint8Data.length === 0)
699
- return;
700
- // Control frames bypass the provider pipe (identity/auth handshakes etc.)
701
- if (uint8Data[0] === MSG_TYPE_CONTROL) {
702
- const payload = uint8Data.slice(1);
703
- for (const cb of this._controlCallbacks)
704
- cb(remotePeerId, payload);
705
- return;
706
- }
707
- if (!this._callback)
708
- return;
709
601
  try {
602
+ const uint8Data = new Uint8Array(data);
603
+ if (uint8Data.length === 0)
604
+ return;
710
605
  const msgType = uint8Data[0];
606
+ // Control frames are a consumer side-channel: they bypass the provider
607
+ // pipe entirely (no CRC, no decrypt, no Yjs decode) and are delivered
608
+ // even before the provider has registered its onMessage callback,
609
+ // since the identity handshake runs ahead of it.
610
+ if (msgType === MSG_TYPE_CONTROL) {
611
+ const payload = uint8Data.slice(1);
612
+ this._controlCallbacks.forEach((cb) => cb(remotePeerId, payload));
613
+ return;
614
+ }
615
+ if (!this._callback)
616
+ return;
711
617
  if (msgType === MSG_TYPE_COMPLETE) {
712
618
  // Complete message, extract payload (skip type byte)
713
619
  const payload = uint8Data.slice(1);
714
620
  const decryptedData = this.options.password
715
621
  ? this.decrypt(payload, this.options.password)
716
622
  : payload;
717
- this._callback(decryptedData);
623
+ this._callback(decryptedData, remotePeerId);
718
624
  }
719
625
  else if (msgType === MSG_TYPE_CHUNKED) {
720
626
  // Chunked message - reassemble
@@ -751,7 +657,7 @@ export class SimplePeerTransport {
751
657
  const decryptedData = this.options.password
752
658
  ? this.decrypt(fullMessage, this.options.password)
753
659
  : fullMessage;
754
- this._callback(decryptedData);
660
+ this._callback(decryptedData, remotePeerId);
755
661
  this.log(`📥 Reassembled ${totalLength}B from ${totalChunks} chunks (msgId=${messageId})`);
756
662
  }
757
663
  }
@@ -760,7 +666,7 @@ export class SimplePeerTransport {
760
666
  const decryptedData = this.options.password
761
667
  ? this.decrypt(uint8Data, this.options.password)
762
668
  : uint8Data;
763
- this._callback(decryptedData);
669
+ this._callback(decryptedData, remotePeerId);
764
670
  }
765
671
  }
766
672
  catch (error) {
@@ -801,20 +707,12 @@ export class SimplePeerTransport {
801
707
  this.log(`❌ Could not create peer connection for signal from ${remotePeerId}`);
802
708
  }
803
709
  }
804
- // Forget a peer we announced but hold no live connection to, so its next
805
- // re-announce can reconnect instead of being deduped forever (ghost peer).
806
- pruneStalePeer(peerId) {
807
- if (this.announcedPeers.has(peerId) && !this.peers.has(peerId)) {
808
- this.announcedPeers.delete(peerId);
809
- }
810
- }
811
710
  /**
812
711
  * Remove and cleanup a peer connection.
813
712
  */
814
713
  removePeer(peerId) {
815
714
  const peerConn = this.peers.get(peerId);
816
715
  if (peerConn) {
817
- const wasConnected = peerConn.connected;
818
716
  try {
819
717
  peerConn.peer.destroy();
820
718
  }
@@ -823,11 +721,9 @@ export class SimplePeerTransport {
823
721
  }
824
722
  this.peers.delete(peerId);
825
723
  this.announcedPeers.delete(peerId);
826
- if (wasConnected)
827
- for (const cb of this._peerDisconnectCallbacks)
828
- cb(peerId);
829
724
  const connectedCount = Array.from(this.peers.values()).filter((p) => p.connected).length;
830
725
  this.log(`🗑️ Removed peer ${peerId} — ${connectedCount} connected / ${this.peers.size} total`);
726
+ this._peerDisconnectCallbacks.forEach((cb) => cb(peerId));
831
727
  }
832
728
  }
833
729
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/simple-peer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/simple-peer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AA6GH;;;GAGG;AACH,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAA;AAE5B;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAA;AAErC;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAE7B,gDAAgD;AAChD,IAAI,gBAAgB,GAAG,CAAC,CAAA;AAWxB;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IA2B9B;;;;OAIG;IACH,YAAY,OAAmC;QAvBvC,eAAU,GAAY,KAAK,CAAA;QAC3B,UAAK,GAAW,EAAE,CAAA;QAE1B,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,UAAU;QACF,0BAAqB,GAAG,IAAI,GAAG,EAA4B,CAAA;QAC3D,6BAAwB,GAAG,IAAI,GAAG,EAA4B,CAAA;QAC9D,sBAAiB,GAAG,IAAI,GAAG,EAEhC,CAAA;QAEK,UAAK,GAAgC,IAAI,GAAG,EAAE,CAAA;QAC9C,mBAAc,GAAgB,EAAE,CAAA;QAChC,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAA;QAS7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,kDAAkD;gBAChD,8CAA8C;gBAC9C,8EAA8E,CACjF,CAAA;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,iBAAiB,GAAgB;YACrC,EAAE,IAAI,EAAE,8BAA8B,EAAE;SACzC,CAAA;QAED,oCAAoC;QACpC,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;QAExC,yCAAyC;QACzC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAA;YAC1D,QAAQ,CAAC,MAAM,GAAG;gBAChB,GAAG,QAAQ,CAAC,MAAM;gBAClB,UAAU,EAAE,UAAU;aACvB,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,yBAAyB,CAAC;YAC3D,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;YACjE,QAAQ;YACR,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAA;QAED,0BAA0B;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAEnC,IAAI,CAAC,GAAG,CACN,yBAAyB,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAC1E,mBAAmB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACvD,oBAAoB,CAAE,QAAQ,CAAC,MAAM,EAAE,UAA0B,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChJ,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAwB;QACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAEpE,sCAAsC;QACtC,kDAAkD;QAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAChE,CAAA;QAED,+BAA+B;QAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAA;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAA;QAEvE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CACN,iBAAiB,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,sBAAsB,CACrF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,4FAA4F;gBAC1F,sDAAsD,CACzD,CAAA;YACD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAChC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CACV,6BAA6B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAC5D,MAAgC,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CACnE,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,4DAA4D;QAC5D,+DAA+D;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,GAAG,CACN,wBAAwB,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,sBAAsB,CAC3H,CAAA;QAED,8DAA8D;QAC9D,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,IACE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;gBACvC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAC9B,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;gBACrC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACrC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;wBACrB,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,IAAI,EAAE,IAAI,CAAC,MAAM;qBAClB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAA,CAAC,wDAAwD;IACnE,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAE5B,IAAI,CAAC,GAAG,CACN,sBAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,MAAM,sBAAsB,CACnG,CAAA;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACnC,CAAC;QAED,6BAA6B;QAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAElB,kCAAkC;QAClC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,EAAE,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QAExB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAgB;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QAED,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;YACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAA;QAER,8BAA8B;QAC9B,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;oBACrC,SAAS,EAAE,CAAA;gBACb,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CACN,oBAAoB,QAAQ,CAAC,MAAM,GAAG,EACrC,KAAe,CAAC,OAAO,CACzB,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,MAAM,WAAW,CAAC,CAAA;QAClE,CAAC;aAAM,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAA;YAC3C,IAAI,CAAC,GAAG,CACN,WAAW,IAAI,CAAC,MAAM,QAAQ,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,OAAO,oBAAoB,CACpG,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,QAAwB,EAAE,IAAgB;QAC3D,uDAAuD;QACvD,IAAI,IAAI,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAA;YAC1B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;QAED,iDAAiD;QACjD,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,GAAG,CACN,eAAe,IAAI,CAAC,MAAM,OAAO,WAAW,kBAAkB,SAAS,GAAG,CAC3E,CAAA;QAED,uDAAuD;QACvD,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAExC,yEAAyE;YACzE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YACnD,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAA;YAC3B,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;YACxD,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YAChD,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;YAC1D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAClD,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,QAAwB,EACxB,MAAoB;QAEpB,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QAE1B,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7B,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;gBAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,GAAG,mBAAmB,EAAE,CAAC;oBAC5D,2BAA2B;oBAC3B,IAAI,CAAC,GAAG,CACN,sBAAsB,QAAQ,CAAC,MAAM,cAAc,OAAO,CAAC,cAAc,eAAe,CACzF,CAAA;oBACD,OAAO,CAAC,0BAA0B,GAAG,mBAAmB,GAAG,CAAC,CAAA;oBAC5D,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE;wBACjC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,MAAM,mBAAmB,CAAC,CAAA;wBACpE,QAAQ,EAAE,CAAA;oBACZ,CAAC,CAAA;oBACD,OAAM;gBACR,CAAC;gBAED,kBAAkB;gBAClB,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;oBACxB,KAAK,EAAE,CAAA;gBACT,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,QAAQ,EAAE,CAAA;IACZ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAmD;QAC3D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAc,EAAE,IAAgB;QACrC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,OAAM;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;YACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAA;QACR,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,GAAG,EAAG,KAAe,CAAC,OAAO,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAkC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC,CAAA;IACH,CAAC;IAED,mFAAmF;IACnF,gBAAgB,CAAC,QAAkC;QACjD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChD,CAAC,CAAA;IACH,CAAC;IAED,+EAA+E;IAC/E,cAAc,CACZ,QAAuD;QAEvD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACpC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,MAAc,EAAE,OAAmB;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,wBAAwB,MAAM,0BAA0B,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9C,GAAG,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAA;QACzB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACnB,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,2BAA2B,MAAM,GAAG,EAAG,KAAe,CAAC,OAAO,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;IAC1E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAW;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA;YAC7B,IAAI,QAAQ,GAAG,KAAK,CAAA;YAEpB,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAA;gBAE1C,oBAAoB;gBACpB,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;oBACrB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;iBACrB,CAAC,CAAA;gBAEF,4DAA4D;gBAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC5C,0CAA0C;oBAC1C,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;wBACrB,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,IAAI,EAAE,IAAI,CAAC,MAAM;qBAClB,CAAC,CAAA;oBACF,sDAAsD;oBACtD,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;wBACrB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,IAAI,CAAC,MAAM;wBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC,CAAA;gBACJ,CAAC;gBAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAE5B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAA;oBACf,OAAO,EAAE,CAAA;gBACX,CAAC;YACH,CAAC,CAAA;YAED,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAqB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACpD,8EAA8E;oBAC9E,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC1C,IAAI,CAAC,GAAG,CACN,iBAAiB,GAAG,CAAC,IAAI,GAAG,EAC5B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAC9C,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACxC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAC7D,CAAA;oBACH,CAAC;oBACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAA;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CACN,wCAAyC,KAAe,CAAC,OAAO,SAAS,KAAK,CAAC,IAAI,EAAE,CACtF,CAAA;gBACH,CAAC;YACH,CAAC,CAAA;YAED,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;gBAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAA;oBACf,MAAM,CAAC,KAAK,CAAC,CAAA;gBACf,CAAC;YACH,CAAC,CAAA;YAED,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;gBAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAC7C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC,CAAA;YAED,2BAA2B;YAC3B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAA;oBACf,IAAI,CAAC,GAAG,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAA;oBACnD,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,GAAqB;QAClD,+BAA+B;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;YAAE,OAAM;QAEhD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,SAAS;gBACZ,sDAAsD;gBACtD,yEAAyE;gBACzE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACb,wDAAwD;oBACxD,IACE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;wBACzB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;wBACvC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAClC,CAAC;wBACD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;wBAC7C,IAAI,CAAC,GAAG,CACN,mCAAmC,GAAG,CAAC,IAAI,YAAY,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,EACvG,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAC3D,CAAA;wBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;wBACjC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;wBAEnD,uEAAuE;wBACvE,6DAA6D;wBAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;4BACpB,IAAI,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;4BACxD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gCACrC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;oCACrB,IAAI,EAAE,SAAS;oCACf,KAAK,EAAE,IAAI,CAAC,KAAK;oCACjB,IAAI,EAAE,IAAI,CAAC,MAAM;iCAClB,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,oCAAoC;gBACpC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;wBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;oBAC7C,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,UAAU;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACd,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;oBAC/C,OAAM;gBACR,CAAC;gBACD,+DAA+D;gBAC/D,IACE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;oBACzB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;oBACvC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;oBAC7C,IAAI,CAAC,GAAG,CACN,sBAAsB,GAAG,CAAC,IAAI,YAAY,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,EAC1F,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAC3D,CAAA;oBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACjC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;gBACrD,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACpD,IAAI,CAAC,GAAG,CACN,0BAA0B,IAAI,CAAC,OAAO,CAAC,QAAQ,6BAA6B,GAAG,CAAC,IAAI,EAAE,CACvF,CAAA;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,QAAQ;gBACX,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACd,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;oBAC7C,OAAM;gBACR,CAAC;gBACD,mCAAmC;gBACnC,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC7C,CAAC;qBAAM,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACjC,2EAA2E;oBAC3E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC7C,CAAC;gBACD,MAAK;YAEP;gBACE,IAAI,CAAC,GAAG,CAAC,qCAAqC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,EAAa,EAAE,GAAqB;QACxD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAqB;QAC9C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,YAAoB,EAAE,SAAkB;QACnE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAA;YAC9D,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CACN,eAAe,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,yBAAyB,kBAAkB,YAAY,EAAE,CAC9G,CAAA;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjC,SAAS;YACT,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;SACzB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAmB;YAC/B,IAAI;YACJ,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,YAAY;YACpB,YAAY,EAAE,IAAI,GAAG,EAAE;SACxB,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAEtC,iDAAiD;QACjD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,gBAAgB,YAAY,KAAK,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;YACvE,kFAAkF;YAClF,kFAAkF;YAClF,qDAAqD;YACrD,IAAI,CAAC,kBAAkB,CAAC;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,EAAE,EAAE,YAAY;gBAChB,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,kFAAkF;QAClF,mFAAmF;QACnF,+EAA+E;QAC/E,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;YACpC,IAAI,QAAQ,CAAC,SAAS;gBAAE,OAAM,CAAC,gBAAgB;YAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAA;YACzB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACnB,CAAC,MAAM,CAAA;YACR,IAAI,CAAC,GAAG,CACN,wBAAwB,GAAG,MAAM,YAAY,MAAM,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,oBAAoB,CACzG,CAAA;YACD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;QAC9D,CAAC,CAAA;QAED,oBAAoB;QACpB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;QAElD,4CAA4C;QAC5C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,0BAA0B,GAAG,GAAG,EAAE;gBACzC,IAAI,CAAC,GAAG,CAAC,UAAU,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAA;YACpE,CAAC,CAAA;YACD,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,GAAG,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,iBAAiB,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAA;YACxE,CAAC,CAAA;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAiB,EAAE,EAAE;YACpC,+EAA+E;YAC/E,iFAAiF;YACjF,aAAa,CAAC,MAAM,CAAC,CAAA;YAErB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;gBACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAM;gBAElC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;gBAE5B,uEAAuE;gBACvE,sEAAsE;gBACtE,kEAAkE;gBAClE,iDAAiD;gBACjD,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;oBACjE,OAAM;gBACR,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,OAAM;gBAE3B,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;oBAClC,qDAAqD;oBACrD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;wBACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC9C,CAAC,CAAC,OAAO,CAAA;oBACX,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;gBAC7C,CAAC;qBAAM,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;oBACxC,+BAA+B;oBAC/B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;oBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;oBAErC,wCAAwC;oBACxC,IAAI,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;oBACjD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,CAAA;wBAC3C,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;oBAC9C,CAAC;oBAED,cAAc;oBACd,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;oBAExC,oBAAoB;oBACpB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACvC,qBAAqB;wBACrB,IAAI,WAAW,GAAG,CAAC,CAAA;wBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;4BACrC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,MAAM,CAAA;wBAC7C,CAAC;wBAED,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;wBAC/C,IAAI,MAAM,GAAG,CAAC,CAAA;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;4BACrC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAA;4BACnC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;4BAC9B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;wBACxB,CAAC;wBAED,kBAAkB;wBAClB,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;wBAEvC,sBAAsB;wBACtB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;4BACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;4BAClD,CAAC,CAAC,WAAW,CAAA;wBACf,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;wBAC3C,IAAI,CAAC,GAAG,CACN,kBAAkB,WAAW,UAAU,WAAW,kBAAkB,SAAS,GAAG,CACjF,CAAA;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;wBACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAChD,CAAC,CAAC,SAAS,CAAA;oBACb,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,gBAAgB;QAChB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,iBAAiB,YAAY,MAAM,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;YACrE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,eAAe;QACf,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAChD,CAAC,MAAM,CAAA;YACR,IAAI,CAAC,GAAG,CACN,2BAA2B,YAAY,MAAM,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,CAC/F,CAAA;YACD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,YAAoB,EAAE,MAAW;QACxD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CACN,+BAA+B,YAAY,KAAK,MAAM,EAAE,IAAI,IAAI,WAAW,uCAAuC,CACnH,CAAA;YACD,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YAC9C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CACN,iCAAiC,YAAY,KAAM,KAAe,CAAC,OAAO,EAAE,CAC7E,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CACN,sDAAsD,YAAY,EAAE,CACrE,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAc;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+BAA+B;YACjC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACnB,CAAC,MAAM,CAAA;YACR,IAAI,CAAC,GAAG,CACN,oBAAoB,MAAM,MAAM,cAAc,gBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CACtF,CAAA;YACD,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,IAAgB,EAAE,QAAgB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,IAAgB,EAAE,QAAgB;QAChD,sDAAsD;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,QAAgB;QACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACK,GAAG,CAAC,GAAG,IAAW;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,IAAI,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
+ import * as Y from 'yjs';
1
2
  import type { Transport, ConnectionConfig } from '../../transport';
2
3
  /**
3
4
  * Options passed to the SupabaseTransport constructor.
@@ -30,6 +31,22 @@ export interface SupabaseConfig extends ConnectionConfig {
30
31
  room: string;
31
32
  /** Optional password to secure the room */
32
33
  password?: string;
34
+ /**
35
+ * Persist the document in a table so a room survives its last peer
36
+ * leaving: the full state is loaded on connect and written (debounced)
37
+ * after every document update. Needs a table with columns `id TEXT
38
+ * PRIMARY KEY`, `content TEXT` (see the README for the SQL and the RLS
39
+ * policy the anon key needs). Not usable together with
40
+ * `compressionThresholdBytes` (this transport reads the frame's type
41
+ * byte at a fixed offset). @default false
42
+ */
43
+ persistent?: boolean;
44
+ /** The Y.Doc to persist. Required when persistent is true. */
45
+ doc?: Y.Doc;
46
+ /** Table name. @default 'yjs_documents' */
47
+ tableName?: string;
48
+ /** Debounce delay in ms before a database write. @default 2000 */
49
+ persistDebounceMs?: number;
33
50
  /** Enable debug logging */
34
51
  debug?: boolean;
35
52
  }
@@ -63,15 +80,40 @@ export declare class SupabaseTransport implements Transport {
63
80
  private channel;
64
81
  private config;
65
82
  private messageCallback?;
83
+ private _peerDisconnectCallback?;
84
+ private peerId;
85
+ private chunks;
66
86
  private _isConnected;
67
87
  private debug;
68
88
  private roomId;
89
+ private persistentMode;
90
+ private doc;
91
+ private tableName;
92
+ private persistDebounceMs;
93
+ private persistTimer?;
94
+ private isWritingToDb;
95
+ private savePending;
96
+ private pendingLoad;
69
97
  constructor(options: SupabaseTransportOptions);
70
98
  get isConnected(): boolean;
71
99
  connect(config: SupabaseConfig): Promise<void>;
72
100
  disconnect(): Promise<void>;
73
101
  send(data: Uint8Array): void;
74
- onMessage(callback: (data: Uint8Array) => void): () => void;
102
+ onMessage(callback: (data: Uint8Array, from?: string) => void): () => void;
103
+ /**
104
+ * Transport.onPeerDisconnect: Supabase presence 'leave' for the channel.
105
+ * Peer ids are presence keys, the same id `onMessage` passes as `from`.
106
+ */
107
+ onPeerDisconnect(callback: (peerId: string) => void): () => void;
108
+ /**
109
+ * Deliver the stored state as a MESSAGE_SYNC_PUSH frame - the provider
110
+ * applies it like a peer's full-state push: no hash check, no `synced`
111
+ * flip (a stored copy says nothing about who is online).
112
+ */
113
+ private loadFromDatabase;
114
+ private queuePersist;
115
+ /** Upsert the full current state; a write that overlaps a change re-runs once. */
116
+ private saveToDatabase;
75
117
  private handleMessage;
76
118
  private uint8ArrayToBase64;
77
119
  private base64ToUint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/supabase/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMlE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAA;CAChD;AA2DD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IASrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,eAAe,CAAC,CAA4B;IACpD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAa;gBAEE,OAAO,EAAE,wBAAwB;IAE9D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAoB5B,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAW3D,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,GAAG;CAKZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/supabase/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAkBlE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAA;CAChD;AA2DD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAA;IACX,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IA+BrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IA9BpC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,OAAO,CAAY;IAG3B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,eAAe,CAAC,CAA2C;IACnE,OAAO,CAAC,uBAAuB,CAAC,CAA0B;IAQ1D,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,YAAY,CAAC,CAA+B;IACpD,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,WAAW,CAA0B;gBAEhB,OAAO,EAAE,wBAAwB;IAE9D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAyF9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BjC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAkC5B,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAe1E;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAWhE;;;;OAIG;YACW,gBAAgB;IA0B9B,OAAO,CAAC,YAAY;IAKpB,kFAAkF;YACpE,cAAc;IA+B5B,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,GAAG;CAKZ"}