@memberjunction/core 5.8.0 → 5.10.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.
Files changed (48) hide show
  1. package/dist/generic/RegisterForStartup.js +1 -1
  2. package/dist/generic/RegisterForStartup.js.map +1 -1
  3. package/dist/generic/baseEngine.d.ts +64 -1
  4. package/dist/generic/baseEngine.d.ts.map +1 -1
  5. package/dist/generic/baseEngine.js +229 -22
  6. package/dist/generic/baseEngine.js.map +1 -1
  7. package/dist/generic/baseEntity.d.ts +31 -3
  8. package/dist/generic/baseEntity.d.ts.map +1 -1
  9. package/dist/generic/baseEntity.js +46 -0
  10. package/dist/generic/baseEntity.js.map +1 -1
  11. package/dist/generic/databaseProviderBase.d.ts +19 -1
  12. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  13. package/dist/generic/databaseProviderBase.js +44 -1
  14. package/dist/generic/databaseProviderBase.js.map +1 -1
  15. package/dist/generic/hookRegistry.d.ts +83 -0
  16. package/dist/generic/hookRegistry.d.ts.map +1 -0
  17. package/dist/generic/hookRegistry.js +87 -0
  18. package/dist/generic/hookRegistry.js.map +1 -0
  19. package/dist/generic/interfaces.d.ts +16 -0
  20. package/dist/generic/interfaces.d.ts.map +1 -1
  21. package/dist/generic/interfaces.js.map +1 -1
  22. package/dist/generic/localCacheManager.d.ts +200 -19
  23. package/dist/generic/localCacheManager.d.ts.map +1 -1
  24. package/dist/generic/localCacheManager.js +504 -135
  25. package/dist/generic/localCacheManager.js.map +1 -1
  26. package/dist/generic/providerBase.d.ts +106 -2
  27. package/dist/generic/providerBase.d.ts.map +1 -1
  28. package/dist/generic/providerBase.js +379 -40
  29. package/dist/generic/providerBase.js.map +1 -1
  30. package/dist/generic/queryInfo.d.ts +14 -6
  31. package/dist/generic/queryInfo.d.ts.map +1 -1
  32. package/dist/generic/queryInfo.js +15 -10
  33. package/dist/generic/queryInfo.js.map +1 -1
  34. package/dist/generic/queryInfoInterfaces.d.ts +6 -1
  35. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  36. package/dist/generic/securityInfo.d.ts +41 -0
  37. package/dist/generic/securityInfo.d.ts.map +1 -1
  38. package/dist/generic/securityInfo.js +23 -2
  39. package/dist/generic/securityInfo.js.map +1 -1
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/views/runView.d.ts +33 -0
  45. package/dist/views/runView.d.ts.map +1 -1
  46. package/dist/views/runView.js.map +1 -1
  47. package/package.json +2 -2
  48. package/readme.md +58 -0
@@ -1,6 +1,8 @@
1
1
  import { BaseSingleton } from "@memberjunction/global";
2
2
  import { AggregateResult, DatasetItemFilterType, DatasetResultType, ILocalStorageProvider } from "./interfaces.js";
3
3
  import { RunViewParams } from "../views/runView.js";
4
+ import { BaseEntityEvent } from "./baseEntity.js";
5
+ import { CompositeKey } from "./compositeKey.js";
4
6
  /**
5
7
  * The type of cache entry: dataset, runview, or runquery
6
8
  */
@@ -98,6 +100,62 @@ export interface LocalCacheManagerConfig {
98
100
  /** Eviction policy when cache is full */
99
101
  evictionPolicy: 'lru' | 'lfu' | 'fifo';
100
102
  }
103
+ /**
104
+ * Describes a change to a cached entry, used for cross-server cache invalidation
105
+ * via Redis pub/sub. When one server updates a cache entry, this event is published
106
+ * so other servers can react (e.g., reload an engine's in-memory array).
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * // Register a callback for a specific cache fingerprint
111
+ * const unsubscribe = LocalCacheManager.Instance.RegisterChangeCallback(
112
+ * fingerprint,
113
+ * (event: CacheChangedEvent) => {
114
+ * console.log(`Cache updated by server ${event.SourceServerId}`);
115
+ * // Refresh local data...
116
+ * }
117
+ * );
118
+ *
119
+ * // Later, to stop listening:
120
+ * unsubscribe();
121
+ * ```
122
+ */
123
+ export interface CacheChangedEvent {
124
+ /**
125
+ * The cache key that changed. For RunView results, this is the fingerprint
126
+ * generated by {@link LocalCacheManager.GenerateRunViewFingerprint}
127
+ * (format: `EntityName|Filter|OrderBy|MaxRows|StartRow|AggHash[|Connection]`).
128
+ */
129
+ CacheKey: string;
130
+ /**
131
+ * The storage category of the changed entry.
132
+ * One of: `'RunViewCache'`, `'RunQueryCache'`, `'DatasetCache'`, `'Metadata'`, `'default'`.
133
+ */
134
+ Category: string;
135
+ /**
136
+ * What happened to the cache entry.
137
+ * - `'set'` — a new value was stored (create or replace)
138
+ * - `'removed'` — a single key was deleted
139
+ * - `'category_cleared'` — all keys in the category were deleted
140
+ */
141
+ Action: 'set' | 'removed' | 'category_cleared';
142
+ /**
143
+ * UTC Unix timestamp in milliseconds when the change occurred (`Date.now()`).
144
+ */
145
+ Timestamp: number;
146
+ /**
147
+ * The {@link MJGlobal.ProcessUUID} of the server that made the change.
148
+ * Used to filter out self-originated events (a server doesn't need to
149
+ * react to its own mutations).
150
+ */
151
+ SourceServerId: string;
152
+ /**
153
+ * The new cached value as a JSON string, included in the event to avoid
154
+ * a round-trip back to Redis. Only present for `'set'` actions.
155
+ * For `'removed'` and `'category_cleared'` actions, this is `undefined`.
156
+ */
157
+ Data?: string;
158
+ }
101
159
  /**
102
160
  * Storage categories for organizing cache data.
103
161
  * These map to IndexedDB object stores or localStorage key prefixes.
@@ -151,6 +209,12 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
151
209
  private _stats;
152
210
  private _config;
153
211
  private readonly REGISTRY_KEY;
212
+ /**
213
+ * Reverse index from entity name to the set of RunView cache fingerprints
214
+ * that contain data for that entity. Enables O(1) lookup when a BaseEntity
215
+ * event fires so we can update all relevant cached results.
216
+ */
217
+ private _entityFingerprintIndex;
154
218
  protected constructor();
155
219
  /**
156
220
  * Initialize the cache manager with a storage provider.
@@ -180,6 +244,135 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
180
244
  * Updates the configuration at runtime
181
245
  */
182
246
  UpdateConfig(config: Partial<LocalCacheManagerConfig>): void;
247
+ /**
248
+ * Replaces the storage provider after initialization. This is needed when
249
+ * the initial provider (e.g., in-memory) needs to be swapped for a
250
+ * persistent provider (e.g., Redis) that becomes available later.
251
+ *
252
+ * Migrates the in-memory registry to the new provider and rebuilds
253
+ * the entity→fingerprint reverse index.
254
+ *
255
+ * @param newProvider - The new storage provider to use
256
+ */
257
+ SetStorageProvider(newProvider: ILocalStorageProvider): Promise<void>;
258
+ /**
259
+ * Extracts the entity name from a RunView fingerprint.
260
+ * Fingerprint format: `EntityName|Filter|OrderBy|ResultType|MaxRows|StartRow|AggHash[|Connection]`
261
+ * @param fingerprint - The RunView cache fingerprint
262
+ * @returns The entity name, or null if the fingerprint is malformed
263
+ */
264
+ protected extractEntityFromFingerprint(fingerprint: string): string | null;
265
+ /**
266
+ * Returns true if the fingerprint includes a non-trivial filter (not just '_' or empty).
267
+ * Unfiltered fingerprints can safely have records upserted in-place; filtered ones
268
+ * must be invalidated conservatively since the new data may not match the filter.
269
+ * @param fingerprint - The RunView cache fingerprint
270
+ */
271
+ protected isFilteredFingerprint(fingerprint: string): boolean;
272
+ /**
273
+ * Adds a fingerprint to the entity→fingerprint reverse index.
274
+ * Called when a RunView result is cached.
275
+ */
276
+ private addToEntityIndex;
277
+ /**
278
+ * Removes a fingerprint from the entity→fingerprint reverse index.
279
+ * Called when a RunView result is invalidated.
280
+ */
281
+ private removeFromEntityIndex;
282
+ /**
283
+ * Returns the set of cached fingerprints for a given entity name.
284
+ * Useful for diagnostics and testing.
285
+ */
286
+ GetFingerprintsForEntity(entityName: string): ReadonlySet<string>;
287
+ /**
288
+ * Subscribes to MJGlobal BaseEntity events to proactively update all cached
289
+ * RunView results when entities are saved or deleted. This ensures ALL cached
290
+ * data stays consistent, not just engine-managed data.
291
+ */
292
+ private subscribeToBaseEntityEvents;
293
+ /**
294
+ * Handles a BaseEntity event by updating all cached RunView results for the
295
+ * affected entity. For unfiltered caches, updates the record in-place.
296
+ * For filtered caches, invalidates the cache entry (conservative approach
297
+ * since we can't verify filter match without re-querying).
298
+ *
299
+ * @param entityEvent - The BaseEntity event payload
300
+ */
301
+ protected HandleBaseEntityEvent(entityEvent: BaseEntityEvent): Promise<void>;
302
+ /**
303
+ * Handles remote-invalidate events that include recordData (the saved entity as JSON).
304
+ * Updates all cached RunView results for the entity without a server round-trip.
305
+ * For delete events or events without recordData, the cache entries are invalidated
306
+ * so the next RunView call will fetch fresh data from the server.
307
+ */
308
+ protected HandleRemoteInvalidateEvent(entityEvent: BaseEntityEvent): Promise<void>;
309
+ /**
310
+ * Parses a JSON-encoded primaryKeyValues string (array of {FieldName, Value} pairs)
311
+ * into a CompositeKey. Returns null if parsing fails or the string is empty.
312
+ */
313
+ private parseCompositeKeyFromJSON;
314
+ /**
315
+ * Builds a CompositeKey from a plain row object using the specified PK field names.
316
+ */
317
+ private buildCompositeKeyFromRow;
318
+ /**
319
+ * Processes a single fingerprint for a BaseEntity event.
320
+ * Decomposed from HandleBaseEntityEvent for clarity and testability.
321
+ */
322
+ private processEntityEventForFingerprint;
323
+ /**
324
+ * Map from cache fingerprint (or category for category_cleared events) to
325
+ * registered {@link CacheChangedEvent} callbacks. Callbacks are invoked when
326
+ * another server instance modifies the corresponding cached entry via Redis pub/sub.
327
+ */
328
+ private _changeCallbacks;
329
+ /**
330
+ * Registers a callback that fires when a specific cache fingerprint is updated
331
+ * by another server instance. Returns an unsubscribe function to remove the callback.
332
+ *
333
+ * This is the mechanism that powers the `OnDataChanged` callback in {@link RunViewParams}.
334
+ * Engines, components, and other callers can use this to react to cross-server
335
+ * cache invalidation without polling.
336
+ *
337
+ * @param fingerprint - The cache key/fingerprint to watch. For RunView results,
338
+ * use {@link GenerateRunViewFingerprint} to build this.
339
+ * @param callback - Function invoked with the {@link CacheChangedEvent} when
340
+ * the fingerprint's cached data changes on another server.
341
+ * @returns A function that, when called, removes this specific callback registration.
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * const fingerprint = cache.GenerateRunViewFingerprint(params, connectionPrefix);
346
+ * const unsubscribe = cache.RegisterChangeCallback(fingerprint, (event) => {
347
+ * console.log(`Data changed for ${event.CacheKey}`);
348
+ * // Reload, re-render, etc.
349
+ * });
350
+ *
351
+ * // Later, on cleanup:
352
+ * unsubscribe();
353
+ * ```
354
+ */
355
+ RegisterChangeCallback(fingerprint: string, callback: (event: CacheChangedEvent) => void): () => void;
356
+ /**
357
+ * Dispatches a cache change event to all registered callbacks for the affected
358
+ * fingerprint. Called by infrastructure code (e.g., {@link RedisLocalStorageProvider})
359
+ * when another server modifies a cached entry.
360
+ *
361
+ * For `category_cleared` events, dispatches to ALL registered callbacks whose
362
+ * fingerprints belong to the cleared category (matched by the event's CacheKey
363
+ * which contains the category name).
364
+ *
365
+ * Errors in individual callbacks are caught and logged via {@link LogError}
366
+ * to prevent one bad callback from blocking others.
367
+ *
368
+ * @param event - The cache change event to dispatch
369
+ */
370
+ DispatchCacheChange(event: CacheChangedEvent): void;
371
+ /**
372
+ * Returns the number of fingerprints that have registered change callbacks.
373
+ * Useful for diagnostics and testing.
374
+ */
375
+ get ChangeCallbackCount(): number;
183
376
  /**
184
377
  * Stores a dataset in the local cache.
185
378
  *
@@ -312,34 +505,22 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
312
505
  * @param newMaxUpdatedAt - New maxUpdatedAt timestamp (from entity's __mj_UpdatedAt)
313
506
  * @returns true if cache was updated, false if cache not found or update failed
314
507
  */
315
- UpsertSingleEntity(fingerprint: string, entityData: Record<string, unknown>, primaryKeyFieldName: string, newMaxUpdatedAt: string): Promise<boolean>;
508
+ UpsertSingleEntity(fingerprint: string, entityData: Record<string, unknown>, key: CompositeKey, newMaxUpdatedAt: string): Promise<boolean>;
316
509
  /**
317
510
  * Removes a single entity from a cached RunView result.
318
- * Used by BaseEngine for immediate cache sync when an entity is deleted.
511
+ * Supports composite primary keys via CompositeKey matching.
319
512
  *
320
513
  * @param fingerprint - The cache fingerprint to update
321
- * @param primaryKeyValue - The primary key value of the entity to remove
322
- * @param primaryKeyFieldName - Name of the primary key field
514
+ * @param key - CompositeKey identifying the entity to remove
323
515
  * @param newMaxUpdatedAt - New maxUpdatedAt timestamp
324
516
  * @returns true if cache was updated, false if cache not found or update failed
325
517
  */
326
- RemoveSingleEntity(fingerprint: string, primaryKeyValue: string, primaryKeyFieldName: string, newMaxUpdatedAt: string): Promise<boolean>;
327
- /**
328
- * Extracts the primary key value as a string from a row object.
329
- * Handles both single-field and composite primary keys.
330
- * @param row - The row object
331
- * @param primaryKeyFieldName - The primary key field name (first field for composite keys)
332
- * @returns The primary key value as a string, or null if not found
333
- */
334
- private extractPrimaryKeyString;
518
+ RemoveSingleEntity(fingerprint: string, key: CompositeKey, newMaxUpdatedAt: string): Promise<boolean>;
335
519
  /**
336
- * Extracts the primary key value from a CompositeKey concatenated string.
337
- * Format: "Field1|Value1||Field2|Value2" for composite keys, or "ID|abc123" for single keys.
338
- * @param concatenatedKey - The concatenated key string from RecordChange.RecordID
339
- * @param primaryKeyFieldName - The primary key field name to extract
340
- * @returns The value for the specified field, or the first value if field not found
520
+ * Stores updated results array back to the cache and updates the registry.
521
+ * Shared by UpsertSingleEntity and RemoveSingleEntity to avoid duplication.
341
522
  */
342
- private extractValueFromConcatenatedKey;
523
+ private storeCachedResults;
343
524
  /**
344
525
  * Invalidates all cached RunView results for a specific entity.
345
526
  * Useful when an entity's data changes and all related caches should be cleared.
@@ -1 +1 @@
1
- {"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAuB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAc,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAW5D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,6BAA6B;IAC7B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,6BAA6B;IAC7B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,cAAc,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAC1C;AAkBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,kBAAkB,CAAC;IAE/C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;;GAGG;AACH,eAAO,MAAM,aAAa;IACtB,gCAAgC;;IAEhC,iCAAiC;;IAEjC,gCAAgC;;IAEhC,yBAAyB;;IAEzB,8CAA8C;;CAExC,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAM7E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACnE;;OAEG;IACH,WAAkB,QAAQ,IAAI,iBAAiB,CAE9C;IAED,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAkD;IAEjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IAExD;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAAuC;IAEtE,SAAS;IAQT;;;;;;;;;;OAUG;IACI,UAAU,CACb,eAAe,EAAE,qBAAqB,EACtC,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;YACW,YAAY;IAiB1B;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,uBAAuB,CAE3C;IAED;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAInE;;;;;;;;;OASG;IACU,kBAAkB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClF;;;;;OAKG;IACH,SAAS,CAAC,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK1E;;;;;OAKG;IACH,SAAS,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAK7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;IACI,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAQxE;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IA2BnC;;;;;;;OAOG;cACa,qBAAqB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoClF;;;;;OAKG;cACa,2BAA2B,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6FxF;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAKhC;;;OAGG;YACW,gCAAgC;IA2B9C;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAmE;IAE3F;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,sBAAsB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAC7C,MAAM,IAAI;IAiBb;;;;;;;;;;;;;OAaG;IACI,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAgC1D;;;OAGG;IACH,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IAMD;;;;;;;OAOG;IACU,UAAU,CACnB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAChD,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IA8BhB;;;;;;;OAOG;IACU,UAAU,CACnB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAqBpC;;;;;;;OAOG;IACU,mBAAmB,CAC5B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAavB;;;;;;OAMG;IACU,YAAY,CACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;;;OAOG;IACU,eAAe,CACxB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAiBnB;;;;;;;;;;OAUG;IACI,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAiC3F;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;;;;;;;OAWG;IACU,gBAAgB,CACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAAE,EAClB,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,eAAe,EAAE,GACrC,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;;;;;OAOG;IACU,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IA+BvF;;;;OAIG;IACU,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxE;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,uBAAuB,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,OAAO,EAAE,EACtB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,MAAM,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,gBAAgB,CAAC,EAAE,eAAe,EAAE,GACrC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IA+DtC;;;;;;;;;;OAUG;IACU,kBAAkB,CAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,GAAG,EAAE,YAAY,EACjB,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,OAAO,CAAC;IAkCnB;;;;;;;;OAQG;IACU,kBAAkB,CAC3B,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,YAAY,EACjB,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,OAAO,CAAC;IAmCnB;;;OAGG;YACW,kBAAkB;IA2BhC;;;;;OAKG;IACU,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtE;;;;;;;;;;;OAWG;IACI,2BAA2B,CAC9B,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,gBAAgB,CAAC,EAAE,MAAM,GAC1B,MAAM;IAkBT;;;;;;;;;;OAUG;IACU,iBAAiB,CAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAAE,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;OAKG;IACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACzD,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IAmCT;;;;OAIG;IACU,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE;;;;;OAKG;IACU,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBpE;;;;;;OAMG;IACU,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9D,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IAcT;;OAEG;IACI,aAAa,IAAI,cAAc,EAAE;IAIxC;;;;OAIG;IACI,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,EAAE;IAI/D;;OAEG;IACI,QAAQ,IAAI,UAAU;IAyB7B;;OAEG;IACI,UAAU,IAAI,MAAM;IAS3B;;;;;OAKG;IACU,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAsB/D;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAsBxC;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;YACW,YAAY;IAsB1B,OAAO,CAAC,eAAe,CAA8C;IAErE;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;OAEG;YACW,eAAe;IAW7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;YACW,aAAa;IAgB3B;;OAEG;YACW,KAAK;CAqDtB"}