@ironflow/browser 0.19.3 → 0.20.2

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 (47) hide show
  1. package/LICENSE +181 -0
  2. package/README.md +108 -6
  3. package/package.json +15 -15
  4. package/dist/client.d.ts +0 -822
  5. package/dist/client.d.ts.map +0 -1
  6. package/dist/client.js +0 -2220
  7. package/dist/client.js.map +0 -1
  8. package/dist/config-client.d.ts +0 -43
  9. package/dist/config-client.d.ts.map +0 -1
  10. package/dist/config-client.js +0 -134
  11. package/dist/config-client.js.map +0 -1
  12. package/dist/config.d.ts +0 -91
  13. package/dist/config.d.ts.map +0 -1
  14. package/dist/config.js +0 -55
  15. package/dist/config.js.map +0 -1
  16. package/dist/index.d.ts +0 -52
  17. package/dist/index.d.ts.map +0 -1
  18. package/dist/index.js +0 -53
  19. package/dist/index.js.map +0 -1
  20. package/dist/kv.d.ts +0 -79
  21. package/dist/kv.d.ts.map +0 -1
  22. package/dist/kv.js +0 -289
  23. package/dist/kv.js.map +0 -1
  24. package/dist/projection-stream.d.ts +0 -42
  25. package/dist/projection-stream.d.ts.map +0 -1
  26. package/dist/projection-stream.js +0 -48
  27. package/dist/projection-stream.js.map +0 -1
  28. package/dist/subscription.d.ts +0 -101
  29. package/dist/subscription.d.ts.map +0 -1
  30. package/dist/subscription.js +0 -442
  31. package/dist/subscription.js.map +0 -1
  32. package/dist/transport/connectrpc.d.ts +0 -74
  33. package/dist/transport/connectrpc.d.ts.map +0 -1
  34. package/dist/transport/connectrpc.js +0 -393
  35. package/dist/transport/connectrpc.js.map +0 -1
  36. package/dist/transport/index.d.ts +0 -7
  37. package/dist/transport/index.d.ts.map +0 -1
  38. package/dist/transport/index.js +0 -6
  39. package/dist/transport/index.js.map +0 -1
  40. package/dist/transport/types.d.ts +0 -69
  41. package/dist/transport/types.d.ts.map +0 -1
  42. package/dist/transport/types.js +0 -5
  43. package/dist/transport/types.js.map +0 -1
  44. package/dist/transport/websocket.d.ts +0 -38
  45. package/dist/transport/websocket.d.ts.map +0 -1
  46. package/dist/transport/websocket.js +0 -276
  47. package/dist/transport/websocket.js.map +0 -1
@@ -1,442 +0,0 @@
1
- /**
2
- * Subscription management for browser client
3
- */
4
- import { generateId, createNoopLogger } from "@ironflow/core";
5
- /**
6
- * Default auto-connect timeout (ms) used by subscribe() when the transport is
7
- * not yet connected. 10s matches the transport's default connection timeout.
8
- */
9
- const DEFAULT_AUTO_CONNECT_TIMEOUT_MS = 10_000;
10
- /**
11
- * Subscription manager handles all active subscriptions
12
- */
13
- export class SubscriptionManager {
14
- transport;
15
- // Logger is stored for future use (debugging, diagnostics)
16
- _logger;
17
- subscriptions = new Map();
18
- patternToId = new Map();
19
- pendingPatterns = new Map();
20
- /** Maps pattern to array of pending lookupKeys for O(1) lookup */
21
- patternToPendingKeys = new Map();
22
- connectionChangeCallbacks = new Set();
23
- errorCallbacks = new Set();
24
- /** Shared in-flight connect promise so concurrent subscribe() calls don't double-connect. */
25
- connectPromise = null;
26
- /** Wired in constructor; removed in disconnect(). SSR-guarded. */
27
- visibilityListener = null;
28
- autoConnectTimeoutMs;
29
- constructor(transport, logger) {
30
- this.transport = transport;
31
- this._logger = logger === false ? createNoopLogger() : (logger ?? createNoopLogger());
32
- this._logger.debug("SubscriptionManager initialized");
33
- this.autoConnectTimeoutMs = DEFAULT_AUTO_CONNECT_TIMEOUT_MS;
34
- // Set up transport callbacks
35
- const callbacks = {
36
- onEvent: this.handleEvent.bind(this),
37
- onError: this.handleError.bind(this),
38
- onConnectionChange: this.handleConnectionChange.bind(this),
39
- onSubscribed: this.handleSubscribed.bind(this),
40
- onSubscribeFailed: this.handleSubscribeFailed.bind(this),
41
- };
42
- this.transport.setCallbacks(callbacks);
43
- // Wire Page Visibility API: on return to foreground, if the transport has
44
- // silently died (mobile Safari / long-backgrounded tab), trigger a
45
- // reconnect health-check instead of waiting for the next user interaction.
46
- if (typeof document !== "undefined" && typeof document.addEventListener === "function") {
47
- const listener = () => {
48
- if (document.hidden) {
49
- return;
50
- }
51
- const state = this.transport.connectionState;
52
- if (state !== "connected" && state !== "connecting") {
53
- this.ensureConnected().catch(() => {
54
- // Best-effort; transport's own reconnect loop continues.
55
- });
56
- }
57
- };
58
- document.addEventListener("visibilitychange", listener);
59
- this.visibilityListener = listener;
60
- }
61
- }
62
- /**
63
- * Subscribe to events matching a pattern
64
- */
65
- async subscribe(pattern, callbacksAndOptions) {
66
- // Handle array of patterns
67
- if (Array.isArray(pattern)) {
68
- const subscriptions = [];
69
- try {
70
- for (const p of pattern) {
71
- const sub = await this.subscribeSingle(p, callbacksAndOptions);
72
- subscriptions.push(sub);
73
- }
74
- }
75
- catch (error) {
76
- // Rollback successful subscriptions on failure
77
- for (const sub of subscriptions) {
78
- sub.unsubscribe();
79
- }
80
- throw error;
81
- }
82
- // Return a combined subscription
83
- const combinedPattern = pattern.join(",");
84
- const combinedId = generateId();
85
- const combinedSub = {
86
- id: combinedId,
87
- pattern: combinedPattern,
88
- connectionState: this.transport.connectionState,
89
- unsubscribe: () => {
90
- for (const sub of subscriptions) {
91
- sub.unsubscribe();
92
- }
93
- },
94
- };
95
- return combinedSub;
96
- }
97
- return this.subscribeSingle(pattern, callbacksAndOptions);
98
- }
99
- async subscribeSingle(pattern, callbacksAndOptions) {
100
- // Extract options and callbacks
101
- const { replay, includeMetadata, filter, namespace, consumerGroup, ackMode, backpressure, trackState, ...callbacks } = callbacksAndOptions;
102
- const options = {
103
- replay,
104
- includeMetadata,
105
- filter,
106
- namespace,
107
- consumerGroup,
108
- ackMode,
109
- backpressure,
110
- trackState,
111
- };
112
- // Generate lookup key: for consumer groups, allow multiple subscriptions to same pattern
113
- // by appending a unique ID; for broadcast, use pattern directly to prevent duplicates
114
- const lookupKey = consumerGroup
115
- ? `${pattern}:cg:${generateId()}`
116
- : pattern;
117
- // Check if already subscribed (only for broadcast subscriptions)
118
- if (!consumerGroup && this.patternToId.has(lookupKey)) {
119
- throw new Error(`Already subscribed to pattern: ${pattern}`);
120
- }
121
- return new Promise((resolve, reject) => {
122
- const tempId = generateId();
123
- const pending = {
124
- id: tempId,
125
- pattern,
126
- lookupKey,
127
- options,
128
- callbacks: callbacks,
129
- connectionState: this.transport.connectionState,
130
- resolve: resolve,
131
- reject,
132
- };
133
- this.pendingPatterns.set(lookupKey, pending);
134
- // Track lookupKey by pattern for efficient lookup when server responds
135
- const pendingKeys = this.patternToPendingKeys.get(pattern) ?? [];
136
- pendingKeys.push(lookupKey);
137
- this.patternToPendingKeys.set(pattern, pendingKeys);
138
- // Auto-connect: callers shouldn't need to call connect() before
139
- // subscribe(). When already connected, we call transport.subscribe
140
- // synchronously (fast path — matches pre-#536 behavior). Otherwise we
141
- // await connect and then subscribe, rejecting the promise if connect
142
- // fails or times out. Fixes #536 Defect A, where watch()/subscribe()
143
- // would hang forever waiting on a connect nobody kicked off.
144
- if (this.transport.connectionState === "connected") {
145
- this.transport.subscribe(pattern, options);
146
- return;
147
- }
148
- this.ensureConnected().then(() => {
149
- // Guard against disconnect() racing with connect: disconnect()
150
- // clears pendingPatterns, so if ours is gone, settle the outer
151
- // promise with a clear rejection instead of hanging — hanging
152
- // forever is the exact class of bug this PR fixes.
153
- if (!this.pendingPatterns.has(lookupKey)) {
154
- reject(new Error("ironflow: subscription canceled before connect completed"));
155
- return;
156
- }
157
- this.transport.subscribe(pattern, options);
158
- }, (err) => {
159
- this.removePending(pattern, lookupKey);
160
- reject(err instanceof Error ? err : new Error(String(err)));
161
- });
162
- });
163
- }
164
- /** Remove a pending subscription entry from both tracking maps. */
165
- removePending(pattern, lookupKey) {
166
- this.pendingPatterns.delete(lookupKey);
167
- const keys = this.patternToPendingKeys.get(pattern);
168
- if (!keys)
169
- return;
170
- const idx = keys.indexOf(lookupKey);
171
- if (idx >= 0)
172
- keys.splice(idx, 1);
173
- if (keys.length === 0)
174
- this.patternToPendingKeys.delete(pattern);
175
- }
176
- /**
177
- * Unsubscribe by pattern
178
- */
179
- unsubscribeByPattern(pattern) {
180
- const subscriptionId = this.patternToId.get(pattern);
181
- if (!subscriptionId) {
182
- return;
183
- }
184
- this.transport.unsubscribe(subscriptionId);
185
- this.subscriptions.delete(subscriptionId);
186
- this.patternToId.delete(pattern);
187
- }
188
- /**
189
- * Unsubscribe by subscription ID
190
- */
191
- unsubscribeById(subscriptionId) {
192
- const state = this.subscriptions.get(subscriptionId);
193
- if (!state) {
194
- return;
195
- }
196
- this.transport.unsubscribe(subscriptionId);
197
- this.subscriptions.delete(subscriptionId);
198
- this.patternToId.delete(state.lookupKey);
199
- }
200
- /**
201
- * Create a subscription group for batch management
202
- */
203
- createGroup() {
204
- const subscriptions = [];
205
- return {
206
- add: async (pattern, callbacks) => {
207
- const sub = await this.subscribe(pattern, callbacks);
208
- subscriptions.push(sub);
209
- return sub;
210
- },
211
- unsubscribeAll: () => {
212
- for (const sub of subscriptions) {
213
- sub.unsubscribe();
214
- }
215
- subscriptions.length = 0;
216
- },
217
- };
218
- }
219
- /**
220
- * Add a global connection change callback
221
- */
222
- onConnectionChange(callback) {
223
- this.connectionChangeCallbacks.add(callback);
224
- return () => this.connectionChangeCallbacks.delete(callback);
225
- }
226
- /**
227
- * Add a global error callback
228
- */
229
- onError(callback) {
230
- this.errorCallbacks.add(callback);
231
- return () => this.errorCallbacks.delete(callback);
232
- }
233
- /**
234
- * Get current connection state
235
- */
236
- get connectionState() {
237
- return this.transport.connectionState;
238
- }
239
- /**
240
- * Connect to the server
241
- */
242
- async connect() {
243
- await this.ensureConnected();
244
- }
245
- /**
246
- * Ensure the transport is connected, sharing a single in-flight connect
247
- * across concurrent callers. Resolves when `onConnectionChange` reports
248
- * "connected"; rejects if the transport's connect() throws or the
249
- * auto-connect timeout elapses.
250
- */
251
- ensureConnected() {
252
- if (this.transport.connectionState === "connected") {
253
- return Promise.resolve();
254
- }
255
- if (this.connectPromise) {
256
- return this.connectPromise;
257
- }
258
- const promise = new Promise((resolve, reject) => {
259
- let settled = false;
260
- let timeoutHandle = setTimeout(() => {
261
- if (settled)
262
- return;
263
- settled = true;
264
- cleanup();
265
- reject(new Error(`ironflow: connect timeout after ${this.autoConnectTimeoutMs}ms`));
266
- }, this.autoConnectTimeoutMs);
267
- const cleanup = () => {
268
- if (timeoutHandle) {
269
- clearTimeout(timeoutHandle);
270
- timeoutHandle = null;
271
- }
272
- unsubscribe();
273
- };
274
- const unsubscribe = this.onConnectionChange((state) => {
275
- if (state === "connected" && !settled) {
276
- settled = true;
277
- cleanup();
278
- resolve();
279
- }
280
- });
281
- // Only start a fresh connect if the transport is idle. If it's already
282
- // "connecting" or "reconnecting", the onConnectionChange listener above
283
- // will resolve us when the in-flight connect finishes.
284
- if (this.transport.connectionState === "disconnected") {
285
- this.transport.connect().then(() => {
286
- // Real transports flip state to "connected" before the connect()
287
- // promise resolves, so the listener has already fired. The resolve
288
- // here covers transports / test doubles that don't synthesize a
289
- // connection-state callback but do signal success by resolving.
290
- if (settled)
291
- return;
292
- settled = true;
293
- cleanup();
294
- resolve();
295
- }, (err) => {
296
- if (settled)
297
- return;
298
- settled = true;
299
- cleanup();
300
- reject(err instanceof Error ? err : new Error(String(err)));
301
- });
302
- }
303
- });
304
- // .finally returns a NEW promise; store that one so the === check in
305
- // the cleanup closure can actually match what's held on the instance.
306
- // Without this, a rejected connect would stay cached forever and the
307
- // next ensureConnected() caller would get an instant rejection instead
308
- // of retrying.
309
- const wrapped = promise.finally(() => {
310
- if (this.connectPromise === wrapped) {
311
- this.connectPromise = null;
312
- }
313
- });
314
- this.connectPromise = wrapped;
315
- return wrapped;
316
- }
317
- /**
318
- * Disconnect from the server
319
- */
320
- disconnect() {
321
- this.transport.disconnect();
322
- this.subscriptions.clear();
323
- this.patternToId.clear();
324
- this.pendingPatterns.clear();
325
- this.patternToPendingKeys.clear();
326
- this.connectPromise = null;
327
- if (this.visibilityListener && typeof document !== "undefined") {
328
- document.removeEventListener("visibilitychange", this.visibilityListener);
329
- this.visibilityListener = null;
330
- }
331
- }
332
- /**
333
- * Pause subscriptions (for tab visibility)
334
- */
335
- pause() {
336
- this.transport.pause();
337
- }
338
- /**
339
- * Resume subscriptions
340
- */
341
- resume() {
342
- this.transport.resume();
343
- }
344
- handleEvent(subscriptionId, event) {
345
- const state = this.subscriptions.get(subscriptionId);
346
- if (!state) {
347
- return;
348
- }
349
- // Track last event if enabled
350
- if (state.options?.trackState) {
351
- state.lastEvent = event;
352
- }
353
- state.callbacks.onEvent?.(event);
354
- }
355
- handleError(subscriptionId, error) {
356
- // Call global error handlers
357
- for (const callback of this.errorCallbacks) {
358
- callback(error);
359
- }
360
- // Call subscription-specific error handler
361
- if (subscriptionId) {
362
- const state = this.subscriptions.get(subscriptionId);
363
- state?.callbacks.onError?.(error);
364
- }
365
- }
366
- handleConnectionChange(state) {
367
- // Update all subscription states
368
- for (const sub of this.subscriptions.values()) {
369
- sub.connectionState = state;
370
- sub.callbacks.onStateChange?.(state);
371
- }
372
- // Call global callbacks
373
- for (const callback of this.connectionChangeCallbacks) {
374
- callback(state);
375
- }
376
- }
377
- handleSubscribed(pattern, subscriptionId) {
378
- // Find pending subscription using pattern-to-keys map for O(1) lookup
379
- const pendingKeys = this.patternToPendingKeys.get(pattern);
380
- if (!pendingKeys || pendingKeys.length === 0) {
381
- return;
382
- }
383
- // Get the first pending key (FIFO order)
384
- const pendingKey = pendingKeys.shift();
385
- if (pendingKeys.length === 0) {
386
- this.patternToPendingKeys.delete(pattern);
387
- }
388
- const pending = this.pendingPatterns.get(pendingKey);
389
- if (!pending) {
390
- return;
391
- }
392
- this.pendingPatterns.delete(pendingKey);
393
- // Update state with real subscription ID
394
- pending.id = subscriptionId;
395
- this.subscriptions.set(subscriptionId, pending);
396
- this.patternToId.set(pending.lookupKey, subscriptionId);
397
- // Create subscription object
398
- const isManualAck = pending.options?.ackMode === "manual";
399
- if (isManualAck) {
400
- const ackableSub = {
401
- id: subscriptionId,
402
- pattern,
403
- connectionState: pending.connectionState,
404
- lastEvent: pending.lastEvent,
405
- unsubscribe: () => this.unsubscribeById(subscriptionId),
406
- ack: (eventId) => this.transport.ack(eventId, "ack"),
407
- nak: (eventId, delay) => this.transport.ack(eventId, "nak", delay),
408
- term: (eventId) => this.transport.ack(eventId, "term"),
409
- };
410
- pending.resolve?.(ackableSub);
411
- }
412
- else {
413
- const sub = {
414
- id: subscriptionId,
415
- pattern,
416
- connectionState: pending.connectionState,
417
- lastEvent: pending.lastEvent,
418
- unsubscribe: () => this.unsubscribeById(subscriptionId),
419
- };
420
- pending.resolve?.(sub);
421
- }
422
- }
423
- handleSubscribeFailed(pattern, error) {
424
- // Find pending subscription using pattern-to-keys map for O(1) lookup
425
- const pendingKeys = this.patternToPendingKeys.get(pattern);
426
- if (!pendingKeys || pendingKeys.length === 0) {
427
- return;
428
- }
429
- // Get the first pending key (FIFO order)
430
- const pendingKey = pendingKeys.shift();
431
- if (pendingKeys.length === 0) {
432
- this.patternToPendingKeys.delete(pattern);
433
- }
434
- const pending = this.pendingPatterns.get(pendingKey);
435
- if (!pending) {
436
- return;
437
- }
438
- this.pendingPatterns.delete(pendingKey);
439
- pending.reject?.(error);
440
- }
441
- }
442
- //# sourceMappingURL=subscription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- /**
2
- * ConnectRPC transport implementation for browser
3
- *
4
- * Uses @connectrpc/connect-web for browser-compatible gRPC communication.
5
- */
6
- import type { ConnectionState, SubscribeOptions as CoreSubscribeOptions, AckType } from "@ironflow/core";
7
- import type { Transport, TransportCallbacks, TransportOptions } from "./types.js";
8
- /**
9
- * Check if a stream error is an explicit user/framework cancellation that
10
- * should always be suppressed (page unload, React unmount, HMR).
11
- */
12
- export declare function isExplicitCancellation(error: unknown): boolean;
13
- /**
14
- * Check if a stream error is a recoverable network/availability issue that
15
- * should be suppressed when auto-reconnect is enabled. These errors indicate
16
- * transient problems the transport can recover from automatically.
17
- *
18
- * When auto-reconnect is disabled, these errors are surfaced to onError so
19
- * users can implement their own recovery strategy.
20
- */
21
- export declare function isTransientNetworkError(error: unknown): boolean;
22
- /**
23
- * ConnectRPC-based transport for browser subscriptions
24
- *
25
- * Uses server streaming for auto-ack mode subscriptions.
26
- */
27
- export declare class ConnectRPCTransport implements Transport {
28
- private readonly serverUrl;
29
- private readonly options;
30
- private callbacks?;
31
- private webTransport;
32
- private client;
33
- private _connectionState;
34
- private reconnectAttempt;
35
- private reconnectTimer;
36
- private paused;
37
- private activeSubscriptions;
38
- private subscriptionIdCounter;
39
- constructor(serverUrl: string, options: TransportOptions);
40
- get connectionState(): ConnectionState;
41
- setCallbacks(callbacks: TransportCallbacks): void;
42
- connect(): Promise<void>;
43
- disconnect(): void;
44
- subscribe(pattern: string, options?: CoreSubscribeOptions): void;
45
- unsubscribe(subscriptionId: string): void;
46
- ack(eventId: string, type: AckType, _delay?: number): Promise<void>;
47
- pause(): void;
48
- resume(): void;
49
- /**
50
- * Start the subscription stream for a given subscription
51
- */
52
- private startSubscriptionStream;
53
- /**
54
- * Convert protobuf event to SDK event
55
- */
56
- private convertProtoEvent;
57
- /**
58
- * Handle disconnection
59
- */
60
- private handleDisconnect;
61
- /**
62
- * Schedule a reconnection attempt
63
- */
64
- private scheduleReconnect;
65
- /**
66
- * Clear the reconnect timer
67
- */
68
- private clearReconnectTimer;
69
- }
70
- /**
71
- * Create a ConnectRPC transport for browser
72
- */
73
- export declare function createConnectRPCTransport(serverUrl: string, options: TransportOptions): Transport;
74
- //# sourceMappingURL=connectrpc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectrpc.d.ts","sourceRoot":"","sources":["../../src/transport/connectrpc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,IAAI,oBAAoB,EACxC,OAAO,EAER,MAAM,gBAAgB,CAAC;AAmBxB,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAwClF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAc9D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmB/D;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,YAAY,CAA0D;IAC9E,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,mBAAmB,CAA8C;IACzE,OAAO,CAAC,qBAAqB,CAAK;gBAEtB,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;IAKxD,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAI3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6D9B,UAAU,IAAI,IAAI;IAgBlB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAqBhE,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQnC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE,KAAK,IAAI,IAAI;IAeb,MAAM,IAAI,IAAI;IAOd;;OAEG;YACW,uBAAuB;IAyGrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAM5B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,SAAS,CAEX"}