@fairfox/polly 0.20.0 → 0.20.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.
- package/README.md +11 -0
- package/dist/src/background/index.js +22 -12
- package/dist/src/background/index.js.map +3 -3
- package/dist/src/background/message-router.js +22 -12
- package/dist/src/background/message-router.js.map +3 -3
- package/dist/src/client/index.js +187 -154
- package/dist/src/client/index.js.map +4 -4
- package/dist/src/elysia/index.js +19 -9
- package/dist/src/elysia/index.js.map +2 -2
- package/dist/src/elysia/plugin.d.ts +3 -3
- package/dist/src/index.js +22 -12
- package/dist/src/index.js.map +3 -3
- package/dist/src/shared/adapters/index.js +22 -12
- package/dist/src/shared/adapters/index.js.map +3 -3
- package/dist/src/shared/lib/context-helpers.js +22 -12
- package/dist/src/shared/lib/context-helpers.js.map +3 -3
- package/dist/src/shared/lib/errors.js +19 -9
- package/dist/src/shared/lib/errors.js.map +2 -2
- package/dist/src/shared/lib/message-bus.js +22 -12
- package/dist/src/shared/lib/message-bus.js.map +3 -3
- package/dist/src/shared/lib/resource.js +22 -12
- package/dist/src/shared/lib/resource.js.map +3 -3
- package/dist/src/shared/lib/state.js +22 -12
- package/dist/src/shared/lib/state.js.map +3 -3
- package/dist/src/shared/lib/test-helpers.js +19 -9
- package/dist/src/shared/lib/test-helpers.js.map +2 -2
- package/dist/src/shared/state/app-state.js +22 -12
- package/dist/src/shared/state/app-state.js.map +3 -3
- package/dist/src/shared/types/messages.js +19 -9
- package/dist/src/shared/types/messages.js.map +2 -2
- package/dist/tools/init/src/cli.js +6 -2
- package/dist/tools/init/src/cli.js.map +2 -2
- package/dist/tools/test/src/adapters/index.d.ts +2 -2
- package/dist/tools/test/src/adapters/index.js +19 -9
- package/dist/tools/test/src/adapters/index.js.map +3 -3
- package/dist/tools/test/src/index.js +19 -9
- package/dist/tools/test/src/index.js.map +3 -3
- package/dist/tools/test/src/test-utils.js +19 -9
- package/dist/tools/test/src/test-utils.js.map +2 -2
- package/dist/tools/verify/src/cli.js +10 -6
- package/dist/tools/verify/src/cli.js.map +4 -4
- package/dist/tools/verify/src/config.js +19 -9
- package/dist/tools/verify/src/config.js.map +2 -2
- package/dist/tools/visualize/src/cli.js +6 -2
- package/dist/tools/visualize/src/cli.js.map +2 -2
- package/package.json +8 -10
package/README.md
CHANGED
|
@@ -206,6 +206,17 @@ polly verify Run formal verification
|
|
|
206
206
|
polly visualize Generate architecture diagrams (Structurizr DSL)
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
+
## Use with Claude Code
|
|
210
|
+
|
|
211
|
+
This repo ships with a [Claude Code skill](.claude/skills) that knows the full Polly API, verification patterns, and best practices. Install the skill in your project to let Claude help you integrate Polly:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# From your project directory
|
|
215
|
+
claude install-skill /path/to/polly/.claude/skills
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Then ask Claude things like "How would Polly fit into this project?" or "Add verification to my handlers" and it will have full context on the framework.
|
|
219
|
+
|
|
209
220
|
## Licence
|
|
210
221
|
|
|
211
222
|
MIT
|
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
@@ -259,7 +269,9 @@ class BroadcastChannelSyncAdapter {
|
|
|
259
269
|
channel = null;
|
|
260
270
|
listeners = [];
|
|
261
271
|
constructor(channelName = "polly-sync") {
|
|
262
|
-
if (typeof BroadcastChannel
|
|
272
|
+
if (typeof BroadcastChannel === "undefined") {
|
|
273
|
+
console.warn("[SyncAdapter] BroadcastChannel not available");
|
|
274
|
+
} else {
|
|
263
275
|
this.channel = new BroadcastChannel(channelName);
|
|
264
276
|
this.channel.onmessage = (event) => {
|
|
265
277
|
if (event.data.type === "STATE_SYNC") {
|
|
@@ -268,8 +280,6 @@ class BroadcastChannelSyncAdapter {
|
|
|
268
280
|
});
|
|
269
281
|
}
|
|
270
282
|
};
|
|
271
|
-
} else {
|
|
272
|
-
console.warn("[SyncAdapter] BroadcastChannel not available");
|
|
273
283
|
}
|
|
274
284
|
}
|
|
275
285
|
broadcast(message) {
|
|
@@ -1805,4 +1815,4 @@ export {
|
|
|
1805
1815
|
MessageRouter
|
|
1806
1816
|
};
|
|
1807
1817
|
|
|
1808
|
-
//# debugId=
|
|
1818
|
+
//# debugId=6FBA09F54F024F8664756E2164756E21
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"sources": ["../src/shared/lib/storage-adapter.ts", "../src/shared/lib/sync-adapter.ts", "../src/shared/lib/constraints.ts", "../src/shared/adapters/chrome/context-menus.chrome.ts", "../src/shared/adapters/chrome/offscreen.chrome.ts", "../src/shared/adapters/chrome/runtime.chrome.ts", "../src/shared/adapters/chrome/storage.chrome.ts", "../src/shared/adapters/chrome/tabs.chrome.ts", "../src/shared/adapters/chrome/window.chrome.ts", "../src/shared/adapters/fetch.adapter.ts", "../src/shared/adapters/logger.adapter.ts", "../src/shared/lib/adapter-factory.ts", "../src/shared/adapters/index.ts", "../src/shared/types/messages.ts", "../src/shared/lib/errors.ts", "../src/shared/lib/context-specific-helpers.ts", "../src/shared/lib/handler-execution-tracker.ts", "../src/shared/lib/message-bus.ts", "../src/background/message-router.ts", "../src/background/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"// Storage adapters for different execution contexts\n// Automatically chooses the right storage mechanism based on environment\n\n/**\n * Universal storage adapter interface\n */\nexport interface StorageAdapter {\n get<T = unknown>(keys: string[]): Promise<Record<string, T>>;\n set(items: Record<string, unknown>): Promise<void>;\n remove(keys: string[]): Promise<void>;\n}\n\n/**\n * IndexedDB adapter for web apps\n */\nexport class IndexedDBAdapter implements StorageAdapter {\n private dbName: string;\n private storeName = \"state\";\n private dbPromise: Promise<IDBDatabase> | null = null;\n\n constructor(dbName = \"polly-state\") {\n this.dbName = dbName;\n }\n\n private getDB(): Promise<IDBDatabase> {\n if (this.dbPromise) return this.dbPromise;\n\n this.dbPromise = new Promise((resolve, reject) => {\n const request = indexedDB.open(this.dbName, 1);\n\n request.onerror = () => reject(request.error);\n request.onsuccess = () => resolve(request.result);\n\n request.onupgradeneeded = (event) => {\n const db = (event.target as IDBOpenDBRequest).result;\n if (!db.objectStoreNames.contains(this.storeName)) {\n db.createObjectStore(this.storeName);\n }\n };\n });\n\n return this.dbPromise;\n }\n\n async get<T = unknown>(keys: string[]): Promise<Record<string, T>> {\n try {\n const db = await this.getDB();\n const result: Record<string, T> = {};\n\n await Promise.all(\n keys.map(\n (key) =>\n new Promise<void>((resolve, reject) => {\n const transaction = db.transaction([this.storeName], \"readonly\");\n const store = transaction.objectStore(this.storeName);\n const request = store.get(key);\n\n request.onerror = () => reject(request.error);\n request.onsuccess = () => {\n if (request.result !== undefined) {\n result[key] = request.result as T;\n }\n resolve();\n };\n })\n )\n );\n\n return result;\n } catch (error) {\n console.warn(\"[Polly] IndexedDB get failed:\", error);\n return {};\n }\n }\n\n async set(items: Record<string, unknown>): Promise<void> {\n try {\n const db = await this.getDB();\n await Promise.all(\n Object.entries(items).map(\n ([key, value]) =>\n new Promise<void>((resolve, reject) => {\n const transaction = db.transaction([this.storeName], \"readwrite\");\n const store = transaction.objectStore(this.storeName);\n const request = store.put(value, key);\n\n request.onerror = () => reject(request.error);\n request.onsuccess = () => resolve();\n })\n )\n );\n } catch (error) {\n console.warn(\"[Polly] IndexedDB set failed:\", error);\n }\n }\n\n async remove(keys: string[]): Promise<void> {\n try {\n const db = await this.getDB();\n await Promise.all(\n keys.map(\n (key) =>\n new Promise<void>((resolve, reject) => {\n const transaction = db.transaction([this.storeName], \"readwrite\");\n const store = transaction.objectStore(this.storeName);\n const request = store.delete(key);\n\n request.onerror = () => reject(request.error);\n request.onsuccess = () => resolve();\n })\n )\n );\n } catch (error) {\n console.warn(\"[Polly] IndexedDB remove failed:\", error);\n }\n }\n}\n\n/**\n * Chrome storage adapter for extensions\n */\nexport class ChromeStorageAdapter implements StorageAdapter {\n async get<T = unknown>(keys: string[]): Promise<Record<string, T>> {\n if (typeof chrome === \"undefined\" || !chrome.storage) {\n return {};\n }\n\n try {\n return (await chrome.storage.local.get(keys)) as Record<string, T>;\n } catch (error) {\n console.warn(\"[Polly] Chrome storage get failed:\", error);\n return {};\n }\n }\n\n async set(items: Record<string, unknown>): Promise<void> {\n if (typeof chrome === \"undefined\" || !chrome.storage) {\n return;\n }\n\n try {\n await chrome.storage.local.set(items);\n } catch (error) {\n console.warn(\"[Polly] Chrome storage set failed:\", error);\n }\n }\n\n async remove(keys: string[]): Promise<void> {\n if (typeof chrome === \"undefined\" || !chrome.storage) {\n return;\n }\n\n try {\n await chrome.storage.local.remove(keys);\n } catch (error) {\n console.warn(\"[Polly] Chrome storage remove failed:\", error);\n }\n }\n}\n\n/**\n * In-memory adapter (no persistence) for testing or server contexts\n */\nexport class MemoryStorageAdapter implements StorageAdapter {\n private storage = new Map<string, unknown>();\n\n async get<T = unknown>(keys: string[]): Promise<Record<string, T>> {\n const result: Record<string, T> = {};\n for (const key of keys) {\n const value = this.storage.get(key);\n if (value !== undefined) {\n result[key] = value as T;\n }\n }\n return result;\n }\n\n async set(items: Record<string, unknown>): Promise<void> {\n for (const [key, value] of Object.entries(items)) {\n this.storage.set(key, value);\n }\n }\n\n async remove(keys: string[]): Promise<void> {\n for (const key of keys) {\n this.storage.delete(key);\n }\n }\n}\n\n/**\n * Detect execution context and return appropriate storage adapter\n */\nexport function createStorageAdapter(): StorageAdapter {\n // Chrome extension context\n if (typeof chrome !== \"undefined\" && chrome.storage && chrome.runtime) {\n return new ChromeStorageAdapter();\n }\n\n // Web app context (has IndexedDB)\n if (typeof indexedDB !== \"undefined\") {\n return new IndexedDBAdapter();\n }\n\n // Server/test context (no persistent storage available)\n return new MemoryStorageAdapter();\n}\n",
|
|
6
|
-
"// Sync adapter interface for cross-context state synchronization\n// Abstracts the transport mechanism (chrome.runtime, BroadcastChannel, etc.)\n//\n// Architecture Decision: BroadcastChannel vs SharedWorker\n// ------------------------------------------------------\n// We currently use BroadcastChannel for web app sync because:\n// - Simpler API with no lifecycle management complexity\n// - Decentralized (aligns with local-first/offline-first architecture)\n// - Better browser support (especially Safari and mobile)\n// - Perfect for message-passing with Lamport clock conflict resolution\n// - No single point of failure\n//\n// Future Consideration: SharedWorker Support\n// ------------------------------------------\n// SharedWorker could be added as an optional adapter for use cases requiring:\n// - Central coordination point for complex multi-tab workflows\n// - Shared WebSocket connections (one connection for all tabs)\n// - Heavy computation done once and shared across tabs\n// - Persistent background work when tabs are closed\n// - Transaction coordination across tabs\n//\n// For most Polly use cases, BroadcastChannel's peer-to-peer model is preferred,\n// but SharedWorker support could be valuable for advanced scenarios.\n\n/**\n * Message format for state synchronization\n */\nexport interface StateSyncMessage<T = unknown> {\n key: string;\n value: T;\n clock: number;\n}\n\n/**\n * Sync adapter interface - abstracts the transport mechanism for state sync\n *\n * Different contexts use different transports:\n * - Chrome extensions: chrome.runtime messaging\n * - Web apps (multi-tab): BroadcastChannel\n * - PWAs: BroadcastChannel + Service Worker messaging\n * - Single-context: NoOp (no sync needed)\n */\nexport interface SyncAdapter {\n /**\n * Broadcast a state update to other contexts\n */\n broadcast<T>(message: StateSyncMessage<T>): void;\n\n /**\n * Register a callback for incoming state updates\n */\n onMessage<T>(callback: (message: StateSyncMessage<T>) => void): () => void;\n\n /**\n * Optional: Connect to the sync mechanism\n * Some transports require explicit connection setup\n */\n connect?(): Promise<void>;\n\n /**\n * Optional: Disconnect from the sync mechanism\n */\n disconnect?(): void;\n\n /**\n * Optional: Check if connected\n */\n isConnected?(): boolean;\n}\n\n/**\n * NoOp sync adapter for single-context scenarios (no sync needed)\n */\nexport class NoOpSyncAdapter implements SyncAdapter {\n broadcast<T>(_message: StateSyncMessage<T>): void {\n // No-op: single context, no need to sync\n }\n\n onMessage<T>(_callback: (message: StateSyncMessage<T>) => void): () => void {\n // No-op: no messages will ever arrive\n return () => {\n // Empty cleanup function - nothing to clean up for null adapter\n };\n }\n}\n\n/**\n * Chrome runtime sync adapter for Chrome extensions\n * Uses chrome.runtime.sendMessage for cross-context messaging\n */\nexport class ChromeRuntimeSyncAdapter implements SyncAdapter {\n private listeners: Array<(message: StateSyncMessage<unknown>) => void> = [];\n private port: chrome.runtime.Port | null = null;\n\n constructor() {\n // Set up listener for incoming messages\n if (typeof chrome !== \"undefined\" && chrome.runtime) {\n chrome.runtime.onMessage.addListener((message, _sender, _sendResponse) => {\n if (message.type === \"STATE_SYNC\") {\n this.listeners.forEach((listener) => {\n listener(message);\n });\n }\n });\n }\n }\n\n broadcast<T>(message: StateSyncMessage<T>): void {\n if (typeof chrome === \"undefined\" || !chrome.runtime) {\n console.warn(\"[SyncAdapter] chrome.runtime not available\");\n return;\n }\n\n try {\n chrome.runtime.sendMessage({\n type: \"STATE_SYNC\",\n key: message.key,\n value: message.value,\n clock: message.clock,\n });\n } catch (error) {\n console.warn(\"[SyncAdapter] Failed to broadcast state update:\", error);\n }\n }\n\n onMessage<T>(callback: (message: StateSyncMessage<T>) => void): () => void {\n this.listeners.push(callback as (message: StateSyncMessage<unknown>) => void);\n\n // Return cleanup function\n return () => {\n const index = this.listeners.indexOf(\n callback as (message: StateSyncMessage<unknown>) => void\n );\n if (index > -1) {\n this.listeners.splice(index, 1);\n }\n };\n }\n\n connect(): Promise<void> {\n // Chrome runtime is always connected\n return Promise.resolve();\n }\n\n disconnect(): void {\n this.listeners = [];\n if (this.port) {\n this.port.disconnect();\n this.port = null;\n }\n }\n\n isConnected(): boolean {\n return typeof chrome !== \"undefined\" && !!chrome.runtime;\n }\n}\n\n/**\n * BroadcastChannel sync adapter for web apps (multi-tab)\n * Uses BroadcastChannel API for cross-tab messaging\n */\nexport class BroadcastChannelSyncAdapter implements SyncAdapter {\n private channel: BroadcastChannel | null = null;\n private listeners: Array<(message: StateSyncMessage<unknown>) => void> = [];\n\n constructor(channelName = \"polly-sync\") {\n if (typeof BroadcastChannel
|
|
6
|
+
"// Sync adapter interface for cross-context state synchronization\n// Abstracts the transport mechanism (chrome.runtime, BroadcastChannel, etc.)\n//\n// Architecture Decision: BroadcastChannel vs SharedWorker\n// ------------------------------------------------------\n// We currently use BroadcastChannel for web app sync because:\n// - Simpler API with no lifecycle management complexity\n// - Decentralized (aligns with local-first/offline-first architecture)\n// - Better browser support (especially Safari and mobile)\n// - Perfect for message-passing with Lamport clock conflict resolution\n// - No single point of failure\n//\n// Future Consideration: SharedWorker Support\n// ------------------------------------------\n// SharedWorker could be added as an optional adapter for use cases requiring:\n// - Central coordination point for complex multi-tab workflows\n// - Shared WebSocket connections (one connection for all tabs)\n// - Heavy computation done once and shared across tabs\n// - Persistent background work when tabs are closed\n// - Transaction coordination across tabs\n//\n// For most Polly use cases, BroadcastChannel's peer-to-peer model is preferred,\n// but SharedWorker support could be valuable for advanced scenarios.\n\n/**\n * Message format for state synchronization\n */\nexport interface StateSyncMessage<T = unknown> {\n key: string;\n value: T;\n clock: number;\n}\n\n/**\n * Sync adapter interface - abstracts the transport mechanism for state sync\n *\n * Different contexts use different transports:\n * - Chrome extensions: chrome.runtime messaging\n * - Web apps (multi-tab): BroadcastChannel\n * - PWAs: BroadcastChannel + Service Worker messaging\n * - Single-context: NoOp (no sync needed)\n */\nexport interface SyncAdapter {\n /**\n * Broadcast a state update to other contexts\n */\n broadcast<T>(message: StateSyncMessage<T>): void;\n\n /**\n * Register a callback for incoming state updates\n */\n onMessage<T>(callback: (message: StateSyncMessage<T>) => void): () => void;\n\n /**\n * Optional: Connect to the sync mechanism\n * Some transports require explicit connection setup\n */\n connect?(): Promise<void>;\n\n /**\n * Optional: Disconnect from the sync mechanism\n */\n disconnect?(): void;\n\n /**\n * Optional: Check if connected\n */\n isConnected?(): boolean;\n}\n\n/**\n * NoOp sync adapter for single-context scenarios (no sync needed)\n */\nexport class NoOpSyncAdapter implements SyncAdapter {\n broadcast<T>(_message: StateSyncMessage<T>): void {\n // No-op: single context, no need to sync\n }\n\n onMessage<T>(_callback: (message: StateSyncMessage<T>) => void): () => void {\n // No-op: no messages will ever arrive\n return () => {\n // Empty cleanup function - nothing to clean up for null adapter\n };\n }\n}\n\n/**\n * Chrome runtime sync adapter for Chrome extensions\n * Uses chrome.runtime.sendMessage for cross-context messaging\n */\nexport class ChromeRuntimeSyncAdapter implements SyncAdapter {\n private listeners: Array<(message: StateSyncMessage<unknown>) => void> = [];\n private port: chrome.runtime.Port | null = null;\n\n constructor() {\n // Set up listener for incoming messages\n if (typeof chrome !== \"undefined\" && chrome.runtime) {\n chrome.runtime.onMessage.addListener((message, _sender, _sendResponse) => {\n if (message.type === \"STATE_SYNC\") {\n this.listeners.forEach((listener) => {\n listener(message);\n });\n }\n });\n }\n }\n\n broadcast<T>(message: StateSyncMessage<T>): void {\n if (typeof chrome === \"undefined\" || !chrome.runtime) {\n console.warn(\"[SyncAdapter] chrome.runtime not available\");\n return;\n }\n\n try {\n chrome.runtime.sendMessage({\n type: \"STATE_SYNC\",\n key: message.key,\n value: message.value,\n clock: message.clock,\n });\n } catch (error) {\n console.warn(\"[SyncAdapter] Failed to broadcast state update:\", error);\n }\n }\n\n onMessage<T>(callback: (message: StateSyncMessage<T>) => void): () => void {\n this.listeners.push(callback as (message: StateSyncMessage<unknown>) => void);\n\n // Return cleanup function\n return () => {\n const index = this.listeners.indexOf(\n callback as (message: StateSyncMessage<unknown>) => void\n );\n if (index > -1) {\n this.listeners.splice(index, 1);\n }\n };\n }\n\n connect(): Promise<void> {\n // Chrome runtime is always connected\n return Promise.resolve();\n }\n\n disconnect(): void {\n this.listeners = [];\n if (this.port) {\n this.port.disconnect();\n this.port = null;\n }\n }\n\n isConnected(): boolean {\n return typeof chrome !== \"undefined\" && !!chrome.runtime;\n }\n}\n\n/**\n * BroadcastChannel sync adapter for web apps (multi-tab)\n * Uses BroadcastChannel API for cross-tab messaging\n */\nexport class BroadcastChannelSyncAdapter implements SyncAdapter {\n private channel: BroadcastChannel | null = null;\n private listeners: Array<(message: StateSyncMessage<unknown>) => void> = [];\n\n constructor(channelName = \"polly-sync\") {\n if (typeof BroadcastChannel === \"undefined\") {\n console.warn(\"[SyncAdapter] BroadcastChannel not available\");\n } else {\n this.channel = new BroadcastChannel(channelName);\n\n this.channel.onmessage = (event) => {\n if (event.data.type === \"STATE_SYNC\") {\n this.listeners.forEach((listener) => {\n listener(event.data);\n });\n }\n };\n }\n }\n\n broadcast<T>(message: StateSyncMessage<T>): void {\n if (!this.channel) {\n console.warn(\"[SyncAdapter] BroadcastChannel not initialized\");\n return;\n }\n\n try {\n this.channel.postMessage({\n type: \"STATE_SYNC\",\n key: message.key,\n value: message.value,\n clock: message.clock,\n });\n } catch (error) {\n console.warn(\"[SyncAdapter] Failed to broadcast state update:\", error);\n }\n }\n\n onMessage<T>(callback: (message: StateSyncMessage<T>) => void): () => void {\n this.listeners.push(callback as (message: StateSyncMessage<unknown>) => void);\n\n // Return cleanup function\n return () => {\n const index = this.listeners.indexOf(\n callback as (message: StateSyncMessage<unknown>) => void\n );\n if (index > -1) {\n this.listeners.splice(index, 1);\n }\n };\n }\n\n connect(): Promise<void> {\n // BroadcastChannel connects immediately on construction\n return Promise.resolve();\n }\n\n disconnect(): void {\n this.listeners = [];\n if (this.channel) {\n this.channel.close();\n this.channel = null;\n }\n }\n\n isConnected(): boolean {\n return this.channel !== null;\n }\n}\n\n/**\n * Detect available sync mechanisms and create appropriate adapter\n */\nexport function createSyncAdapter(): SyncAdapter {\n // Chrome extension context - use chrome.runtime\n if (typeof chrome !== \"undefined\" && chrome.runtime) {\n return new ChromeRuntimeSyncAdapter();\n }\n\n // Web app with multi-tab support - use BroadcastChannel\n if (typeof BroadcastChannel !== \"undefined\") {\n return new BroadcastChannelSyncAdapter();\n }\n\n // Single context or no sync available - use NoOp\n return new NoOpSyncAdapter();\n}\n",
|
|
7
7
|
"/**\n * Runtime constraint checking for message handlers\n *\n * Provides runtime enforcement of $constraints() declarations.\n * Constraints can be checked before handler execution to ensure preconditions are met.\n */\n\ntype ConstraintFunction = (state: unknown) => boolean;\n\ntype Constraint = {\n requires?: ConstraintFunction;\n ensures?: ConstraintFunction;\n message?: string;\n};\n\n// Registry maps: stateField -> messageType -> constraint\nconst registry = new Map<string, Map<string, Constraint>>();\n\n/**\n * Register a constraint for runtime checking.\n *\n * @param field - State field this constraint applies to\n * @param messageType - Message type this constraint applies to\n * @param constraint - Constraint definition with requires/ensures predicates\n */\nexport function registerConstraint(\n field: string,\n messageType: string,\n constraint: Constraint\n): void {\n if (!registry.has(field)) {\n registry.set(field, new Map());\n }\n registry.get(field)?.set(messageType, constraint);\n}\n\n/**\n * Register multiple constraints for a state field.\n *\n * @param field - State field these constraints apply to\n * @param constraints - Map of messageType to constraint definitions\n */\nexport function registerConstraints(\n field: string,\n constraints: Record<\n string,\n {\n requires?: ConstraintFunction | string;\n ensures?: ConstraintFunction | string;\n message?: string;\n }\n >\n): void {\n for (const [messageType, constraint] of Object.entries(constraints)) {\n // Only register function-based constraints (strings are for TLA+ generation)\n const runtimeConstraint: Constraint = {\n message: constraint.message,\n };\n\n if (typeof constraint.requires === \"function\") {\n runtimeConstraint.requires = constraint.requires;\n }\n\n if (typeof constraint.ensures === \"function\") {\n runtimeConstraint.ensures = constraint.ensures;\n }\n\n // Only register if there's at least one function-based constraint\n if (runtimeConstraint.requires || runtimeConstraint.ensures) {\n registerConstraint(field, messageType, runtimeConstraint);\n }\n }\n}\n\n/**\n * Execute a constraint predicate and handle errors\n */\nfunction executeConstraint(\n predicate: ConstraintFunction,\n state: unknown,\n messageType: string,\n field: string,\n customMessage?: string,\n constraintType: \"Precondition\" | \"Postcondition\" = \"Precondition\"\n): void {\n try {\n const result = predicate(state);\n if (!result) {\n const message =\n customMessage || `${constraintType} failed for ${messageType} on field ${field}`;\n throw new Error(message);\n }\n } catch (error) {\n // Re-throw if it's already our constraint error\n if (error instanceof Error && error.message.includes(`${constraintType} failed`)) {\n throw error;\n }\n // Wrap other errors with context\n const message =\n customMessage || `${constraintType} check error for ${messageType} on field ${field}`;\n throw new Error(`${message}: ${error}`);\n }\n}\n\n/**\n * Check preconditions for a message type before handler execution.\n *\n * @param messageType - The message type being handled\n * @param state - Current state object to check against\n * @throws Error if any precondition fails\n */\nexport function checkPreconditions(messageType: string, state: unknown): void {\n for (const [field, constraints] of registry) {\n const constraint = constraints.get(messageType);\n if (constraint?.requires) {\n executeConstraint(\n constraint.requires,\n state,\n messageType,\n field,\n constraint.message,\n \"Precondition\"\n );\n }\n }\n}\n\n/**\n * Check postconditions for a message type after handler execution.\n *\n * @param messageType - The message type that was handled\n * @param state - Current state object to check against\n * @throws Error if any postcondition fails\n */\nexport function checkPostconditions(messageType: string, state: unknown): void {\n for (const [field, constraints] of registry) {\n const constraint = constraints.get(messageType);\n if (constraint?.ensures) {\n executeConstraint(\n constraint.ensures,\n state,\n messageType,\n field,\n constraint.message,\n \"Postcondition\"\n );\n }\n }\n}\n\n/**\n * Clear all registered constraints (useful for testing).\n */\nexport function clearConstraints(): void {\n registry.clear();\n}\n\n/**\n * Get all registered constraints (for debugging).\n */\nexport function getRegisteredConstraints(): Map<string, Map<string, Constraint>> {\n return new Map(registry);\n}\n\n/**\n * Check if runtime constraint checking is enabled.\n * Controlled via POLLY_RUNTIME_CONSTRAINTS environment variable.\n */\nexport function isRuntimeConstraintsEnabled(): boolean {\n // Check environment variable\n if (typeof process !== \"undefined\" && process.env) {\n return process.env[\"POLLY_RUNTIME_CONSTRAINTS\"] === \"true\";\n }\n\n // Check for Bun\n if (typeof Bun !== \"undefined\" && Bun.env) {\n return Bun.env[\"POLLY_RUNTIME_CONSTRAINTS\"] === \"true\";\n }\n\n // Default: disabled\n return false;\n}\n",
|
|
8
8
|
"// Chrome context menus adapter implementation\n\nimport type { ContextMenusAdapter } from \"../context-menus.adapter\";\n\nexport class ChromeContextMenusAdapter implements ContextMenusAdapter {\n async create(createProperties: chrome.contextMenus.CreateProperties): Promise<void> {\n return new Promise((resolve, reject) => {\n chrome.contextMenus.create(createProperties, () => {\n if (chrome.runtime.lastError) {\n reject(new Error(chrome.runtime.lastError.message));\n } else {\n resolve();\n }\n });\n });\n }\n\n async update(\n id: string,\n updateProperties: Omit<chrome.contextMenus.CreateProperties, \"id\">\n ): Promise<void> {\n await chrome.contextMenus.update(id, updateProperties);\n }\n\n async remove(id: string): Promise<void> {\n await chrome.contextMenus.remove(id);\n }\n\n async removeAll(): Promise<void> {\n await chrome.contextMenus.removeAll();\n }\n\n onClicked(\n callback: (info: chrome.contextMenus.OnClickData, tab?: chrome.tabs.Tab) => void\n ): void {\n chrome.contextMenus.onClicked.addListener(callback);\n }\n}\n",
|
|
9
9
|
"// Chrome offscreen adapter implementation\n\nimport type { CreateOffscreenDocumentParameters, OffscreenAdapter } from \"../offscreen.adapter\";\n\nexport class ChromeOffscreenAdapter implements OffscreenAdapter {\n async createDocument(parameters: CreateOffscreenDocumentParameters): Promise<void> {\n await chrome.offscreen.createDocument({\n url: parameters.url,\n reasons: parameters.reasons as chrome.offscreen.Reason[],\n justification: parameters.justification,\n });\n }\n\n async closeDocument(): Promise<void> {\n await chrome.offscreen.closeDocument();\n }\n\n async hasDocument(): Promise<boolean> {\n // Chrome doesn't provide a direct API, so we query for offscreen contexts\n const existingContexts = await chrome.runtime.getContexts({\n contextTypes: [\"OFFSCREEN_DOCUMENT\" as chrome.runtime.ContextType],\n });\n return existingContexts.length > 0;\n }\n}\n",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"// Background message router - central hub for all messaging\n\nimport type { PortAdapter } from \"@/shared/adapters\";\nimport { ErrorHandler, MessageRouterError } from \"@/shared/lib/errors\";\nimport {\n getMessageBus,\n isRoutedMessage,\n isRoutedResponse,\n type MessageBus,\n} from \"@/shared/lib/message-bus\";\nimport type { BaseMessage, Context, RoutedMessage, RoutedResponse } from \"@/shared/types/messages\";\n\nexport class MessageRouter<TMessage extends BaseMessage = BaseMessage> {\n // Singleton enforcement - use boolean to avoid type issues with generic class\n private static instanceExists = false;\n\n // MessageRouter works with any message type - it just routes them\n private bus: MessageBus<TMessage>;\n private errorHandler: ErrorHandler;\n\n // Track connections by context and tab\n public contentPorts = new Map<number, PortAdapter>(); // tabId → Port\n public devtoolsPorts = new Map<number, PortAdapter>(); // tabId → Port\n private popupPort: PortAdapter | null = null;\n private optionsPort: PortAdapter | null = null;\n private offscreenPort: PortAdapter | null = null;\n private sidePanelPort: PortAdapter | null = null;\n\n constructor(bus?: MessageBus<TMessage>) {\n // Enforce singleton pattern to prevent double message handling\n if (MessageRouter.instanceExists) {\n throw new Error(\n \"🔴 MessageRouter already exists!\\n\\n\" +\n \"Only ONE MessageRouter can exist in the background context.\\n\" +\n \"Multiple MessageRouter instances will cause handlers to execute multiple times.\\n\\n\" +\n \"Fix: Ensure createBackground() is only called once at application startup.\\n\" +\n 'Do not call getMessageBus(\"background\") separately - use the bus returned by createBackground().'\n );\n }\n\n // Mark instance as existing - no cast needed with boolean\n MessageRouter.instanceExists = true;\n\n // No cast needed - types match now\n this.bus = bus || getMessageBus<TMessage>(\"background\");\n this.errorHandler = new ErrorHandler(this.bus.adapters.logger);\n this.setupPortConnections();\n this.setupTabListeners();\n this.setupMessageHandlers();\n }\n\n private setupPortConnections(): void {\n this.bus.adapters.runtime.onConnect((port) => {\n this.bus.adapters.logger.debug(\"Port connected\", { port: port.name });\n\n // Parse port name to determine context and tab\n const [context, tabIdStr] = port.name.split(\"-\");\n\n switch (context) {\n case \"content\": {\n const contentTabId = Number.parseInt(tabIdStr || \"0\", 10);\n if (!Number.isNaN(contentTabId)) {\n this.contentPorts.set(contentTabId, port);\n port.onDisconnect(() => {\n this.bus.adapters.logger.debug(\"Content port disconnected\", {\n tabId: contentTabId,\n });\n this.contentPorts.delete(contentTabId);\n });\n }\n break;\n }\n\n case \"devtools\": {\n const devtoolsTabId = Number.parseInt(tabIdStr || \"0\", 10);\n if (!Number.isNaN(devtoolsTabId)) {\n this.devtoolsPorts.set(devtoolsTabId, port);\n port.onDisconnect(() => {\n this.bus.adapters.logger.debug(\"DevTools port disconnected\", {\n tabId: devtoolsTabId,\n });\n this.devtoolsPorts.delete(devtoolsTabId);\n });\n }\n break;\n }\n\n case \"popup\":\n this.popupPort = port;\n port.onDisconnect(() => {\n this.bus.adapters.logger.debug(\"Popup disconnected\");\n this.popupPort = null;\n });\n break;\n\n case \"options\":\n this.optionsPort = port;\n port.onDisconnect(() => {\n this.bus.adapters.logger.debug(\"Options disconnected\");\n this.optionsPort = null;\n });\n break;\n\n case \"offscreen\":\n this.offscreenPort = port;\n port.onDisconnect(() => {\n this.bus.adapters.logger.debug(\"Offscreen disconnected\");\n this.offscreenPort = null;\n });\n break;\n\n case \"sidepanel\":\n this.sidePanelPort = port;\n port.onDisconnect(() => {\n this.bus.adapters.logger.debug(\"Side panel disconnected\");\n this.sidePanelPort = null;\n });\n break;\n }\n\n // Handle messages from this port\n port.onMessage((message: unknown) => {\n if (isRoutedResponse<TMessage>(message)) {\n // This is a response, route back to original sender\n this.routeResponse(message);\n } else if (isRoutedMessage<TMessage>(message)) {\n // This is a request, route to target\n this.routeMessage(message);\n }\n });\n });\n }\n\n private setupTabListeners(): void {\n // Clean up ports when tabs are closed\n this.bus.adapters.tabs.onRemoved((tabId) => {\n this.bus.adapters.logger.debug(\"Tab removed, cleaning up ports\", {\n tabId,\n });\n this.contentPorts.delete(tabId);\n this.devtoolsPorts.delete(tabId);\n });\n\n // Track tab updates\n this.bus.adapters.tabs.onUpdated((tabId, changeInfo, tab) => {\n if (changeInfo.status === \"complete\") {\n this.bus.adapters.logger.debug(\"Tab loaded\", { tabId, url: tab.url });\n }\n });\n }\n\n private setupMessageHandlers(): void {\n // Handle messages that need routing\n this.bus.adapters.runtime.onMessage((message: unknown, _sender, sendResponse) => {\n if (isRoutedResponse<TMessage>(message)) {\n this.routeResponse(message);\n } else if (isRoutedMessage<TMessage>(message)) {\n this.routeMessage(message).then(sendResponse);\n }\n return true;\n });\n }\n\n public async routeMessage(message: RoutedMessage<TMessage>): Promise<unknown> {\n this.bus.adapters.logger.debug(\"Routing message\", {\n type: message.payload.type,\n source: message.source,\n targets: message.targets,\n tabId: message.tabId,\n });\n\n // Route to each target in the targets array\n const results: unknown[] = [];\n for (const target of message.targets) {\n const result = await this.routeToSingleTarget(message, target);\n results.push(result);\n }\n\n // If single target, return single result; otherwise return array\n return message.targets.length === 1 ? results[0] : results;\n }\n\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Message routing requires conditional logic for different targets\n private async routeToSingleTarget(\n message: RoutedMessage<TMessage>,\n target: Context\n ): Promise<unknown> {\n // Route to specific context\n switch (target) {\n case \"background\":\n // Message is for background, let MessageBus handle it\n return this.bus.handleMessage(message);\n\n case \"content\": {\n if (!message.tabId) {\n this.bus.adapters.logger.warn(\"Content target requires tabId\", {\n messageType: message.payload.type,\n });\n return { success: false, error: \"tabId required for content target\" };\n }\n const contentPort = this.contentPorts.get(message.tabId);\n if (contentPort) {\n contentPort.postMessage(message);\n return undefined;\n }\n this.bus.adapters.logger.warn(\"No content script port for tab\", {\n tabId: message.tabId,\n messageType: message.payload.type,\n });\n return { success: false, error: \"Content script not connected\" };\n }\n\n case \"devtools\": {\n if (!message.tabId) {\n this.bus.adapters.logger.warn(\"DevTools target requires tabId\", {\n messageType: message.payload.type,\n });\n return {\n success: false,\n error: \"tabId required for devtools target\",\n };\n }\n const devtoolsPort = this.devtoolsPorts.get(message.tabId);\n if (devtoolsPort) {\n devtoolsPort.postMessage(message);\n return undefined;\n }\n this.bus.adapters.logger.warn(\"No DevTools port for tab\", {\n tabId: message.tabId,\n messageType: message.payload.type,\n });\n return { success: false, error: \"DevTools not connected\" };\n }\n\n case \"popup\":\n if (this.popupPort) {\n this.popupPort.postMessage(message);\n return undefined;\n }\n this.bus.adapters.logger.warn(\"Popup not connected\", {\n messageType: message.payload.type,\n });\n return { success: false, error: \"Popup not connected\" };\n\n case \"options\":\n if (this.optionsPort) {\n this.optionsPort.postMessage(message);\n return undefined;\n }\n this.bus.adapters.logger.warn(\"Options not connected\", {\n messageType: message.payload.type,\n });\n return { success: false, error: \"Options not connected\" };\n\n case \"offscreen\":\n if (this.offscreenPort) {\n this.offscreenPort.postMessage(message);\n return undefined;\n }\n this.bus.adapters.logger.warn(\"Offscreen not connected\", {\n messageType: message.payload.type,\n });\n return { success: false, error: \"Offscreen not connected\" };\n\n case \"page\": {\n // Page script is not directly connected to background\n // Must route through content script\n if (!message.tabId) {\n this.bus.adapters.logger.warn(\"Page target requires tabId\", {\n messageType: message.payload.type,\n });\n return { success: false, error: \"tabId required for page target\" };\n }\n const contentPortForPage = this.contentPorts.get(message.tabId);\n if (contentPortForPage) {\n contentPortForPage.postMessage(message);\n return undefined;\n }\n this.bus.adapters.logger.warn(\"No content script to forward to page\", {\n tabId: message.tabId,\n messageType: message.payload.type,\n });\n return { success: false, error: \"Content script not connected\" };\n }\n\n case \"sidepanel\":\n if (this.sidePanelPort) {\n this.sidePanelPort.postMessage(message);\n return undefined;\n }\n this.bus.adapters.logger.warn(\"Side panel not connected\", {\n messageType: message.payload.type,\n });\n return { success: false, error: \"Side panel not connected\" };\n\n default:\n this.bus.adapters.logger.warn(\"Unknown target context\", {\n target,\n messageType: message.payload.type,\n });\n return { success: false, error: `Unknown target context: ${target}` };\n }\n }\n\n private routeResponse(response: RoutedResponse<TMessage>): void {\n // Responses are handled by MessageBus automatically via pending requests\n this.bus.adapters.logger.debug(\"Routing response\", {\n messageId: response.id,\n });\n }\n\n // Public API\n async sendToTab(tabId: number, message: RoutedMessage<TMessage>): Promise<void> {\n const port = this.contentPorts.get(tabId);\n if (port) {\n port.postMessage(message);\n } else {\n this.errorHandler.throw(\n new MessageRouterError(\"No content script connected to tab\", {\n tabId,\n messageType: message.payload.type,\n })\n );\n }\n }\n\n // Broadcast is now just routing with targets array containing all contexts\n broadcastToAll(message: RoutedMessage<TMessage>): void {\n // Message already has targets array, just route it\n this.routeMessage(message);\n }\n\n isContentScriptConnected(tabId: number): boolean {\n return this.contentPorts.has(tabId);\n }\n\n getConnectedTabs(): number[] {\n return Array.from(this.contentPorts.keys());\n }\n\n /**\n * Reset singleton instance. Only for testing purposes.\n * @internal\n */\n static resetInstance(): void {\n MessageRouter.instanceExists = false;\n }\n}\n",
|
|
24
24
|
"// Background helper - simplifies background script setup\n\nimport type { ExtensionAdapters } from \"../shared/adapters\";\nimport type { MessageBus } from \"../shared/lib/message-bus\";\nimport { getMessageBus } from \"../shared/lib/message-bus\";\nimport type { BaseMessage, ExtensionMessage } from \"../shared/types/messages\";\nimport { MessageRouter } from \"./message-router\";\n\n/**\n * Initialize background script with message router.\n *\n * This is the recommended way to setup your background script.\n * It automatically creates the message bus and router.\n *\n * @param adapters - Optional extension adapters. If not provided, Chrome adapters will be used.\n * @returns MessageBus instance for registering handlers\n *\n * @example\n * ```typescript\n * // src/background/index.ts\n * import { createBackground } from '@fairfox/web-ext/background'\n *\n * const bus = createBackground()\n *\n * bus.on('MY_MESSAGE', async (payload) => {\n * return { success: true }\n * })\n * ```\n *\n * @example With custom message types\n * ```typescript\n * type MyMessages = { type: 'MY_MESSAGE'; data: string }\n * const bus = createBackground<MyMessages>()\n * ```\n *\n * @example With mock adapters for testing\n * ```typescript\n * import { createMockAdapters } from '@fairfox/polly/test'\n * const bus = createBackground(createMockAdapters())\n * ```\n */\nexport function createBackground<TMessage extends BaseMessage = ExtensionMessage>(\n adapters?: ExtensionAdapters\n): MessageBus<TMessage> {\n // Create MessageBus without setting up listeners (MessageRouter will handle that)\n const bus = getMessageBus<TMessage>(\"background\", adapters, { skipListenerSetup: true });\n\n // Initialize MessageRouter to handle all message routing (generic type matches)\n new MessageRouter<TMessage>(bus);\n\n return bus;\n}\n\nexport { getMessageBus } from \"../shared/lib/message-bus\";\n// Re-export for convenience\nexport { MessageRouter } from \"./message-router\";\n"
|
|
25
25
|
],
|
|
26
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,iBAA2C;AAAA,EAC9C;AAAA,EACA,YAAY;AAAA,EACZ,YAAyC;AAAA,EAEjD,WAAW,CAAC,SAAS,eAAe;AAAA,IAClC,KAAK,SAAS;AAAA;AAAA,EAGR,KAAK,GAAyB;AAAA,IACpC,IAAI,KAAK;AAAA,MAAW,OAAO,KAAK;AAAA,IAEhC,KAAK,YAAY,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MAChD,MAAM,UAAU,UAAU,KAAK,KAAK,QAAQ,CAAC;AAAA,MAE7C,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,MAC5C,QAAQ,YAAY,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAEhD,QAAQ,kBAAkB,CAAC,UAAU;AAAA,QACnC,MAAM,KAAM,MAAM,OAA4B;AAAA,QAC9C,IAAI,CAAC,GAAG,iBAAiB,SAAS,KAAK,SAAS,GAAG;AAAA,UACjD,GAAG,kBAAkB,KAAK,SAAS;AAAA,QACrC;AAAA;AAAA,KAEH;AAAA,IAED,OAAO,KAAK;AAAA;AAAA,OAGR,IAAgB,CAAC,MAA4C;AAAA,IACjE,IAAI;AAAA,MACF,MAAM,KAAK,MAAM,KAAK,MAAM;AAAA,MAC5B,MAAM,SAA4B,CAAC;AAAA,MAEnC,MAAM,QAAQ,IACZ,KAAK,IACH,CAAC,QACC,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,SAAS,GAAG,UAAU;AAAA,QAC/D,MAAM,QAAQ,YAAY,YAAY,KAAK,SAAS;AAAA,QACpD,MAAM,UAAU,MAAM,IAAI,GAAG;AAAA,QAE7B,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,QAC5C,QAAQ,YAAY,MAAM;AAAA,UACxB,IAAI,QAAQ,WAAW,WAAW;AAAA,YAChC,OAAO,OAAO,QAAQ;AAAA,UACxB;AAAA,UACA,QAAQ;AAAA;AAAA,OAEX,CACL,CACF;AAAA,MAEA,OAAO;AAAA,MACP,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,iCAAiC,KAAK;AAAA,MACnD,OAAO,CAAC;AAAA;AAAA;AAAA,OAIN,IAAG,CAAC,OAA+C;AAAA,IACvD,IAAI;AAAA,MACF,MAAM,KAAK,MAAM,KAAK,MAAM;AAAA,MAC5B,MAAM,QAAQ,IACZ,OAAO,QAAQ,KAAK,EAAE,IACpB,EAAE,KAAK,WACL,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,SAAS,GAAG,WAAW;AAAA,QAChE,MAAM,QAAQ,YAAY,YAAY,KAAK,SAAS;AAAA,QACpD,MAAM,UAAU,MAAM,IAAI,OAAO,GAAG;AAAA,QAEpC,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,QAC5C,QAAQ,YAAY,MAAM,QAAQ;AAAA,OACnC,CACL,CACF;AAAA,MACA,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,iCAAiC,KAAK;AAAA;AAAA;AAAA,OAIjD,OAAM,CAAC,MAA+B;AAAA,IAC1C,IAAI;AAAA,MACF,MAAM,KAAK,MAAM,KAAK,MAAM;AAAA,MAC5B,MAAM,QAAQ,IACZ,KAAK,IACH,CAAC,QACC,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,SAAS,GAAG,WAAW;AAAA,QAChE,MAAM,QAAQ,YAAY,YAAY,KAAK,SAAS;AAAA,QACpD,MAAM,UAAU,MAAM,OAAO,GAAG;AAAA,QAEhC,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,QAC5C,QAAQ,YAAY,MAAM,QAAQ;AAAA,OACnC,CACL,CACF;AAAA,MACA,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,oCAAoC,KAAK;AAAA;AAAA;AAG5D;AAAA;AAKO,MAAM,sBAA+C;AAAA,OACpD,IAAgB,CAAC,MAA4C;AAAA,IACjE,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,IAAI;AAAA,MACF,OAAQ,MAAM,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,MAC3C,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,sCAAsC,KAAK;AAAA,MACxD,OAAO,CAAC;AAAA;AAAA;AAAA,OAIN,IAAG,CAAC,OAA+C;AAAA,IACvD,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,MAAM,OAAO,QAAQ,MAAM,IAAI,KAAK;AAAA,MACpC,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,sCAAsC,KAAK;AAAA;AAAA;AAAA,OAItD,OAAM,CAAC,MAA+B;AAAA,IAC1C,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,MAAM,OAAO,QAAQ,MAAM,OAAO,IAAI;AAAA,MACtC,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,yCAAyC,KAAK;AAAA;AAAA;AAGjE;AAAA;AAKO,MAAM,qBAA+C;AAAA,EAClD,UAAU,IAAI;AAAA,OAEhB,IAAgB,CAAC,MAA4C;AAAA,IACjE,MAAM,SAA4B,CAAC;AAAA,IACnC,WAAW,OAAO,MAAM;AAAA,MACtB,MAAM,QAAQ,KAAK,QAAQ,IAAI,GAAG;AAAA,MAClC,IAAI,UAAU,WAAW;AAAA,QACvB,OAAO,OAAO;AAAA,MAChB;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAAA,OAGH,IAAG,CAAC,OAA+C;AAAA,IACvD,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,KAAK,QAAQ,IAAI,KAAK,KAAK;AAAA,IAC7B;AAAA;AAAA,OAGI,OAAM,CAAC,MAA+B;AAAA,IAC1C,WAAW,OAAO,MAAM;AAAA,MACtB,KAAK,QAAQ,OAAO,GAAG;AAAA,IACzB;AAAA;AAEJ;AAKO,SAAS,oBAAoB,GAAmB;AAAA,EAErD,IAAI,OAAO,WAAW,eAAe,OAAO,WAAW,OAAO,SAAS;AAAA,IACrE,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,IAAI,OAAO,cAAc,aAAa;AAAA,IACpC,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,OAAO,IAAI;AAAA;;;;;;;;;;;ACpIN,MAAM,gBAAuC;AAAA,EAClD,SAAY,CAAC,UAAqC;AAAA,EAIlD,SAAY,CAAC,WAA+D;AAAA,IAE1E,OAAO,MAAM;AAAA;AAIjB;AAAA;AAMO,MAAM,yBAAgD;AAAA,EACnD,YAAiE,CAAC;AAAA,EAClE,OAAmC;AAAA,EAE3C,WAAW,GAAG;AAAA,IAEZ,IAAI,OAAO,WAAW,eAAe,OAAO,SAAS;AAAA,MACnD,OAAO,QAAQ,UAAU,YAAY,CAAC,SAAS,SAAS,kBAAkB;AAAA,QACxE,IAAI,QAAQ,SAAS,cAAc;AAAA,UACjC,KAAK,UAAU,QAAQ,CAAC,aAAa;AAAA,YACnC,SAAS,OAAO;AAAA,WACjB;AAAA,QACH;AAAA,OACD;AAAA,IACH;AAAA;AAAA,EAGF,SAAY,CAAC,SAAoC;AAAA,IAC/C,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD,QAAQ,KAAK,4CAA4C;AAAA,MACzD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,OAAO,QAAQ,YAAY;AAAA,QACzB,MAAM;AAAA,QACN,KAAK,QAAQ;AAAA,QACb,OAAO,QAAQ;AAAA,QACf,OAAO,QAAQ;AAAA,MACjB,CAAC;AAAA,MACD,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,mDAAmD,KAAK;AAAA;AAAA;AAAA,EAIzE,SAAY,CAAC,UAA8D;AAAA,IACzE,KAAK,UAAU,KAAK,QAAwD;AAAA,IAG5E,OAAO,MAAM;AAAA,MACX,MAAM,QAAQ,KAAK,UAAU,QAC3B,QACF;AAAA,MACA,IAAI,QAAQ,IAAI;AAAA,QACd,KAAK,UAAU,OAAO,OAAO,CAAC;AAAA,MAChC;AAAA;AAAA;AAAA,EAIJ,OAAO,GAAkB;AAAA,IAEvB,OAAO,QAAQ,QAAQ;AAAA;AAAA,EAGzB,UAAU,GAAS;AAAA,IACjB,KAAK,YAAY,CAAC;AAAA,IAClB,IAAI,KAAK,MAAM;AAAA,MACb,KAAK,KAAK,WAAW;AAAA,MACrB,KAAK,OAAO;AAAA,IACd;AAAA;AAAA,EAGF,WAAW,GAAY;AAAA,IACrB,OAAO,OAAO,WAAW,eAAe,CAAC,CAAC,OAAO;AAAA;AAErD;AAAA;AAMO,MAAM,4BAAmD;AAAA,EACtD,UAAmC;AAAA,EACnC,YAAiE,CAAC;AAAA,EAE1E,WAAW,CAAC,cAAc,cAAc;AAAA,IACtC,IAAI,OAAO,qBAAqB,aAAa;AAAA,MAC3C,KAAK,UAAU,IAAI,iBAAiB,WAAW;AAAA,MAE/C,KAAK,QAAQ,YAAY,CAAC,UAAU;AAAA,QAClC,IAAI,MAAM,KAAK,SAAS,cAAc;AAAA,UACpC,KAAK,UAAU,QAAQ,CAAC,aAAa;AAAA,YACnC,SAAS,MAAM,IAAI;AAAA,WACpB;AAAA,QACH;AAAA;AAAA,IAEJ,EAAO;AAAA,MACL,QAAQ,KAAK,8CAA8C;AAAA;AAAA;AAAA,EAI/D,SAAY,CAAC,SAAoC;AAAA,IAC/C,IAAI,CAAC,KAAK,SAAS;AAAA,MACjB,QAAQ,KAAK,gDAAgD;AAAA,MAC7D;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,KAAK,QAAQ,YAAY;AAAA,QACvB,MAAM;AAAA,QACN,KAAK,QAAQ;AAAA,QACb,OAAO,QAAQ;AAAA,QACf,OAAO,QAAQ;AAAA,MACjB,CAAC;AAAA,MACD,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,mDAAmD,KAAK;AAAA;AAAA;AAAA,EAIzE,SAAY,CAAC,UAA8D;AAAA,IACzE,KAAK,UAAU,KAAK,QAAwD;AAAA,IAG5E,OAAO,MAAM;AAAA,MACX,MAAM,QAAQ,KAAK,UAAU,QAC3B,QACF;AAAA,MACA,IAAI,QAAQ,IAAI;AAAA,QACd,KAAK,UAAU,OAAO,OAAO,CAAC;AAAA,MAChC;AAAA;AAAA;AAAA,EAIJ,OAAO,GAAkB;AAAA,IAEvB,OAAO,QAAQ,QAAQ;AAAA;AAAA,EAGzB,UAAU,GAAS;AAAA,IACjB,KAAK,YAAY,CAAC;AAAA,IAClB,IAAI,KAAK,SAAS;AAAA,MAChB,KAAK,QAAQ,MAAM;AAAA,MACnB,KAAK,UAAU;AAAA,IACjB;AAAA;AAAA,EAGF,WAAW,GAAY;AAAA,IACrB,OAAO,KAAK,YAAY;AAAA;AAE5B;AAKO,SAAS,iBAAiB,GAAgB;AAAA,EAE/C,IAAI,OAAO,WAAW,eAAe,OAAO,SAAS;AAAA,IACnD,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,IAAI,OAAO,qBAAqB,aAAa;AAAA,IAC3C,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,OAAO,IAAI;AAAA;;;;;;;;;;;;;AC7NN,SAAS,kBAAkB,CAChC,OACA,aACA,YACM;AAAA,EACN,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG;AAAA,IACxB,SAAS,IAAI,OAAO,IAAI,GAAK;AAAA,EAC/B;AAAA,EACA,SAAS,IAAI,KAAK,GAAG,IAAI,aAAa,UAAU;AAAA;AAS3C,SAAS,mBAAmB,CACjC,OACA,aAQM;AAAA,EACN,YAAY,aAAa,eAAe,OAAO,QAAQ,WAAW,GAAG;AAAA,IAEnE,MAAM,oBAAgC;AAAA,MACpC,SAAS,WAAW;AAAA,IACtB;AAAA,IAEA,IAAI,OAAO,WAAW,aAAa,YAAY;AAAA,MAC7C,kBAAkB,WAAW,WAAW;AAAA,IAC1C;AAAA,IAEA,IAAI,OAAO,WAAW,YAAY,YAAY;AAAA,MAC5C,kBAAkB,UAAU,WAAW;AAAA,IACzC;AAAA,IAGA,IAAI,kBAAkB,YAAY,kBAAkB,SAAS;AAAA,MAC3D,mBAAmB,OAAO,aAAa,iBAAiB;AAAA,IAC1D;AAAA,EACF;AAAA;AAMF,SAAS,iBAAiB,CACxB,WACA,OACA,aACA,OACA,eACA,iBAAmD,gBAC7C;AAAA,EACN,IAAI;AAAA,IACF,MAAM,SAAS,UAAU,KAAK;AAAA,IAC9B,IAAI,CAAC,QAAQ;AAAA,MACX,MAAM,UACJ,iBAAiB,GAAG,6BAA6B,wBAAwB;AAAA,MAC3E,MAAM,IAAI,MAAM,OAAO;AAAA,IACzB;AAAA,IACA,OAAO,OAAO;AAAA,IAEd,IAAI,iBAAiB,SAAS,MAAM,QAAQ,SAAS,GAAG,uBAAuB,GAAG;AAAA,MAChF,MAAM;AAAA,IACR;AAAA,IAEA,MAAM,UACJ,iBAAiB,GAAG,kCAAkC,wBAAwB;AAAA,IAChF,MAAM,IAAI,MAAM,GAAG,YAAY,OAAO;AAAA;AAAA;AAWnC,SAAS,kBAAkB,CAAC,aAAqB,OAAsB;AAAA,EAC5E,YAAY,OAAO,gBAAgB,UAAU;AAAA,IAC3C,MAAM,aAAa,YAAY,IAAI,WAAW;AAAA,IAC9C,IAAI,YAAY,UAAU;AAAA,MACxB,kBACE,WAAW,UACX,OACA,aACA,OACA,WAAW,SACX,cACF;AAAA,IACF;AAAA,EACF;AAAA;AAUK,SAAS,mBAAmB,CAAC,aAAqB,OAAsB;AAAA,EAC7E,YAAY,OAAO,gBAAgB,UAAU;AAAA,IAC3C,MAAM,aAAa,YAAY,IAAI,WAAW;AAAA,IAC9C,IAAI,YAAY,SAAS;AAAA,MACvB,kBACE,WAAW,SACX,OACA,aACA,OACA,WAAW,SACX,eACF;AAAA,IACF;AAAA,EACF;AAAA;AAMK,SAAS,gBAAgB,GAAS;AAAA,EACvC,SAAS,MAAM;AAAA;AAMV,SAAS,wBAAwB,GAAyC;AAAA,EAC/E,OAAO,IAAI,IAAI,QAAQ;AAAA;AAOlB,SAAS,2BAA2B,GAAY;AAAA,EAErD,IAAI,OAAO,YAAY,eAAe,QAAQ,KAAK;AAAA,IACjD,OAAO,QAAQ,IAAI,iCAAiC;AAAA,EACtD;AAAA,EAGA,IAAI,OAAO,QAAQ,eAAe,IAAI,KAAK;AAAA,IACzC,OAAO,IAAI,IAAI,iCAAiC;AAAA,EAClD;AAAA,EAGA,OAAO;AAAA;AAAA,IApKH;AAAA;AAAA,aAAW,IAAI;AAAA;;;ACZd,MAAM,0BAAyD;AAAA,OAC9D,OAAM,CAAC,kBAAuE;AAAA,IAClF,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,OAAO,aAAa,OAAO,kBAAkB,MAAM;AAAA,QACjD,IAAI,OAAO,QAAQ,WAAW;AAAA,UAC5B,OAAO,IAAI,MAAM,OAAO,QAAQ,UAAU,OAAO,CAAC;AAAA,QACpD,EAAO;AAAA,UACL,QAAQ;AAAA;AAAA,OAEX;AAAA,KACF;AAAA;AAAA,OAGG,OAAM,CACV,IACA,kBACe;AAAA,IACf,MAAM,OAAO,aAAa,OAAO,IAAI,gBAAgB;AAAA;AAAA,OAGjD,OAAM,CAAC,IAA2B;AAAA,IACtC,MAAM,OAAO,aAAa,OAAO,EAAE;AAAA;AAAA,OAG/B,UAAS,GAAkB;AAAA,IAC/B,MAAM,OAAO,aAAa,UAAU;AAAA;AAAA,EAGtC,SAAS,CACP,UACM;AAAA,IACN,OAAO,aAAa,UAAU,YAAY,QAAQ;AAAA;AAEtD;;;ACjCO,MAAM,uBAAmD;AAAA,OACxD,eAAc,CAAC,YAA8D;AAAA,IACjF,MAAM,OAAO,UAAU,eAAe;AAAA,MACpC,KAAK,WAAW;AAAA,MAChB,SAAS,WAAW;AAAA,MACpB,eAAe,WAAW;AAAA,IAC5B,CAAC;AAAA;AAAA,OAGG,cAAa,GAAkB;AAAA,IACnC,MAAM,OAAO,UAAU,cAAc;AAAA;AAAA,OAGjC,YAAW,GAAqB;AAAA,IAEpC,MAAM,mBAAmB,MAAM,OAAO,QAAQ,YAAY;AAAA,MACxD,cAAc,CAAC,oBAAkD;AAAA,IACnE,CAAC;AAAA,IACD,OAAO,iBAAiB,SAAS;AAAA;AAErC;;;ACRO,MAAM,qBAA+C;AAAA,EAClD,mBAAmB,IAAI;AAAA,SAChB,gBAAgB;AAAA,EAE/B,WAAc,CAAC,SAA8B;AAAA,IAC3C,OAAO,OAAO,QAAQ,YAAY,OAAO;AAAA;AAAA,EAG3C,SAAS,CACP,UAKM;AAAA,IACN,MAAM,kBAAkB,CACtB,SACA,QACA,iBACG;AAAA,MACH,MAAM,eAA8B;AAAA,WAC9B,OAAO,OAAO;AAAA,UAChB,KAAK;AAAA,YACH,IAAI,OAAO,IAAI,MAAM;AAAA,YACrB,KAAK,OAAO,IAAI,OAAO;AAAA,YACvB,OAAO,OAAO,IAAI,SAAS;AAAA,UAC7B;AAAA,QACF;AAAA,WACI,OAAO,YAAY,aAAa,EAAE,SAAS,OAAO,QAAQ;AAAA,WAC1D,OAAO,OAAO,EAAE,KAAK,OAAO,IAAI;AAAA,MACtC;AAAA,MACA,OAAO,SAAS,SAAS,cAAc,YAAY;AAAA;AAAA,IAGrD,KAAK,iBAAiB,IAAI,UAAU,eAAe;AAAA,IAGnD,OAAO,QAAQ,UAAU,YACvB,eAKF;AAAA,IAGA,qBAAqB;AAAA,IAErB,IAAI,qBAAqB,gBAAgB,GAAG;AAAA,MAC1C,QAAQ,KACN,gBAAe,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oDACtC;AAAA,IACF;AAAA;AAAA,EAGF,qBAAqB,CACnB,UAKM;AAAA,IACN,MAAM,kBAAkB,KAAK,iBAAiB,IAAI,QAAQ;AAAA,IAC1D,IAAI,iBAAiB;AAAA,MAEnB,OAAO,QAAQ,UAAU,eACvB,eAKF;AAAA,MACA,KAAK,iBAAiB,OAAO,QAAQ;AAAA,MAGrC,qBAAqB,gBAAgB,KAAK,IAAI,GAAG,qBAAqB,gBAAgB,CAAC;AAAA,IACzF;AAAA;AAAA,EAGF,OAAO,CAAC,MAA2B;AAAA,IACjC,MAAM,OAAO,OAAO,QAAQ,QAAQ,EAAE,KAAK,CAAC;AAAA,IAC5C,OAAO,IAAI,kBAAkB,IAAI;AAAA;AAAA,EAGnC,SAAS,CAAC,UAA6C;AAAA,IACrD,OAAO,QAAQ,UAAU,YAAY,CAAC,SAAS;AAAA,MAC7C,SAAS,IAAI,kBAAkB,IAAI,CAAC;AAAA,KACrC;AAAA;AAAA,EAGH,MAAM,CAAC,MAAsB;AAAA,IAC3B,OAAO,OAAO,QAAQ,OAAO,IAAI;AAAA;AAAA,EAGnC,KAAK,GAAW;AAAA,IACd,OAAO,OAAO,QAAQ;AAAA;AAAA,EAGxB,eAAe,GAAS;AAAA,IACtB,OAAO,QAAQ,gBAAgB;AAAA;AAEnC;AAAA;AAEA,MAAM,kBAAyC;AAAA,EAMzB;AAAA,EALZ,YAAY;AAAA,IAClB,SAAS,IAAI;AAAA,IACb,YAAY,IAAI;AAAA,EAClB;AAAA,EAEA,WAAW,CAAS,MAA2B;AAAA,IAA3B;AAAA,IAElB,KAAK,KAAK,UAAU,YAAY,CAAC,YAAY;AAAA,MAC3C,WAAW,YAAY,KAAK,UAAU,SAAS;AAAA,QAC7C,SAAS,OAAO;AAAA,MAClB;AAAA,KACD;AAAA,IAED,KAAK,KAAK,aAAa,YAAY,MAAM;AAAA,MACvC,WAAW,YAAY,KAAK,UAAU,YAAY;AAAA,QAChD,SAAS;AAAA,MACX;AAAA,KACD;AAAA;AAAA,MAGC,IAAI,GAAW;AAAA,IACjB,OAAO,KAAK,KAAK;AAAA;AAAA,EAGnB,WAAW,CAAC,SAAwB;AAAA,IAClC,KAAK,KAAK,YAAY,OAAO;AAAA;AAAA,EAG/B,SAAS,CAAC,UAA4C;AAAA,IACpD,KAAK,UAAU,QAAQ,IAAI,QAAQ;AAAA;AAAA,EAGrC,YAAY,CAAC,UAA4B;AAAA,IACvC,KAAK,UAAU,WAAW,IAAI,QAAQ;AAAA;AAAA,EAGxC,UAAU,GAAS;AAAA,IACjB,KAAK,KAAK,WAAW;AAAA;AAEzB;;;AC3JO,MAAM,qBAA+C;AAAA,OACpD,IAAgC,CAAC,MAA4C;AAAA,IACjF,IAAI,SAAS,MAAM;AAAA,MACjB,OAAQ,MAAM,OAAO,QAAQ,MAAM,IAAI;AAAA,IACzC;AAAA,IACA,OAAQ,MAAM,OAAO,QAAQ,MAAM,IAAI,IAAa;AAAA;AAAA,OAGhD,IAAG,CAAC,OAA+C;AAAA,IACvD,MAAM,OAAO,QAAQ,MAAM,IAAI,KAAK;AAAA;AAAA,OAGhC,OAAM,CAAC,MAAwC;AAAA,IACnD,MAAM,OAAO,QAAQ,MAAM,OAAO,IAAI;AAAA;AAAA,OAGlC,MAAK,GAAkB;AAAA,IAC3B,MAAM,OAAO,QAAQ,MAAM,MAAM;AAAA;AAAA,EAGnC,SAAS,CAAC,UAAqE;AAAA,IAC7E,OAAO,QAAQ,UAAU,YAAY,CAAC,SAAS,aAAa;AAAA,MAC1D,MAAM,gBAAgC,CAAC;AAAA,MACvC,YAAY,KAAK,WAAW,OAAO,QAAQ,OAAO,GAAG;AAAA,QACnD,cAAc,OAAO;AAAA,UACnB,UAAU,OAAO;AAAA,UACjB,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,MACA,SAAS,eAAe,QAAQ;AAAA,KACjC;AAAA;AAEL;;;AChCO,MAAM,kBAAyC;AAAA,OAC9C,MAAK,CAAC,WAA8D;AAAA,IACxE,OAAO,OAAO,KAAK,MAAM,SAAS;AAAA;AAAA,OAG9B,IAAG,CAAC,OAAyC;AAAA,IACjD,OAAO,OAAO,KAAK,IAAI,KAAK;AAAA;AAAA,OAGxB,YAAW,CAAC,OAAe,SAAoC;AAAA,IACnE,OAAO,OAAO,KAAK,YAAY,OAAO,OAAO;AAAA;AAAA,OAGzC,OAAM,CAAC,OAAe,kBAA6D;AAAA,IACvF,IAAI,kBAAkB;AAAA,MACpB,MAAM,OAAO,KAAK,OAAO,OAAO,gBAAgB;AAAA,IAClD,EAAO;AAAA,MACL,MAAM,OAAO,KAAK,OAAO,KAAK;AAAA;AAAA;AAAA,EAIlC,SAAS,CAAC,UAAgF;AAAA,IACxF,OAAO,KAAK,UAAU,YAAY,QAAQ;AAAA;AAAA,EAG5C,SAAS,CACP,UACM;AAAA,IACN,OAAO,KAAK,UAAU,YAAY,QAAQ;AAAA;AAAA,EAG5C,WAAW,CAAC,UAA2E;AAAA,IACrF,OAAO,KAAK,YAAY,YAAY,QAAQ;AAAA;AAAA,OAGxC,OAAM,CAAC,kBAA0E;AAAA,IACrF,OAAO,OAAO,KAAK,OAAO,gBAAgB;AAAA;AAE9C;;;ACtCO,MAAM,oBAA6C;AAAA,EACxD,WAAW,CAAC,SAAkB,cAA4B;AAAA,IACxD,OAAO,YAAY,SAAS,YAAY;AAAA;AAAA,EAG1C,gBAAgB,CAAC,MAAiB,UAA+C;AAAA,IAC/E,OAAO,iBAAiB,MAAM,QAAyB;AAAA;AAAA,EAGzD,mBAAmB,CAAC,MAAiB,UAA+C;AAAA,IAClF,OAAO,oBAAoB,MAAM,QAAyB;AAAA;AAE9D;;;ACVO,MAAM,oBAA4C;AAAA,EACvD,KAAK,CAAC,OAAqB,MAAuC;AAAA,IAChE,OAAO,MAAM,OAAO,IAAI;AAAA;AAE5B;;;AC8BO,MAAM,qBAA8C;AAAA,EAE/C;AAAA,EACA;AAAA,EACA;AAAA,EAHV,WAAW,CACD,SACA,eACA,SACR;AAAA,IAHQ;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGV,KAAK,CAAC,SAAiB,SAAyC;AAAA,IAC9D,KAAK,QAAQ,SAAS,SAAS,OAAO;AAAA;AAAA,EAGxC,IAAI,CAAC,SAAiB,SAAyC;AAAA,IAC7D,KAAK,QAAQ,QAAQ,SAAS,OAAO;AAAA;AAAA,EAGvC,IAAI,CAAC,SAAiB,SAAyC;AAAA,IAC7D,KAAK,QAAQ,QAAQ,SAAS,OAAO;AAAA;AAAA,EAGvC,KAAK,CAAC,SAAiB,OAAe,SAAyC;AAAA,IAC7E,KAAK,QAAQ,SAAS,SAAS,SAAS,KAAK;AAAA;AAAA,EAG/C,GAAG,CAAC,OAAiB,SAAiB,SAAyC;AAAA,IAC7E,KAAK,QAAQ,OAAO,SAAS,OAAO;AAAA;AAAA,EAG9B,OAAO,CACb,OACA,SACA,SACA,OACM;AAAA,IAEN,IAAI,KAAK,SAAS,eAAe;AAAA,MAC/B,MAAM,gBAAgB,QAAQ,UAAU,QAAQ;AAAA,MAChD,cAAc,IAAI,KAAK,kBAAkB,SAAS,WAAW,IAAI,SAAS,EAAE;AAAA,IAC9E;AAAA,IAGA,MAAM,aAAa;AAAA,MACjB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK,IAAI;AAAA,IACtB;AAAA,IAGA,KAAK,QAAQ,YAAY,UAAU,EAAE,MAAM,CAAC,cAAc;AAAA,MAExD,IAAI,KAAK,SAAS,sBAAsB,OAAO;AAAA,QAC7C,QAAQ,OAAO,IAAI,KAAK,kBAAkB,WAAW,WAAW,IAAI,SAAS,EAAE;AAAA,QAC/E,QAAQ,KAAK,+BAA+B,SAAS;AAAA,MACvD;AAAA,KACD;AAAA;AAEL;;;AChCO,SAAS,mBAAmB,CAAC,UAA0B,CAAC,GAAkB;AAAA,EAE/E,IAAI,QAAQ,WAAW,QAAQ,MAAM;AAAA,IACnC,OAAO;AAAA,MACL,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,IAChB;AAAA,EACF;AAAA,EAGA,MAAM,UAAU,QAAQ,WAAW,qBAAqB;AAAA,EAGxD,IAAI;AAAA,EAEJ,IAAI,QAAQ,MAAM;AAAA,IAChB,OAAO,QAAQ;AAAA,EACjB,EAAO,SAAI,QAAQ,WAAW;AAAA,IAE5B,QAAQ;AAAA,IACR,OAAO,IAAI;AAAA,EACb,EAAO;AAAA,IAEL,OAAO,kBAAkB;AAAA;AAAA,EAG3B,OAAO,EAAE,SAAS,KAAK;AAAA;AAMlB,SAAS,oBAAoB,GAAkB;AAAA,EACpD,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,EACZ;AAAA;AAMK,SAAS,iBAAiB,CAC/B,UAA0E,CAAC,GAC5D;AAAA,EACf,QAAQ;AAAA,EACR,QAAQ,2DAA6B;AAAA,EAErC,MAAM,UAAU,IAAI,kBAAiB,QAAQ,MAAM;AAAA,EAEnD,MAAM,OAAO,QAAQ,YACjB,IAAI,mBACJ,IAAI,6BAA4B,QAAQ,WAAW;AAAA,EAEvD,OAAO,EAAE,SAAS,KAAK;AAAA;AAMlB,SAAS,kBAAkB,GAAkB;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,EACZ;AAAA;AAMK,SAAS,kBAAkB,GAAkB;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,EACZ;AAAA;;;ACjHK,SAAS,qBAAoB,CAClC,SACA,SACmB;AAAA,EACnB,MAAM,WAAU,IAAI;AAAA,EAEpB,OAAO;AAAA,IACL;AAAA,IACA,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,IACV,QAAQ,IAAI;AAAA,IACZ,WAAW,IAAI;AAAA,IACf,cAAc,IAAI;AAAA,IAClB,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI,qBAAqB,UAAS,SAAS;AAAA,SAC7C,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,MACnF,mBAAmB;AAAA,IACrB,CAAC;AAAA,EACH;AAAA;;;ACnCK,IAAM,eAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAYO,IAAM,kBAA4B;AAAA,EACvC,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,iBAAiB;AACnB;;;AC1CO,MAAM,uBAAuB,MAAM;AAAA,EAGtB;AAAA,EACA;AAAA,EAHlB,WAAW,CACT,SACgB,MACA,SAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAHG;AAAA,IACA;AAAA,IAGhB,KAAK,OAAO,KAAK,YAAY;AAAA,IAC7B,MAAM,oBAAoB,MAAM,KAAK,WAAW;AAAA;AAEpD;AAAA;AAKO,MAAM,qBAAqB,eAAe;AAAA,EAG7B;AAAA,EAFlB,WAAW,CACT,SACgB,WAChB,SACA;AAAA,IACA,MAAM,SAAS,iBAAiB,KAAK,SAAS,UAAU,CAAC;AAAA,IAHzC;AAAA;AAKpB;AAAA;AAKO,MAAM,wBAAwB,eAAe;AAAA,EAClD,WAAW,CAAC,SAAiB,SAAmC;AAAA,IAC9D,MAAM,SAAS,oBAAoB,OAAO;AAAA;AAE9C;AAAA;AAKO,MAAM,2BAA2B,eAAe;AAAA,EACrD,WAAW,CAAC,SAAiB,SAAmC;AAAA,IAC9D,MAAM,SAAS,wBAAwB,OAAO;AAAA;AAElD;AAAA;AAKO,MAAM,qBAAqB,eAAe;AAAA,EAG7B;AAAA,EAFlB,WAAW,CACT,SACgB,aAChB,SACA;AAAA,IACA,MAAM,SAAS,iBAAiB,KAAK,SAAS,YAAY,CAAC;AAAA,IAH3C;AAAA;AAKpB;AAAA;AAKO,MAAM,iBAAiB,eAAe;AAAA,EAGzB;AAAA,EAFlB,WAAW,CACT,SACgB,YAChB,SACA;AAAA,IACA,MAAM,SAAS,aAAa,KAAK,SAAS,WAAW,CAAC;AAAA,IAHtC;AAAA;AAKpB;AAAA;AAKO,MAAM,uBAAuB,eAAe;AAAA,EACjD,WAAW,CAAC,SAAiB,SAAmC;AAAA,IAC9D,MAAM,SAAS,mBAAmB,OAAO;AAAA;AAE7C;AAAA;AAKO,MAAM,aAAa;AAAA,EACJ;AAAA,EAApB,WAAW,CAAS,SAAuB;AAAA,IAAvB;AAAA;AAAA,EAKpB,KAAK,CAAC,OAA8B;AAAA,IAClC,KAAK,OAAO,MAAM,MAAM,SAAS,OAAO,MAAM,OAAO;AAAA,IACrD,MAAM;AAAA;AAAA,EAMR,MAAM,CAAC,OAAuC;AAAA,IAC5C,KAAK,OAAO,MAAM,MAAM,SAAS,OAAO,MAAM,OAAO;AAAA,IACrD,OAAO;AAAA;AAAA,EAMT,IAAI,CACF,OACA,SACA,MACA,SACgB;AAAA,IAChB,MAAM,gBAAgB,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,IAC9E,MAAM,eAAe,IAAI,eAAe,GAAG,YAAY,cAAc,WAAW,MAAM;AAAA,SACjF;AAAA,MACH,eAAe,cAAc;AAAA,MAC7B,eAAe,cAAc;AAAA,IAC/B,CAAC;AAAA,IAGD,IAAI,cAAc,OAAO;AAAA,MACvB,aAAa,QAAQ,cAAc;AAAA,IACrC;AAAA,IAEA,KAAK,OAAO,MAAM,aAAa,SAAS,cAAc,aAAa,OAAO;AAAA,IAC1E,OAAO;AAAA;AAEX;;;AC3EO,SAAS,0BAA0B,GAAyB;AAAA,EACjE,OAAO;AAAA,IACL,WAAW,GAAG;AAAA,MACZ,OAAO;AAAA,QACL,KAAK,OAAO,SAAS;AAAA,QACrB,OAAO,SAAS;AAAA,QAChB,MAAM,OAAO,SAAS;AAAA,QACtB,UAAU,OAAO,SAAS;AAAA,QAC1B,YAAY,SAAS;AAAA,MACvB;AAAA;AAAA,IAGF,aAAa,CAAC,UAAkB;AAAA,MAC9B,MAAM,WAAW,SAAS,iBAAiB,QAAQ;AAAA,MACnD,OAAO,MAAM,KAAK,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAAA,QACvC,SAAS,GAAG;AAAA,QACZ,IAAI,GAAG;AAAA,QACP,WAAW,GAAG;AAAA,QACd,aAAa,GAAG,aAAa,MAAM,GAAG,GAAG,KAAK;AAAA,MAChD,EAAE;AAAA;AAAA,IAGJ,eAAe,GAAG;AAAA,MAChB,MAAM,WAAmC,CAAC;AAAA,MAC1C,MAAM,WAAW,SAAS,iBAAiB,MAAM;AAAA,MAEjD,WAAW,OAAO,MAAM,KAAK,QAAQ,GAAG;AAAA,QACtC,MAAM,OAAO,IAAI,aAAa,MAAM,KAAK,IAAI,aAAa,UAAU;AAAA,QACpE,MAAM,UAAU,IAAI,aAAa,SAAS;AAAA,QAE1C,IAAI,QAAQ,SAAS;AAAA,UACnB,SAAS,QAAQ;AAAA,QACnB;AAAA,MACF;AAAA,MAEA,OAAO;AAAA;AAAA,IAGT,SAAS,CAAC,KAAa;AAAA,MACrB,MAAM,UAAU,gBAAgB,KAAK,IAAI;AAAA,MACzC,MAAM,QAAQ,SAAS,cAAc,OAAO;AAAA,MAC5C,MAAM,KAAK;AAAA,MACX,MAAM,cAAc;AAAA,MACpB,SAAS,KAAK,YAAY,KAAK;AAAA;AAAA,IAGjC,SAAS,CAAC,SAAiB;AAAA,MACzB,MAAM,QAAQ,SAAS,eAAe,OAAO;AAAA,MAC7C,IAAI,OAAO;AAAA,QACT,MAAM,OAAO;AAAA,MACf;AAAA;AAAA,EAEJ;AAAA;AA6BK,SAAS,qBAAqB,GAAoB;AAAA,EACvD,OAAO;AAAA,QACD,cAAc,GAAG;AAAA,MACnB,OAAO,OAAO,UAAU,iBAAiB;AAAA;AAAA,IAG3C,UAAuB,CAAC,MAA0B;AAAA,MAChD,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,QACtC,IAAI,CAAC,OAAO,UAAU,iBAAiB;AAAA,UACrC,OAAO,IAAI,MAAM,wCAAwC,CAAC;AAAA,UAC1D;AAAA,QACF;AAAA,QAEA,OAAO,SAAS,gBAAgB,KAAK,MAAM,CAAC,QAAQ,UAAU;AAAA,UAC5D,IAAI,OAAO;AAAA,YACT,OAAO,IAAI,MAAM,MAAM,cAAc,MAAM,QAAQ,iBAAiB,CAAC;AAAA,UACvE,EAAO;AAAA,YACL,QAAQ,MAAW;AAAA;AAAA,SAEtB;AAAA,OACF;AAAA;AAAA,IAGH,eAAe,CAAC,KAA8B;AAAA,MAC5C,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,QACtC,IAAI,CAAC,OAAO,UAAU,iBAAiB;AAAA,UACrC,OAAO,IAAI,MAAM,wCAAwC,CAAC;AAAA,UAC1D;AAAA,QACF;AAAA,QAEA,OAAO,SAAS,gBAAgB,aAAa,CAAC,cAAc;AAAA,UAC1D,MAAM,WAAW,UAAU,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG;AAAA,UACpD,IAAI,CAAC,UAAU;AAAA,YACb,OAAO,IAAI,MAAM,uBAAuB,KAAK,CAAC;AAAA,YAC9C;AAAA,UACF;AAAA,UAEA,SAAS,WAAW,CAAC,SAAS,aAAa;AAAA,YACzC,IAAI,aAAa,UAAU;AAAA,cACzB,QAAQ,KAAK,OAAO,CAAC;AAAA,YACvB,EAAO;AAAA,cACL,QAAQ,OAAO;AAAA;AAAA,WAElB;AAAA,SACF;AAAA,OACF;AAAA;AAAA,IAGH,mBAAmB,CAAC,UAAU,CAAC,GAAG;AAAA,MAChC,IAAI,CAAC,OAAO,UAAU,iBAAiB;AAAA,QACrC,QAAQ,KAAK,wCAAwC;AAAA,QACrD;AAAA,MACF;AAAA,MAEA,OAAO,SAAS,gBAAgB,OAAO,OAAO;AAAA;AAAA,EAElD;AAAA;AAwBK,SAAS,kBAAkB,CAAC,UAA2C;AAAA,EAC5E,OAAO;AAAA,SACC,cAAa,GAAG;AAAA,MACpB,MAAM,QAAO,MAAM,SAAS,KAAK,MAAM,EAAE,QAAQ,MAAM,eAAe,KAAK,CAAC;AAAA,MAC5E,OAAO,MAAK;AAAA;AAAA,IAGd,UAAU,GAAG;AAAA,MACX,OAAO,MAAM;AAAA;AAAA,IAGf,aAAa,CAAC,OAAe,QAAgB;AAAA,MAC3C,SAAS,KAAK,MAAM,QAAQ,GAAG;AAAA,MAC/B,SAAS,KAAK,MAAM,SAAS,GAAG;AAAA;AAAA,EAEpC;AAAA;AAwBK,SAAS,oBAAoB,CAAC,UAA6C;AAAA,EAChF,OAAO;AAAA,IACL,YAAY,CAAC,MAAc;AAAA,MACzB,SAAS,KAAK,OAAO,EAAE,KAAK,KAAK,CAAC;AAAA;AAAA,IAGpC,oBAAoB,CAAC,UAAU,mBAAmB,WAAW,MAAM;AAAA,MACjE,MAAM,eAAe,SAAS,cAAc,KAAK;AAAA,MACjD,aAAa,cAAc;AAAA,MAC3B,aAAa,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAa7B,SAAS,KAAK,YAAY,YAAY;AAAA,MAEtC,WAAW,MAAM;AAAA,QACf,aAAa,MAAM,YAAY;AAAA,QAC/B,WAAW,MAAM,aAAa,OAAO,GAAG,GAAG;AAAA,SAC1C,QAAQ;AAAA;AAAA,IAGb,SAAS,CAAC,SAAiB,WAAW,MAAM;AAAA,MAC1C,MAAM,eAAe,SAAS,cAAc,KAAK;AAAA,MACjD,aAAa,cAAc;AAAA,MAC3B,aAAa,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAa7B,SAAS,KAAK,YAAY,YAAY;AAAA,MAEtC,WAAW,MAAM;AAAA,QACf,aAAa,MAAM,YAAY;AAAA,QAC/B,WAAW,MAAM,aAAa,OAAO,GAAG,GAAG;AAAA,SAC1C,QAAQ;AAAA;AAAA,EAEf;AAAA;AAwBK,SAAS,sBAAsB,CAAC,UAA+C;AAAA,EACpF,OAAO;AAAA,SACC,cAAa,GAAG;AAAA,MACpB,MAAM,QAAO,MAAM,SAAS,KAAK,MAAM,EAAE,QAAQ,MAAM,eAAe,KAAK,CAAC;AAAA,MAC5E,OAAO,MAAK;AAAA;AAAA,IAGd,SAAS,GAAG;AAAA,MACV,OAAO,SAAS,oBAAoB;AAAA;AAAA,IAGtC,QAAQ,CAAC,OAAe;AAAA,MACtB,SAAS,KAAK,MAAM,QAAQ,GAAG;AAAA;AAAA,EAEnC;AAAA;AAkCK,SAAS,uBAAuB,CAAC,UAAgD;AAAA,EACtF,OAAO;AAAA,SACC,WAAU,GAAG;AAAA,MACjB,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA;AAAA,IAG/B,iBAAiB,CAAC,MAA0B;AAAA,MAC1C,OAAO,OAAO,UAAU,SACtB,SAAS,SAAS,WAAW,SAAS,SAAS,EAAE,KAAK,IAAI,SAC5D;AAAA;AAAA,IAGF,eAAe,GAAG;AAAA,MAChB,SAAS,QAAQ,gBAAgB;AAAA;AAAA,IAGnC,QAAQ,CAAC,MAAc,QAAQ,WAAW;AAAA,MACxC,OAAO,OAAO,aAAa,EAAE,KAAK,CAAC;AAAA,MACnC,OAAO,OAAO,wBAAwB,EAAE,MAAM,CAAC;AAAA;AAAA,IAGjD,UAAU,GAAG;AAAA,MACX,OAAO,OAAO,aAAa,EAAE,MAAM,GAAG,CAAC;AAAA;AAAA,EAE3C;AAAA;;;AClZK,MAAM,wBAAwB;AAAA,EAC3B,aAAa,IAAI;AAAA,EACR;AAAA,EAEjB,WAAW,GAAG;AAAA,IAEZ,KAAK,gBACH,OAAO,YAAY,gBAClB,QAAQ,KAAK,aAAa,iBAAiB,QAAQ,KAAK,aAAa;AAAA;AAAA,EAW1E,KAAK,CAAC,WAAmB,aAA2B;AAAA,IAClD,IAAI,CAAC,KAAK;AAAA,MAAe;AAAA,IAEzB,IAAI,gBAAgB,KAAK,WAAW,IAAI,SAAS;AAAA,IACjD,IAAI,CAAC,eAAe;AAAA,MAClB,gBAAgB,IAAI;AAAA,MACpB,KAAK,WAAW,IAAI,WAAW,aAAa;AAAA,IAC9C;AAAA,IAEA,MAAM,SAAS,cAAc,IAAI,WAAW,KAAK,KAAK;AAAA,IACtD,cAAc,IAAI,aAAa,KAAK;AAAA,IAEpC,IAAI,QAAQ,GAAG;AAAA,MACb,MAAM,QAAQ,IAAI,MAChB;AAAA;AAAA,WAA2C,yBAAyB,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACjG;AAAA,MAEA,QAAQ,MAAM,KAAK;AAAA,MAGnB,QAAQ,MAAM,gCAAgC,SAAS;AAAA,MACvD,QAAQ,MAAM,MAAM,KAAK,cAAc,QAAQ,CAAC,CAAC;AAAA,MAEjD,MAAM;AAAA,IACR;AAAA,IAGA,WAAW,MAAM;AAAA,MACf,KAAK,WAAW,OAAO,SAAS;AAAA,OAC/B,IAAI;AAAA;AAAA,EAMT,KAAK,GAAS;AAAA,IACZ,KAAK,WAAW,MAAM;AAAA;AAAA,EAOxB,iBAAiB,CAAC,WAAmB,aAA6B;AAAA,IAChE,OAAO,KAAK,WAAW,IAAI,SAAS,GAAG,IAAI,WAAW,KAAK;AAAA;AAE/D;AAGO,IAAM,yBAAyB,IAAI;;;ACrCnC,SAAS,eAA2D,CACzE,OACkC;AAAA,EAClC,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EAExD,IAAI,EAAE,QAAQ,UAAU,EAAE,YAAY,UAAU,EAAE,aAAa,UAAU,EAAE,aAAa,QAAQ;AAAA,IAC9F,OAAO;AAAA,EACT;AAAA,EAEA,OACE,OAAO,MAAM,OAAO,YACpB,OAAO,MAAM,WAAW,YACxB,MAAM,QAAQ,MAAM,OAAO,KAC3B,OAAO,MAAM,YAAY,YACzB,MAAM,YAAY;AAAA;AAIf,SAAS,gBAA4D,CAC1E,OACmC;AAAA,EACnC,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EAExD,IAAI,EAAE,QAAQ,UAAU,EAAE,aAAa,QAAQ;AAAA,IAC7C,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAO,MAAM,OAAO,YAAY,OAAO,MAAM,YAAY;AAAA;AAAA;AAY3D,MAAM,WAA4D;AAAA,EAChE;AAAA,EACA;AAAA,EACA;AAAA,EAQA,kBAAkB,IAAI;AAAA,EAIrB,WAAW,IAAI;AAAA,EACf,OAAmE;AAAA,EACnE;AAAA,EACA,oBAA8E,CAAC;AAAA,EAC/E,gBAAwC;AAAA,EACzC,kBAMI;AAAA,EAEX,WAAW,CACT,SACA,UACA,SACA;AAAA,IACA,KAAK,UAAU;AAAA,IACf,KAAK,WAAW,YAAY,sBAAqB,OAAO;AAAA,IACxD,KAAK,eAAe,IAAI,aAAa,KAAK,SAAS,MAAM;AAAA,IACzD,KAAK,UAAU,KAAK,qBAAqB;AAAA,IAGzC,IAAI,CAAC,SAAS,mBAAmB;AAAA,MAC/B,KAAK,eAAe;AAAA,IACtB;AAAA;AAAA,OASI,KAAwB,CAC5B,SACA,SAQA;AAAA,IACA,MAAM,KAAK,OAAO,WAAW;AAAA,IAG7B,IAAI;AAAA,IACJ,IAAI,SAAS,QAAQ;AAAA,MAEnB,IAAI,MAAM,QAAQ,QAAQ,MAAM,GAAG;AAAA,QACjC,UAAU,QAAQ;AAAA,MACpB,EAAO;AAAA,QACL,UAAU,CAAC,QAAQ,MAAM;AAAA;AAAA,IAE7B,EAAO;AAAA,MACL,MAAM,iBAAiB,KAAK,YAAY,QAAQ,IAAI;AAAA,MACpD,IAAI,CAAC,gBAAgB;AAAA,QACnB,MAAM,IAAI,MACR,iBAAiB,QAAQ,4EAC3B;AAAA,MACF;AAAA,MAEA,UAAU,MAAM,QAAQ,cAAc,IAAI,iBAAiB,CAAC,cAAc;AAAA;AAAA,IAG5E,MAAM,UAA4B;AAAA,MAChC;AAAA,MACA,QAAQ,KAAK;AAAA,MACb;AAAA,SACI,SAAS,UAAU,aAAa,EAAE,OAAO,QAAQ,MAAM;AAAA,MAC3D,WAAW,KAAK,IAAI;AAAA,MACpB;AAAA,IACF;AAAA,IAEA,OAAO,IAAI,QAAwC,CAAC,SAAS,WAAW;AAAA,MACtE,MAAM,YAAY,SAAS,WAAW;AAAA,MACtC,MAAM,UAAU,WAAW,MAAM;AAAA,QAC/B,KAAK,gBAAgB,OAAO,EAAE;AAAA,QAC9B,MAAM,QAAQ,IAAI,aAAa,oBAAoB,QAAQ,QAAQ,WAAW;AAAA,UAC5E,aAAa,QAAQ;AAAA,UACrB;AAAA,QACF,CAAC;AAAA,QACD,KAAK,oBAAoB,KAAK;AAAA,QAC9B,OAAO,KAAK,aAAa,OAAO,KAAK,CAAC;AAAA,SACrC,SAAS;AAAA,MAEZ,KAAK,gBAAgB,IAAI,IAAI;AAAA,QAC3B,SAAS,CAAC,UAAU;AAAA,UAClB,aAAa,OAAO;AAAA,UACpB,QAAQ,KAAK;AAAA;AAAA,QAEf,QAAQ,CAAC,UAAU;AAAA,UACjB,aAAa,OAAO;AAAA,UACpB,OAAO,KAAK;AAAA;AAAA,QAEd,WAAW,KAAK,IAAI;AAAA,QACpB;AAAA,MACF,CAAC;AAAA,MAGD,KAAK,YAAY,OAAO;AAAA,KACzB;AAAA;AAAA,EAOH,SAA6B,CAAC,SAAkB;AAAA,IAC9C,MAAM,UAA4B;AAAA,MAChC,IAAI,OAAO,WAAW;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,SAAS;AAAA,MACT,WAAW,KAAK,IAAI;AAAA,MACpB;AAAA,IACF;AAAA,IAEA,KAAK,YAAY,OAAO;AAAA;AAAA,EAQ1B,EAA8B,CAC5B,MACA,SAMM;AAAA,IAIN,MAAM,WAAW,KAAK,SAAS,IAAI,IAAI,KAAK,CAAC;AAAA,IAC7C,SAAS,KAAK,OAAO;AAAA,IACrB,KAAK,SAAS,IAAI,MAAM,QAAQ;AAAA;AAAA,EAgBlC,gBAAgB,CAAC,UAAsD;AAAA,IACrE,YAAY,MAAM,YAAY,OAAO,QAAQ,QAAQ,GAAG;AAAA,MACtD,IAAI,SAAS;AAAA,QACX,MAAM,WAAW,KAAK,SAAS,IAAI,IAAI,KAAK,CAAC;AAAA,QAC7C,SAAS,KAAK,OAAO;AAAA,QACrB,KAAK,SAAS,IAAI,MAAM,QAAQ;AAAA,MAClC;AAAA,IACF;AAAA;AAAA,EAeF,OAAO,CAAC,SAAkE;AAAA,IACxE,KAAK,kBAAkB,KAAK,OAAO;AAAA;AAAA,EAuBrC,gBAAgB,CAAC,UAA+B;AAAA,IAC9C,KAAK,gBAAgB;AAAA;AAAA,OAYjB,iBAAoC,CACxC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,aAAa,CAAC;AAAA;AAAA,OAW1D,oBAAuC,CAC3C,OACA,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,WAAW,MAAM,CAAC;AAAA;AAAA,OAY9D,cAAiC,CACrC,SACA,SAQA;AAAA,IACA,MAAM,QAAO,MAAM,KAAK,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA,IAC9C,OAAO,QAAQ,IACb,MAAK,IAAI,CAAC,QACR,IAAI,KAAK,KAAK,oBAAoB,IAAI,IAAI,SAAS,OAAO,IAAI,QAAQ,QAAQ,SAAS,CACzF,CACF;AAAA;AAAA,OAWI,YAA+B,CACnC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,QAAQ,CAAC;AAAA;AAAA,OAWrD,cAAiC,CACrC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,UAAU,CAAC;AAAA;AAAA,OAWvD,eAAkC,CACtC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,WAAW,CAAC;AAAA;AAAA,OAWxD,gBAAmC,CACvC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,YAAY,CAAC;AAAA;AAAA,EAO/D,OAAO,CAAC,MAAoB;AAAA,IAC1B,IAAI,KAAK,MAAM;AAAA,MACb,QAAQ,KAAK,IAAI,KAAK,oCAAoC,KAAK,KAAK,MAAM;AAAA,MAC1E;AAAA,IACF;AAAA,IAEA,KAAK,OAAO,KAAK,SAAS,QAAQ,QAAQ,IAAI;AAAA,IAE9C,KAAK,KAAK,UAAU,CAAC,YAAqB;AAAA,MACxC,IAAI,gBAA0B,OAAO,KAAK,iBAA2B,OAAO,GAAG;AAAA,QAC7E,KAAK,cAAc,OAAO;AAAA,MAC5B;AAAA,KACD;AAAA,IAED,KAAK,KAAK,aAAa,MAAM;AAAA,MAC3B,KAAK,SAAS,OAAO,KAAK,qBAAqB;AAAA,QAC7C,SAAS,KAAK;AAAA,QACd,UAAU;AAAA,MACZ,CAAC;AAAA,MACD,KAAK,OAAO;AAAA,MAGZ,YAAY,IAAI,YAAY,KAAK,gBAAgB,QAAQ,GAAG;AAAA,QAC1D,MAAM,QAAQ,IAAI,gBAAgB,qBAAqB;AAAA,UACrD,SAAS,KAAK;AAAA,UACd,UAAU;AAAA,UACV,WAAW;AAAA,QACb,CAAC;AAAA,QACD,KAAK,oBAAoB,KAAK;AAAA,QAC9B,QAAQ,OAAO,KAAK,aAAa,OAAO,KAAK,CAAC;AAAA,QAC9C,aAAa,QAAQ,OAAO;AAAA,QAC5B,KAAK,gBAAgB,OAAO,EAAE;AAAA,MAChC;AAAA,KACD;AAAA;AAAA,EAMH,UAAU,GAAS;AAAA,IACjB,IAAI,KAAK,MAAM;AAAA,MACb,KAAK,KAAK,WAAW;AAAA,MACrB,KAAK,OAAO;AAAA,IACd;AAAA;AAAA,EAMF,OAAO,GAAS;AAAA,IACd,KAAK,WAAW;AAAA,IAChB,KAAK,SAAS,MAAM;AAAA,IAGpB,WAAW,WAAW,KAAK,gBAAgB,OAAO,GAAG;AAAA,MACnD,aAAa,QAAQ,OAAO;AAAA,IAC9B;AAAA,IACA,KAAK,gBAAgB,MAAM;AAAA,IAG3B,IAAI,KAAK,iBAAiB;AAAA,MACxB,KAAK,SAAS,QAAQ,sBAAsB,KAAK,eAAe;AAAA,IAClE;AAAA;AAAA,EAGM,cAAc,GAAS;AAAA,IAE7B,KAAK,kBAAkB,CACrB,SACA,QACA,iBACG;AAAA,MACH,IAAI,gBAA0B,OAAO,KAAK,iBAA2B,OAAO,GAAG;AAAA,QAC7E,KAAK,cAAc,SAAS,MAAM,EAC/B,KAAK,CAAC,aAAa,aAAa,QAAQ,CAAC,EACzC,MAAM,CAAC,UAAU;AAAA,UAChB,aAAa,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,SACtD;AAAA,MACL;AAAA,MACA,OAAO;AAAA;AAAA,IAET,KAAK,SAAS,QAAQ,UAAU,KAAK,eAAe;AAAA,IAGpD,IAAI,KAAK,YAAY,aAAa,KAAK,YAAY,QAAQ;AAAA,MACzD,KAAK,SAAS,OAAO,iBAAiB,WAAW,CAAC,UAAwB;AAAA,QACxE,IAAI,MAAM,WAAW;AAAA,UAAQ;AAAA,QAC7B,IAAI,MAAM,MAAM,oBAAoB;AAAA,UAClC,KAAK,cAAc,MAAM,KAAK,OAAO;AAAA,QACvC;AAAA,OACD;AAAA,IACH;AAAA;AAAA,OAIW,cAAa,CACxB,SACA,SACkB;AAAA,IAElB,IAAI,aAAa,SAAS;AAAA,MACxB,MAAM,UAAU,KAAK,gBAAgB,IAAI,QAAQ,EAAE;AAAA,MACnD,IAAI,SAAS;AAAA,QACX,KAAK,gBAAgB,OAAO,QAAQ,EAAE;AAAA,QACtC,aAAa,QAAQ,OAAO;AAAA,QAE5B,IAAI,QAAQ,SAAS;AAAA,UAEnB,QAAQ,QAAQ,QAAQ,QAAQ,SAAS;AAAA,QAC3C,EAAO;AAAA,UACL,MAAM,QAAQ,IAAI,aAAa,QAAQ,SAAS,iBAAiB,WAAW;AAAA,YAC1E,WAAW,QAAQ;AAAA,UACrB,CAAC;AAAA,UACD,KAAK,oBAAoB,KAAK;AAAA,UAC9B,QAAQ,OAAO,KAAK,aAAa,OAAO,KAAK,CAAC;AAAA;AAAA,MAElD;AAAA,MACA;AAAA,IACF;AAAA,IAGA,IAAI,CAAC,QAAQ,QAAQ,SAAS,KAAK,OAAO,GAAG;AAAA,MAE3C,IAAI,KAAK,YAAY,cAAc;AAAA,QACjC;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,IAGA,MAAM,WAAW,KAAK,SAAS,IAAI,QAAQ,QAAQ,IAAI;AAAA,IACvD,IAAI,CAAC,YAAY,SAAS,WAAW,GAAG;AAAA,MAEtC,IAAI,QAAQ,QAAQ,WAAW,GAAG;AAAA,QAChC,QAAQ,KAAK,IAAI,KAAK,yCAAyC,QAAQ,QAAQ,MAAM;AAAA,MACvF;AAAA,MACA,OAAO,EAAE,SAAS,OAAO,OAAO,aAAa;AAAA,IAC/C;AAAA,IAGA,IAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,MAC9B,IAAI;AAAA,QAEF,uBAAuB,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAAA,QAE7D,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,YAAY,QAAQ,QAAQ,SAAS,OAAO,CAAC,CAAC;AAAA,QAC9E,OAAO,EAAE,SAAS,MAAM,MAAM,WAAW,WAAW,KAAK,IAAI,EAAE;AAAA,QAC/D,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,UACL,SAAS;AAAA,UACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAChD,WAAW,KAAK,IAAI;AAAA,QACtB;AAAA;AAAA,IAEJ;AAAA,IAGA,IAAI,QAAQ,QAAQ,SAAS,OAAO;AAAA,MAClC,IAAI;AAAA,QAEF,uBAAuB,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAAA,QAE7D,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,YAAY,QAAQ,QAAQ,SAAS,OAAO,CAAC,CAAC;AAAA,QAC9E,MAAM,WAAqC;AAAA,UACzC,IAAI,QAAQ;AAAA,UACZ,SAAS;AAAA,UACT,WAAW,KAAK,IAAI;AAAA,QACtB;AAAA,QACA,KAAK,aAAa,SAAS,QAAQ;AAAA,QACnC,OAAO;AAAA,QACP,OAAO,OAAO;AAAA,QACd,MAAM,WAAqC;AAAA,UACzC,IAAI,QAAQ;AAAA,UACZ,SAAS;AAAA,UACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAChD,WAAW,KAAK,IAAI;AAAA,QACtB;AAAA,QACA,KAAK,aAAa,SAAS,QAAQ;AAAA,QACnC,OAAO;AAAA;AAAA,IAEX;AAAA,IAGA,IAAI;AAAA,MAEF,uBAAuB,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAAA,MAG7D,IAAI,KAAK,eAAe;AAAA,QACtB,IAAI;AAAA,UACF,QAAQ,yCAAoB,8DAAgC;AAAA,UAG5D,IAAI,6BAA4B,GAAG;AAAA,YACjC,MAAM,eAAe,KAAK,cAAc;AAAA,YACxC,oBAAmB,QAAQ,QAAQ,MAAM,YAAY;AAAA,UACvD;AAAA,UACA,OAAO,OAAO;AAAA,UAEd,IAAI,iBAAiB,OAAO;AAAA,YAC1B,MAAM;AAAA,UACR;AAAA,UAEA,IACE,SACA,OAAO,UAAU,YACjB,UAAU,SACV,MAAM,SAAS,oBACf,CAEF,EAAO;AAAA,YACL,MAAM;AAAA;AAAA;AAAA,MAGZ;AAAA,MAGA,MAAM,UAAU,SAAS;AAAA,MACzB,IAAI,CAAC,SAAS;AAAA,QACZ,MAAM,IAAI,MAAM,yBAAyB,QAAQ,QAAQ,MAAM;AAAA,MACjE;AAAA,MACA,MAAM,OAAO,MAAM,QAAQ,QAAQ,SAAS,OAAO;AAAA,MAGnD,IAAI,KAAK,eAAe;AAAA,QACtB,IAAI;AAAA,UACF,QAAQ,2CAAqB,8DAAgC;AAAA,UAG7D,IAAI,6BAA4B,GAAG;AAAA,YACjC,MAAM,eAAe,KAAK,cAAc;AAAA,YACxC,qBAAoB,QAAQ,QAAQ,MAAM,YAAY;AAAA,UACxD;AAAA,UACA,OAAO,OAAO;AAAA,UAEd,IAAI,iBAAiB,SAAS,MAAM,QAAQ,SAAS,eAAe,GAAG;AAAA,YACrE,QAAQ,MAAM,IAAI,KAAK,kCAAkC,MAAM,OAAO;AAAA,UAExE;AAAA;AAAA,MAEJ;AAAA,MAEA,MAAM,WAAqC;AAAA,QACzC,IAAI,QAAQ;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB;AAAA,MAEA,KAAK,aAAa,SAAS,QAAQ;AAAA,MACnC,OAAO;AAAA,MACP,OAAO,OAAO;AAAA,MACd,MAAM,WAAqC;AAAA,QACzC,IAAI,QAAQ;AAAA,QACZ,SAAS;AAAA,QACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,QAChD,WAAW,KAAK,IAAI;AAAA,MACtB;AAAA,MAEA,KAAK,aAAa,SAAS,QAAQ;AAAA,MACnC,OAAO;AAAA;AAAA;AAAA,EAIJ,WAA0C,CAAC,SAAiC;AAAA,IACjF,IAAI,KAAK,YAAY,aAAa,QAAQ,QAAQ,SAAS,MAAM,GAAG;AAAA,MAElE,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,QAAQ,GAAG,GAAG;AAAA,IAC7E,EAAO,SAAI,KAAK,YAAY,QAAQ;AAAA,MAElC,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,QAAQ,GAAG,GAAG;AAAA,IAC7E,EAAO,SAAI,KAAK,MAAM;AAAA,MAEpB,KAAK,KAAK,YAAY,OAAO;AAAA,IAC/B,EAAO;AAAA,MAEL,KAAK,SAAS,QAAQ,YAAY,OAAO;AAAA;AAAA;AAAA,EAIrC,YAAY,CAAC,SAAkC,UAA0C;AAAA,IAC/F,IAAI,KAAK,YAAY,aAAa,QAAQ,WAAW,QAAQ;AAAA,MAE3D,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,SAAS,SAAS,GAAG,GAAG;AAAA,IACvF,EAAO,SAAI,KAAK,YAAY,UAAU,QAAQ,WAAW,WAAW;AAAA,MAElE,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,SAAS,SAAS,GAAG,GAAG;AAAA,IACvF,EAAO,SAAI,KAAK,SAAS,KAAK,YAAY,cAAc,KAAK,YAAY,YAAY;AAAA,MAEnF,KAAK,KAAK,YAAY,QAAQ;AAAA,IAChC,EAAO;AAAA,MAEL,KAAK,SAAS,QAAQ,YAAY,QAAQ;AAAA;AAAA;AAAA,EAItC,WAAW,CAAC,MAA+C;AAAA,IACjE,MAAM,WAAW;AAAA,MACf,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,cAAc;AAAA,MACd,cAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa;AAAA,MACb,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,gBAAgB;AAAA,MAChB,qBAAqB;AAAA,MACrB,qBAAqB;AAAA,MACrB,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,aAAa;AAAA,IACf;AAAA,IAGA,SAAS,YAAY,CAAC,KAA2C;AAAA,MAC/D,OAAO,OAAO;AAAA;AAAA,IAIhB,IAAI,aAAa,IAAI,GAAG;AAAA,MAEtB,OAAO,SAAS;AAAA,IAClB;AAAA,IAGA;AAAA;AAAA,EAOM,oBAAoB,GAOF;AAAA,IACxB,QAAQ,KAAK;AAAA,WACN;AAAA,QACH,OAAO,2BAA2B;AAAA,WAC/B;AAAA,QACH,OAAO,sBAAsB;AAAA,WAC1B;AAAA,QACH,OAAO,mBAAmB,KAAK,QAAQ;AAAA,WACpC;AAAA,QACH,OAAO,qBAAqB,KAAK,QAAQ;AAAA,WACtC;AAAA,QACH,OAAO,uBAAuB,KAAK,QAAQ;AAAA,WACxC;AAAA,QACH,OAAO,wBAAwB,KAAK,QAAQ;AAAA;AAAA,QAE5C,OAAO,CAAC;AAAA;AAAA;AAAA,EAQN,mBAAmB,CAAC,OAAoB;AAAA,IAC9C,WAAW,WAAW,KAAK,mBAAmB;AAAA,MAC5C,IAAI;AAAA,QACF,QAAQ,OAAO,IAAI;AAAA,QACnB,OAAO,cAAc;AAAA,QACrB,QAAQ,MAAM,IAAI,KAAK,oCAAoC,YAAY;AAAA;AAAA,IAE3E;AAAA;AAEJ;AAWO,SAAS,aAA8D,CAC5E,SACA,UACA,SACsB;AAAA,EACtB,OAAO,IAAI,WAAqB,SAAS,UAAU,OAAO;AAAA;;;ACxzBrD,MAAM,cAA0D;AAAA,SAEtD,iBAAiB;AAAA,EAGxB;AAAA,EACA;AAAA,EAGD,eAAe,IAAI;AAAA,EACnB,gBAAgB,IAAI;AAAA,EACnB,YAAgC;AAAA,EAChC,cAAkC;AAAA,EAClC,gBAAoC;AAAA,EACpC,gBAAoC;AAAA,EAE5C,WAAW,CAAC,KAA4B;AAAA,IAEtC,IAAI,cAAc,gBAAgB;AAAA,MAChC,MAAM,IAAI,MACR;AAAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA,kGACJ;AAAA,IACF;AAAA,IAGA,cAAc,iBAAiB;AAAA,IAG/B,KAAK,MAAM,OAAO,cAAwB,YAAY;AAAA,IACtD,KAAK,eAAe,IAAI,aAAa,KAAK,IAAI,SAAS,MAAM;AAAA,IAC7D,KAAK,qBAAqB;AAAA,IAC1B,KAAK,kBAAkB;AAAA,IACvB,KAAK,qBAAqB;AAAA;AAAA,EAGpB,oBAAoB,GAAS;AAAA,IACnC,KAAK,IAAI,SAAS,QAAQ,UAAU,CAAC,SAAS;AAAA,MAC5C,KAAK,IAAI,SAAS,OAAO,MAAM,kBAAkB,EAAE,MAAM,KAAK,KAAK,CAAC;AAAA,MAGpE,OAAO,SAAS,YAAY,KAAK,KAAK,MAAM,GAAG;AAAA,MAE/C,QAAQ;AAAA,aACD,WAAW;AAAA,UACd,MAAM,eAAe,OAAO,SAAS,YAAY,KAAK,EAAE;AAAA,UACxD,IAAI,CAAC,OAAO,MAAM,YAAY,GAAG;AAAA,YAC/B,KAAK,aAAa,IAAI,cAAc,IAAI;AAAA,YACxC,KAAK,aAAa,MAAM;AAAA,cACtB,KAAK,IAAI,SAAS,OAAO,MAAM,6BAA6B;AAAA,gBAC1D,OAAO;AAAA,cACT,CAAC;AAAA,cACD,KAAK,aAAa,OAAO,YAAY;AAAA,aACtC;AAAA,UACH;AAAA,UACA;AAAA,QACF;AAAA,aAEK,YAAY;AAAA,UACf,MAAM,gBAAgB,OAAO,SAAS,YAAY,KAAK,EAAE;AAAA,UACzD,IAAI,CAAC,OAAO,MAAM,aAAa,GAAG;AAAA,YAChC,KAAK,cAAc,IAAI,eAAe,IAAI;AAAA,YAC1C,KAAK,aAAa,MAAM;AAAA,cACtB,KAAK,IAAI,SAAS,OAAO,MAAM,8BAA8B;AAAA,gBAC3D,OAAO;AAAA,cACT,CAAC;AAAA,cACD,KAAK,cAAc,OAAO,aAAa;AAAA,aACxC;AAAA,UACH;AAAA,UACA;AAAA,QACF;AAAA,aAEK;AAAA,UACH,KAAK,YAAY;AAAA,UACjB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,oBAAoB;AAAA,YACnD,KAAK,YAAY;AAAA,WAClB;AAAA,UACD;AAAA,aAEG;AAAA,UACH,KAAK,cAAc;AAAA,UACnB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,sBAAsB;AAAA,YACrD,KAAK,cAAc;AAAA,WACpB;AAAA,UACD;AAAA,aAEG;AAAA,UACH,KAAK,gBAAgB;AAAA,UACrB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,wBAAwB;AAAA,YACvD,KAAK,gBAAgB;AAAA,WACtB;AAAA,UACD;AAAA,aAEG;AAAA,UACH,KAAK,gBAAgB;AAAA,UACrB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,yBAAyB;AAAA,YACxD,KAAK,gBAAgB;AAAA,WACtB;AAAA,UACD;AAAA;AAAA,MAIJ,KAAK,UAAU,CAAC,YAAqB;AAAA,QACnC,IAAI,iBAA2B,OAAO,GAAG;AAAA,UAEvC,KAAK,cAAc,OAAO;AAAA,QAC5B,EAAO,SAAI,gBAA0B,OAAO,GAAG;AAAA,UAE7C,KAAK,aAAa,OAAO;AAAA,QAC3B;AAAA,OACD;AAAA,KACF;AAAA;AAAA,EAGK,iBAAiB,GAAS;AAAA,IAEhC,KAAK,IAAI,SAAS,KAAK,UAAU,CAAC,UAAU;AAAA,MAC1C,KAAK,IAAI,SAAS,OAAO,MAAM,kCAAkC;AAAA,QAC/D;AAAA,MACF,CAAC;AAAA,MACD,KAAK,aAAa,OAAO,KAAK;AAAA,MAC9B,KAAK,cAAc,OAAO,KAAK;AAAA,KAChC;AAAA,IAGD,KAAK,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,YAAY,QAAQ;AAAA,MAC3D,IAAI,WAAW,WAAW,YAAY;AAAA,QACpC,KAAK,IAAI,SAAS,OAAO,MAAM,cAAc,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC;AAAA,MACtE;AAAA,KACD;AAAA;AAAA,EAGK,oBAAoB,GAAS;AAAA,IAEnC,KAAK,IAAI,SAAS,QAAQ,UAAU,CAAC,SAAkB,SAAS,iBAAiB;AAAA,MAC/E,IAAI,iBAA2B,OAAO,GAAG;AAAA,QACvC,KAAK,cAAc,OAAO;AAAA,MAC5B,EAAO,SAAI,gBAA0B,OAAO,GAAG;AAAA,QAC7C,KAAK,aAAa,OAAO,EAAE,KAAK,YAAY;AAAA,MAC9C;AAAA,MACA,OAAO;AAAA,KACR;AAAA;AAAA,OAGU,aAAY,CAAC,SAAoD;AAAA,IAC5E,KAAK,IAAI,SAAS,OAAO,MAAM,mBAAmB;AAAA,MAChD,MAAM,QAAQ,QAAQ;AAAA,MACtB,QAAQ,QAAQ;AAAA,MAChB,SAAS,QAAQ;AAAA,MACjB,OAAO,QAAQ;AAAA,IACjB,CAAC;AAAA,IAGD,MAAM,UAAqB,CAAC;AAAA,IAC5B,WAAW,UAAU,QAAQ,SAAS;AAAA,MACpC,MAAM,SAAS,MAAM,KAAK,oBAAoB,SAAS,MAAM;AAAA,MAC7D,QAAQ,KAAK,MAAM;AAAA,IACrB;AAAA,IAGA,OAAO,QAAQ,QAAQ,WAAW,IAAI,QAAQ,KAAK;AAAA;AAAA,OAIvC,oBAAmB,CAC/B,SACA,QACkB;AAAA,IAElB,QAAQ;AAAA,WACD;AAAA,QAEH,OAAO,KAAK,IAAI,cAAc,OAAO;AAAA,WAElC,WAAW;AAAA,QACd,IAAI,CAAC,QAAQ,OAAO;AAAA,UAClB,KAAK,IAAI,SAAS,OAAO,KAAK,iCAAiC;AAAA,YAC7D,aAAa,QAAQ,QAAQ;AAAA,UAC/B,CAAC;AAAA,UACD,OAAO,EAAE,SAAS,OAAO,OAAO,oCAAoC;AAAA,QACtE;AAAA,QACA,MAAM,cAAc,KAAK,aAAa,IAAI,QAAQ,KAAK;AAAA,QACvD,IAAI,aAAa;AAAA,UACf,YAAY,YAAY,OAAO;AAAA,UAC/B;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,kCAAkC;AAAA,UAC9D,OAAO,QAAQ;AAAA,UACf,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,+BAA+B;AAAA,MACjE;AAAA,WAEK,YAAY;AAAA,QACf,IAAI,CAAC,QAAQ,OAAO;AAAA,UAClB,KAAK,IAAI,SAAS,OAAO,KAAK,kCAAkC;AAAA,YAC9D,aAAa,QAAQ,QAAQ;AAAA,UAC/B,CAAC;AAAA,UACD,OAAO;AAAA,YACL,SAAS;AAAA,YACT,OAAO;AAAA,UACT;AAAA,QACF;AAAA,QACA,MAAM,eAAe,KAAK,cAAc,IAAI,QAAQ,KAAK;AAAA,QACzD,IAAI,cAAc;AAAA,UAChB,aAAa,YAAY,OAAO;AAAA,UAChC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,4BAA4B;AAAA,UACxD,OAAO,QAAQ;AAAA,UACf,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,yBAAyB;AAAA,MAC3D;AAAA,WAEK;AAAA,QACH,IAAI,KAAK,WAAW;AAAA,UAClB,KAAK,UAAU,YAAY,OAAO;AAAA,UAClC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,uBAAuB;AAAA,UACnD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,sBAAsB;AAAA,WAEnD;AAAA,QACH,IAAI,KAAK,aAAa;AAAA,UACpB,KAAK,YAAY,YAAY,OAAO;AAAA,UACpC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,yBAAyB;AAAA,UACrD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,wBAAwB;AAAA,WAErD;AAAA,QACH,IAAI,KAAK,eAAe;AAAA,UACtB,KAAK,cAAc,YAAY,OAAO;AAAA,UACtC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,2BAA2B;AAAA,UACvD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,0BAA0B;AAAA,WAEvD,QAAQ;AAAA,QAGX,IAAI,CAAC,QAAQ,OAAO;AAAA,UAClB,KAAK,IAAI,SAAS,OAAO,KAAK,8BAA8B;AAAA,YAC1D,aAAa,QAAQ,QAAQ;AAAA,UAC/B,CAAC;AAAA,UACD,OAAO,EAAE,SAAS,OAAO,OAAO,iCAAiC;AAAA,QACnE;AAAA,QACA,MAAM,qBAAqB,KAAK,aAAa,IAAI,QAAQ,KAAK;AAAA,QAC9D,IAAI,oBAAoB;AAAA,UACtB,mBAAmB,YAAY,OAAO;AAAA,UACtC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,wCAAwC;AAAA,UACpE,OAAO,QAAQ;AAAA,UACf,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,+BAA+B;AAAA,MACjE;AAAA,WAEK;AAAA,QACH,IAAI,KAAK,eAAe;AAAA,UACtB,KAAK,cAAc,YAAY,OAAO;AAAA,UACtC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,4BAA4B;AAAA,UACxD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,2BAA2B;AAAA;AAAA,QAG3D,KAAK,IAAI,SAAS,OAAO,KAAK,0BAA0B;AAAA,UACtD;AAAA,UACA,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,2BAA2B,SAAS;AAAA;AAAA;AAAA,EAIlE,aAAa,CAAC,UAA0C;AAAA,IAE9D,KAAK,IAAI,SAAS,OAAO,MAAM,oBAAoB;AAAA,MACjD,WAAW,SAAS;AAAA,IACtB,CAAC;AAAA;AAAA,OAIG,UAAS,CAAC,OAAe,SAAiD;AAAA,IAC9E,MAAM,OAAO,KAAK,aAAa,IAAI,KAAK;AAAA,IACxC,IAAI,MAAM;AAAA,MACR,KAAK,YAAY,OAAO;AAAA,IAC1B,EAAO;AAAA,MACL,KAAK,aAAa,MAChB,IAAI,mBAAmB,sCAAsC;AAAA,QAC3D;AAAA,QACA,aAAa,QAAQ,QAAQ;AAAA,MAC/B,CAAC,CACH;AAAA;AAAA;AAAA,EAKJ,cAAc,CAAC,SAAwC;AAAA,IAErD,KAAK,aAAa,OAAO;AAAA;AAAA,EAG3B,wBAAwB,CAAC,OAAwB;AAAA,IAC/C,OAAO,KAAK,aAAa,IAAI,KAAK;AAAA;AAAA,EAGpC,gBAAgB,GAAa;AAAA,IAC3B,OAAO,MAAM,KAAK,KAAK,aAAa,KAAK,CAAC;AAAA;AAAA,SAOrC,aAAa,GAAS;AAAA,IAC3B,cAAc,iBAAiB;AAAA;AAEnC;;;AClTO,SAAS,gBAAiE,CAC/E,UACsB;AAAA,EAEtB,MAAM,MAAM,cAAwB,cAAc,UAAU,EAAE,mBAAmB,KAAK,CAAC;AAAA,EAGvF,IAAI,cAAwB,GAAG;AAAA,EAE/B,OAAO;AAAA;",
|
|
27
|
-
"debugId": "
|
|
26
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,iBAA2C;AAAA,EAC9C;AAAA,EACA,YAAY;AAAA,EACZ,YAAyC;AAAA,EAEjD,WAAW,CAAC,SAAS,eAAe;AAAA,IAClC,KAAK,SAAS;AAAA;AAAA,EAGR,KAAK,GAAyB;AAAA,IACpC,IAAI,KAAK;AAAA,MAAW,OAAO,KAAK;AAAA,IAEhC,KAAK,YAAY,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MAChD,MAAM,UAAU,UAAU,KAAK,KAAK,QAAQ,CAAC;AAAA,MAE7C,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,MAC5C,QAAQ,YAAY,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAEhD,QAAQ,kBAAkB,CAAC,UAAU;AAAA,QACnC,MAAM,KAAM,MAAM,OAA4B;AAAA,QAC9C,IAAI,CAAC,GAAG,iBAAiB,SAAS,KAAK,SAAS,GAAG;AAAA,UACjD,GAAG,kBAAkB,KAAK,SAAS;AAAA,QACrC;AAAA;AAAA,KAEH;AAAA,IAED,OAAO,KAAK;AAAA;AAAA,OAGR,IAAgB,CAAC,MAA4C;AAAA,IACjE,IAAI;AAAA,MACF,MAAM,KAAK,MAAM,KAAK,MAAM;AAAA,MAC5B,MAAM,SAA4B,CAAC;AAAA,MAEnC,MAAM,QAAQ,IACZ,KAAK,IACH,CAAC,QACC,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,SAAS,GAAG,UAAU;AAAA,QAC/D,MAAM,QAAQ,YAAY,YAAY,KAAK,SAAS;AAAA,QACpD,MAAM,UAAU,MAAM,IAAI,GAAG;AAAA,QAE7B,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,QAC5C,QAAQ,YAAY,MAAM;AAAA,UACxB,IAAI,QAAQ,WAAW,WAAW;AAAA,YAChC,OAAO,OAAO,QAAQ;AAAA,UACxB;AAAA,UACA,QAAQ;AAAA;AAAA,OAEX,CACL,CACF;AAAA,MAEA,OAAO;AAAA,MACP,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,iCAAiC,KAAK;AAAA,MACnD,OAAO,CAAC;AAAA;AAAA;AAAA,OAIN,IAAG,CAAC,OAA+C;AAAA,IACvD,IAAI;AAAA,MACF,MAAM,KAAK,MAAM,KAAK,MAAM;AAAA,MAC5B,MAAM,QAAQ,IACZ,OAAO,QAAQ,KAAK,EAAE,IACpB,EAAE,KAAK,WACL,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,SAAS,GAAG,WAAW;AAAA,QAChE,MAAM,QAAQ,YAAY,YAAY,KAAK,SAAS;AAAA,QACpD,MAAM,UAAU,MAAM,IAAI,OAAO,GAAG;AAAA,QAEpC,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,QAC5C,QAAQ,YAAY,MAAM,QAAQ;AAAA,OACnC,CACL,CACF;AAAA,MACA,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,iCAAiC,KAAK;AAAA;AAAA;AAAA,OAIjD,OAAM,CAAC,MAA+B;AAAA,IAC1C,IAAI;AAAA,MACF,MAAM,KAAK,MAAM,KAAK,MAAM;AAAA,MAC5B,MAAM,QAAQ,IACZ,KAAK,IACH,CAAC,QACC,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,SAAS,GAAG,WAAW;AAAA,QAChE,MAAM,QAAQ,YAAY,YAAY,KAAK,SAAS;AAAA,QACpD,MAAM,UAAU,MAAM,OAAO,GAAG;AAAA,QAEhC,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,QAC5C,QAAQ,YAAY,MAAM,QAAQ;AAAA,OACnC,CACL,CACF;AAAA,MACA,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,oCAAoC,KAAK;AAAA;AAAA;AAG5D;AAAA;AAKO,MAAM,sBAA+C;AAAA,OACpD,IAAgB,CAAC,MAA4C;AAAA,IACjE,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,IAAI;AAAA,MACF,OAAQ,MAAM,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,MAC3C,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,sCAAsC,KAAK;AAAA,MACxD,OAAO,CAAC;AAAA;AAAA;AAAA,OAIN,IAAG,CAAC,OAA+C;AAAA,IACvD,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,MAAM,OAAO,QAAQ,MAAM,IAAI,KAAK;AAAA,MACpC,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,sCAAsC,KAAK;AAAA;AAAA;AAAA,OAItD,OAAM,CAAC,MAA+B;AAAA,IAC1C,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,MAAM,OAAO,QAAQ,MAAM,OAAO,IAAI;AAAA,MACtC,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,yCAAyC,KAAK;AAAA;AAAA;AAGjE;AAAA;AAKO,MAAM,qBAA+C;AAAA,EAClD,UAAU,IAAI;AAAA,OAEhB,IAAgB,CAAC,MAA4C;AAAA,IACjE,MAAM,SAA4B,CAAC;AAAA,IACnC,WAAW,OAAO,MAAM;AAAA,MACtB,MAAM,QAAQ,KAAK,QAAQ,IAAI,GAAG;AAAA,MAClC,IAAI,UAAU,WAAW;AAAA,QACvB,OAAO,OAAO;AAAA,MAChB;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAAA,OAGH,IAAG,CAAC,OAA+C;AAAA,IACvD,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,KAAK,QAAQ,IAAI,KAAK,KAAK;AAAA,IAC7B;AAAA;AAAA,OAGI,OAAM,CAAC,MAA+B;AAAA,IAC1C,WAAW,OAAO,MAAM;AAAA,MACtB,KAAK,QAAQ,OAAO,GAAG;AAAA,IACzB;AAAA;AAEJ;AAKO,SAAS,oBAAoB,GAAmB;AAAA,EAErD,IAAI,OAAO,WAAW,eAAe,OAAO,WAAW,OAAO,SAAS;AAAA,IACrE,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,IAAI,OAAO,cAAc,aAAa;AAAA,IACpC,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,OAAO,IAAI;AAAA;;;;;;;;;;;ACpIN,MAAM,gBAAuC;AAAA,EAClD,SAAY,CAAC,UAAqC;AAAA,EAIlD,SAAY,CAAC,WAA+D;AAAA,IAE1E,OAAO,MAAM;AAAA;AAIjB;AAAA;AAMO,MAAM,yBAAgD;AAAA,EACnD,YAAiE,CAAC;AAAA,EAClE,OAAmC;AAAA,EAE3C,WAAW,GAAG;AAAA,IAEZ,IAAI,OAAO,WAAW,eAAe,OAAO,SAAS;AAAA,MACnD,OAAO,QAAQ,UAAU,YAAY,CAAC,SAAS,SAAS,kBAAkB;AAAA,QACxE,IAAI,QAAQ,SAAS,cAAc;AAAA,UACjC,KAAK,UAAU,QAAQ,CAAC,aAAa;AAAA,YACnC,SAAS,OAAO;AAAA,WACjB;AAAA,QACH;AAAA,OACD;AAAA,IACH;AAAA;AAAA,EAGF,SAAY,CAAC,SAAoC;AAAA,IAC/C,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAAS;AAAA,MACpD,QAAQ,KAAK,4CAA4C;AAAA,MACzD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,OAAO,QAAQ,YAAY;AAAA,QACzB,MAAM;AAAA,QACN,KAAK,QAAQ;AAAA,QACb,OAAO,QAAQ;AAAA,QACf,OAAO,QAAQ;AAAA,MACjB,CAAC;AAAA,MACD,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,mDAAmD,KAAK;AAAA;AAAA;AAAA,EAIzE,SAAY,CAAC,UAA8D;AAAA,IACzE,KAAK,UAAU,KAAK,QAAwD;AAAA,IAG5E,OAAO,MAAM;AAAA,MACX,MAAM,QAAQ,KAAK,UAAU,QAC3B,QACF;AAAA,MACA,IAAI,QAAQ,IAAI;AAAA,QACd,KAAK,UAAU,OAAO,OAAO,CAAC;AAAA,MAChC;AAAA;AAAA;AAAA,EAIJ,OAAO,GAAkB;AAAA,IAEvB,OAAO,QAAQ,QAAQ;AAAA;AAAA,EAGzB,UAAU,GAAS;AAAA,IACjB,KAAK,YAAY,CAAC;AAAA,IAClB,IAAI,KAAK,MAAM;AAAA,MACb,KAAK,KAAK,WAAW;AAAA,MACrB,KAAK,OAAO;AAAA,IACd;AAAA;AAAA,EAGF,WAAW,GAAY;AAAA,IACrB,OAAO,OAAO,WAAW,eAAe,CAAC,CAAC,OAAO;AAAA;AAErD;AAAA;AAMO,MAAM,4BAAmD;AAAA,EACtD,UAAmC;AAAA,EACnC,YAAiE,CAAC;AAAA,EAE1E,WAAW,CAAC,cAAc,cAAc;AAAA,IACtC,IAAI,OAAO,qBAAqB,aAAa;AAAA,MAC3C,QAAQ,KAAK,8CAA8C;AAAA,IAC7D,EAAO;AAAA,MACL,KAAK,UAAU,IAAI,iBAAiB,WAAW;AAAA,MAE/C,KAAK,QAAQ,YAAY,CAAC,UAAU;AAAA,QAClC,IAAI,MAAM,KAAK,SAAS,cAAc;AAAA,UACpC,KAAK,UAAU,QAAQ,CAAC,aAAa;AAAA,YACnC,SAAS,MAAM,IAAI;AAAA,WACpB;AAAA,QACH;AAAA;AAAA;AAAA;AAAA,EAKN,SAAY,CAAC,SAAoC;AAAA,IAC/C,IAAI,CAAC,KAAK,SAAS;AAAA,MACjB,QAAQ,KAAK,gDAAgD;AAAA,MAC7D;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,KAAK,QAAQ,YAAY;AAAA,QACvB,MAAM;AAAA,QACN,KAAK,QAAQ;AAAA,QACb,OAAO,QAAQ;AAAA,QACf,OAAO,QAAQ;AAAA,MACjB,CAAC;AAAA,MACD,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK,mDAAmD,KAAK;AAAA;AAAA;AAAA,EAIzE,SAAY,CAAC,UAA8D;AAAA,IACzE,KAAK,UAAU,KAAK,QAAwD;AAAA,IAG5E,OAAO,MAAM;AAAA,MACX,MAAM,QAAQ,KAAK,UAAU,QAC3B,QACF;AAAA,MACA,IAAI,QAAQ,IAAI;AAAA,QACd,KAAK,UAAU,OAAO,OAAO,CAAC;AAAA,MAChC;AAAA;AAAA;AAAA,EAIJ,OAAO,GAAkB;AAAA,IAEvB,OAAO,QAAQ,QAAQ;AAAA;AAAA,EAGzB,UAAU,GAAS;AAAA,IACjB,KAAK,YAAY,CAAC;AAAA,IAClB,IAAI,KAAK,SAAS;AAAA,MAChB,KAAK,QAAQ,MAAM;AAAA,MACnB,KAAK,UAAU;AAAA,IACjB;AAAA;AAAA,EAGF,WAAW,GAAY;AAAA,IACrB,OAAO,KAAK,YAAY;AAAA;AAE5B;AAKO,SAAS,iBAAiB,GAAgB;AAAA,EAE/C,IAAI,OAAO,WAAW,eAAe,OAAO,SAAS;AAAA,IACnD,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,IAAI,OAAO,qBAAqB,aAAa;AAAA,IAC3C,OAAO,IAAI;AAAA,EACb;AAAA,EAGA,OAAO,IAAI;AAAA;;;;;;;;;;;;;AC7NN,SAAS,kBAAkB,CAChC,OACA,aACA,YACM;AAAA,EACN,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG;AAAA,IACxB,SAAS,IAAI,OAAO,IAAI,GAAK;AAAA,EAC/B;AAAA,EACA,SAAS,IAAI,KAAK,GAAG,IAAI,aAAa,UAAU;AAAA;AAS3C,SAAS,mBAAmB,CACjC,OACA,aAQM;AAAA,EACN,YAAY,aAAa,eAAe,OAAO,QAAQ,WAAW,GAAG;AAAA,IAEnE,MAAM,oBAAgC;AAAA,MACpC,SAAS,WAAW;AAAA,IACtB;AAAA,IAEA,IAAI,OAAO,WAAW,aAAa,YAAY;AAAA,MAC7C,kBAAkB,WAAW,WAAW;AAAA,IAC1C;AAAA,IAEA,IAAI,OAAO,WAAW,YAAY,YAAY;AAAA,MAC5C,kBAAkB,UAAU,WAAW;AAAA,IACzC;AAAA,IAGA,IAAI,kBAAkB,YAAY,kBAAkB,SAAS;AAAA,MAC3D,mBAAmB,OAAO,aAAa,iBAAiB;AAAA,IAC1D;AAAA,EACF;AAAA;AAMF,SAAS,iBAAiB,CACxB,WACA,OACA,aACA,OACA,eACA,iBAAmD,gBAC7C;AAAA,EACN,IAAI;AAAA,IACF,MAAM,SAAS,UAAU,KAAK;AAAA,IAC9B,IAAI,CAAC,QAAQ;AAAA,MACX,MAAM,UACJ,iBAAiB,GAAG,6BAA6B,wBAAwB;AAAA,MAC3E,MAAM,IAAI,MAAM,OAAO;AAAA,IACzB;AAAA,IACA,OAAO,OAAO;AAAA,IAEd,IAAI,iBAAiB,SAAS,MAAM,QAAQ,SAAS,GAAG,uBAAuB,GAAG;AAAA,MAChF,MAAM;AAAA,IACR;AAAA,IAEA,MAAM,UACJ,iBAAiB,GAAG,kCAAkC,wBAAwB;AAAA,IAChF,MAAM,IAAI,MAAM,GAAG,YAAY,OAAO;AAAA;AAAA;AAWnC,SAAS,kBAAkB,CAAC,aAAqB,OAAsB;AAAA,EAC5E,YAAY,OAAO,gBAAgB,UAAU;AAAA,IAC3C,MAAM,aAAa,YAAY,IAAI,WAAW;AAAA,IAC9C,IAAI,YAAY,UAAU;AAAA,MACxB,kBACE,WAAW,UACX,OACA,aACA,OACA,WAAW,SACX,cACF;AAAA,IACF;AAAA,EACF;AAAA;AAUK,SAAS,mBAAmB,CAAC,aAAqB,OAAsB;AAAA,EAC7E,YAAY,OAAO,gBAAgB,UAAU;AAAA,IAC3C,MAAM,aAAa,YAAY,IAAI,WAAW;AAAA,IAC9C,IAAI,YAAY,SAAS;AAAA,MACvB,kBACE,WAAW,SACX,OACA,aACA,OACA,WAAW,SACX,eACF;AAAA,IACF;AAAA,EACF;AAAA;AAMK,SAAS,gBAAgB,GAAS;AAAA,EACvC,SAAS,MAAM;AAAA;AAMV,SAAS,wBAAwB,GAAyC;AAAA,EAC/E,OAAO,IAAI,IAAI,QAAQ;AAAA;AAOlB,SAAS,2BAA2B,GAAY;AAAA,EAErD,IAAI,OAAO,YAAY,eAAe,QAAQ,KAAK;AAAA,IACjD,OAAO,QAAQ,IAAI,iCAAiC;AAAA,EACtD;AAAA,EAGA,IAAI,OAAO,QAAQ,eAAe,IAAI,KAAK;AAAA,IACzC,OAAO,IAAI,IAAI,iCAAiC;AAAA,EAClD;AAAA,EAGA,OAAO;AAAA;AAAA,IApKH;AAAA;AAAA,aAAW,IAAI;AAAA;;;ACZd,MAAM,0BAAyD;AAAA,OAC9D,OAAM,CAAC,kBAAuE;AAAA,IAClF,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,OAAO,aAAa,OAAO,kBAAkB,MAAM;AAAA,QACjD,IAAI,OAAO,QAAQ,WAAW;AAAA,UAC5B,OAAO,IAAI,MAAM,OAAO,QAAQ,UAAU,OAAO,CAAC;AAAA,QACpD,EAAO;AAAA,UACL,QAAQ;AAAA;AAAA,OAEX;AAAA,KACF;AAAA;AAAA,OAGG,OAAM,CACV,IACA,kBACe;AAAA,IACf,MAAM,OAAO,aAAa,OAAO,IAAI,gBAAgB;AAAA;AAAA,OAGjD,OAAM,CAAC,IAA2B;AAAA,IACtC,MAAM,OAAO,aAAa,OAAO,EAAE;AAAA;AAAA,OAG/B,UAAS,GAAkB;AAAA,IAC/B,MAAM,OAAO,aAAa,UAAU;AAAA;AAAA,EAGtC,SAAS,CACP,UACM;AAAA,IACN,OAAO,aAAa,UAAU,YAAY,QAAQ;AAAA;AAEtD;;;ACjCO,MAAM,uBAAmD;AAAA,OACxD,eAAc,CAAC,YAA8D;AAAA,IACjF,MAAM,OAAO,UAAU,eAAe;AAAA,MACpC,KAAK,WAAW;AAAA,MAChB,SAAS,WAAW;AAAA,MACpB,eAAe,WAAW;AAAA,IAC5B,CAAC;AAAA;AAAA,OAGG,cAAa,GAAkB;AAAA,IACnC,MAAM,OAAO,UAAU,cAAc;AAAA;AAAA,OAGjC,YAAW,GAAqB;AAAA,IAEpC,MAAM,mBAAmB,MAAM,OAAO,QAAQ,YAAY;AAAA,MACxD,cAAc,CAAC,oBAAkD;AAAA,IACnE,CAAC;AAAA,IACD,OAAO,iBAAiB,SAAS;AAAA;AAErC;;;ACRO,MAAM,qBAA+C;AAAA,EAClD,mBAAmB,IAAI;AAAA,SAChB,gBAAgB;AAAA,EAE/B,WAAc,CAAC,SAA8B;AAAA,IAC3C,OAAO,OAAO,QAAQ,YAAY,OAAO;AAAA;AAAA,EAG3C,SAAS,CACP,UAKM;AAAA,IACN,MAAM,kBAAkB,CACtB,SACA,QACA,iBACG;AAAA,MACH,MAAM,eAA8B;AAAA,WAC9B,OAAO,OAAO;AAAA,UAChB,KAAK;AAAA,YACH,IAAI,OAAO,IAAI,MAAM;AAAA,YACrB,KAAK,OAAO,IAAI,OAAO;AAAA,YACvB,OAAO,OAAO,IAAI,SAAS;AAAA,UAC7B;AAAA,QACF;AAAA,WACI,OAAO,YAAY,aAAa,EAAE,SAAS,OAAO,QAAQ;AAAA,WAC1D,OAAO,OAAO,EAAE,KAAK,OAAO,IAAI;AAAA,MACtC;AAAA,MACA,OAAO,SAAS,SAAS,cAAc,YAAY;AAAA;AAAA,IAGrD,KAAK,iBAAiB,IAAI,UAAU,eAAe;AAAA,IAGnD,OAAO,QAAQ,UAAU,YACvB,eAKF;AAAA,IAGA,qBAAqB;AAAA,IAErB,IAAI,qBAAqB,gBAAgB,GAAG;AAAA,MAC1C,QAAQ,KACN,gBAAe,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oDACtC;AAAA,IACF;AAAA;AAAA,EAGF,qBAAqB,CACnB,UAKM;AAAA,IACN,MAAM,kBAAkB,KAAK,iBAAiB,IAAI,QAAQ;AAAA,IAC1D,IAAI,iBAAiB;AAAA,MAEnB,OAAO,QAAQ,UAAU,eACvB,eAKF;AAAA,MACA,KAAK,iBAAiB,OAAO,QAAQ;AAAA,MAGrC,qBAAqB,gBAAgB,KAAK,IAAI,GAAG,qBAAqB,gBAAgB,CAAC;AAAA,IACzF;AAAA;AAAA,EAGF,OAAO,CAAC,MAA2B;AAAA,IACjC,MAAM,OAAO,OAAO,QAAQ,QAAQ,EAAE,KAAK,CAAC;AAAA,IAC5C,OAAO,IAAI,kBAAkB,IAAI;AAAA;AAAA,EAGnC,SAAS,CAAC,UAA6C;AAAA,IACrD,OAAO,QAAQ,UAAU,YAAY,CAAC,SAAS;AAAA,MAC7C,SAAS,IAAI,kBAAkB,IAAI,CAAC;AAAA,KACrC;AAAA;AAAA,EAGH,MAAM,CAAC,MAAsB;AAAA,IAC3B,OAAO,OAAO,QAAQ,OAAO,IAAI;AAAA;AAAA,EAGnC,KAAK,GAAW;AAAA,IACd,OAAO,OAAO,QAAQ;AAAA;AAAA,EAGxB,eAAe,GAAS;AAAA,IACtB,OAAO,QAAQ,gBAAgB;AAAA;AAEnC;AAAA;AAEA,MAAM,kBAAyC;AAAA,EAMzB;AAAA,EALZ,YAAY;AAAA,IAClB,SAAS,IAAI;AAAA,IACb,YAAY,IAAI;AAAA,EAClB;AAAA,EAEA,WAAW,CAAS,MAA2B;AAAA,IAA3B;AAAA,IAElB,KAAK,KAAK,UAAU,YAAY,CAAC,YAAY;AAAA,MAC3C,WAAW,YAAY,KAAK,UAAU,SAAS;AAAA,QAC7C,SAAS,OAAO;AAAA,MAClB;AAAA,KACD;AAAA,IAED,KAAK,KAAK,aAAa,YAAY,MAAM;AAAA,MACvC,WAAW,YAAY,KAAK,UAAU,YAAY;AAAA,QAChD,SAAS;AAAA,MACX;AAAA,KACD;AAAA;AAAA,MAGC,IAAI,GAAW;AAAA,IACjB,OAAO,KAAK,KAAK;AAAA;AAAA,EAGnB,WAAW,CAAC,SAAwB;AAAA,IAClC,KAAK,KAAK,YAAY,OAAO;AAAA;AAAA,EAG/B,SAAS,CAAC,UAA4C;AAAA,IACpD,KAAK,UAAU,QAAQ,IAAI,QAAQ;AAAA;AAAA,EAGrC,YAAY,CAAC,UAA4B;AAAA,IACvC,KAAK,UAAU,WAAW,IAAI,QAAQ;AAAA;AAAA,EAGxC,UAAU,GAAS;AAAA,IACjB,KAAK,KAAK,WAAW;AAAA;AAEzB;;;AC3JO,MAAM,qBAA+C;AAAA,OACpD,IAAgC,CAAC,MAA4C;AAAA,IACjF,IAAI,SAAS,MAAM;AAAA,MACjB,OAAQ,MAAM,OAAO,QAAQ,MAAM,IAAI;AAAA,IACzC;AAAA,IACA,OAAQ,MAAM,OAAO,QAAQ,MAAM,IAAI,IAAa;AAAA;AAAA,OAGhD,IAAG,CAAC,OAA+C;AAAA,IACvD,MAAM,OAAO,QAAQ,MAAM,IAAI,KAAK;AAAA;AAAA,OAGhC,OAAM,CAAC,MAAwC;AAAA,IACnD,MAAM,OAAO,QAAQ,MAAM,OAAO,IAAI;AAAA;AAAA,OAGlC,MAAK,GAAkB;AAAA,IAC3B,MAAM,OAAO,QAAQ,MAAM,MAAM;AAAA;AAAA,EAGnC,SAAS,CAAC,UAAqE;AAAA,IAC7E,OAAO,QAAQ,UAAU,YAAY,CAAC,SAAS,aAAa;AAAA,MAC1D,MAAM,gBAAgC,CAAC;AAAA,MACvC,YAAY,KAAK,WAAW,OAAO,QAAQ,OAAO,GAAG;AAAA,QACnD,cAAc,OAAO;AAAA,UACnB,UAAU,OAAO;AAAA,UACjB,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,MACA,SAAS,eAAe,QAAQ;AAAA,KACjC;AAAA;AAEL;;;AChCO,MAAM,kBAAyC;AAAA,OAC9C,MAAK,CAAC,WAA8D;AAAA,IACxE,OAAO,OAAO,KAAK,MAAM,SAAS;AAAA;AAAA,OAG9B,IAAG,CAAC,OAAyC;AAAA,IACjD,OAAO,OAAO,KAAK,IAAI,KAAK;AAAA;AAAA,OAGxB,YAAW,CAAC,OAAe,SAAoC;AAAA,IACnE,OAAO,OAAO,KAAK,YAAY,OAAO,OAAO;AAAA;AAAA,OAGzC,OAAM,CAAC,OAAe,kBAA6D;AAAA,IACvF,IAAI,kBAAkB;AAAA,MACpB,MAAM,OAAO,KAAK,OAAO,OAAO,gBAAgB;AAAA,IAClD,EAAO;AAAA,MACL,MAAM,OAAO,KAAK,OAAO,KAAK;AAAA;AAAA;AAAA,EAIlC,SAAS,CAAC,UAAgF;AAAA,IACxF,OAAO,KAAK,UAAU,YAAY,QAAQ;AAAA;AAAA,EAG5C,SAAS,CACP,UACM;AAAA,IACN,OAAO,KAAK,UAAU,YAAY,QAAQ;AAAA;AAAA,EAG5C,WAAW,CAAC,UAA2E;AAAA,IACrF,OAAO,KAAK,YAAY,YAAY,QAAQ;AAAA;AAAA,OAGxC,OAAM,CAAC,kBAA0E;AAAA,IACrF,OAAO,OAAO,KAAK,OAAO,gBAAgB;AAAA;AAE9C;;;ACtCO,MAAM,oBAA6C;AAAA,EACxD,WAAW,CAAC,SAAkB,cAA4B;AAAA,IACxD,OAAO,YAAY,SAAS,YAAY;AAAA;AAAA,EAG1C,gBAAgB,CAAC,MAAiB,UAA+C;AAAA,IAC/E,OAAO,iBAAiB,MAAM,QAAyB;AAAA;AAAA,EAGzD,mBAAmB,CAAC,MAAiB,UAA+C;AAAA,IAClF,OAAO,oBAAoB,MAAM,QAAyB;AAAA;AAE9D;;;ACVO,MAAM,oBAA4C;AAAA,EACvD,KAAK,CAAC,OAAqB,MAAuC;AAAA,IAChE,OAAO,MAAM,OAAO,IAAI;AAAA;AAE5B;;;AC8BO,MAAM,qBAA8C;AAAA,EAE/C;AAAA,EACA;AAAA,EACA;AAAA,EAHV,WAAW,CACD,SACA,eACA,SACR;AAAA,IAHQ;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGV,KAAK,CAAC,SAAiB,SAAyC;AAAA,IAC9D,KAAK,QAAQ,SAAS,SAAS,OAAO;AAAA;AAAA,EAGxC,IAAI,CAAC,SAAiB,SAAyC;AAAA,IAC7D,KAAK,QAAQ,QAAQ,SAAS,OAAO;AAAA;AAAA,EAGvC,IAAI,CAAC,SAAiB,SAAyC;AAAA,IAC7D,KAAK,QAAQ,QAAQ,SAAS,OAAO;AAAA;AAAA,EAGvC,KAAK,CAAC,SAAiB,OAAe,SAAyC;AAAA,IAC7E,KAAK,QAAQ,SAAS,SAAS,SAAS,KAAK;AAAA;AAAA,EAG/C,GAAG,CAAC,OAAiB,SAAiB,SAAyC;AAAA,IAC7E,KAAK,QAAQ,OAAO,SAAS,OAAO;AAAA;AAAA,EAG9B,OAAO,CACb,OACA,SACA,SACA,OACM;AAAA,IAEN,IAAI,KAAK,SAAS,eAAe;AAAA,MAC/B,MAAM,gBAAgB,QAAQ,UAAU,QAAQ;AAAA,MAChD,cAAc,IAAI,KAAK,kBAAkB,SAAS,WAAW,IAAI,SAAS,EAAE;AAAA,IAC9E;AAAA,IAGA,MAAM,aAAa;AAAA,MACjB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK,IAAI;AAAA,IACtB;AAAA,IAGA,KAAK,QAAQ,YAAY,UAAU,EAAE,MAAM,CAAC,cAAc;AAAA,MAExD,IAAI,KAAK,SAAS,sBAAsB,OAAO;AAAA,QAC7C,QAAQ,OAAO,IAAI,KAAK,kBAAkB,WAAW,WAAW,IAAI,SAAS,EAAE;AAAA,QAC/E,QAAQ,KAAK,+BAA+B,SAAS;AAAA,MACvD;AAAA,KACD;AAAA;AAEL;;;AChCO,SAAS,mBAAmB,CAAC,UAA0B,CAAC,GAAkB;AAAA,EAE/E,IAAI,QAAQ,WAAW,QAAQ,MAAM;AAAA,IACnC,OAAO;AAAA,MACL,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,IAChB;AAAA,EACF;AAAA,EAGA,MAAM,UAAU,QAAQ,WAAW,qBAAqB;AAAA,EAGxD,IAAI;AAAA,EAEJ,IAAI,QAAQ,MAAM;AAAA,IAChB,OAAO,QAAQ;AAAA,EACjB,EAAO,SAAI,QAAQ,WAAW;AAAA,IAE5B,QAAQ;AAAA,IACR,OAAO,IAAI;AAAA,EACb,EAAO;AAAA,IAEL,OAAO,kBAAkB;AAAA;AAAA,EAG3B,OAAO,EAAE,SAAS,KAAK;AAAA;AAMlB,SAAS,oBAAoB,GAAkB;AAAA,EACpD,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,EACZ;AAAA;AAMK,SAAS,iBAAiB,CAC/B,UAA0E,CAAC,GAC5D;AAAA,EACf,QAAQ;AAAA,EACR,QAAQ,2DAA6B;AAAA,EAErC,MAAM,UAAU,IAAI,kBAAiB,QAAQ,MAAM;AAAA,EAEnD,MAAM,OAAO,QAAQ,YACjB,IAAI,mBACJ,IAAI,6BAA4B,QAAQ,WAAW;AAAA,EAEvD,OAAO,EAAE,SAAS,KAAK;AAAA;AAMlB,SAAS,kBAAkB,GAAkB;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,EACZ;AAAA;AAMK,SAAS,kBAAkB,GAAkB;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,EACZ;AAAA;;;ACjHK,SAAS,qBAAoB,CAClC,SACA,SACmB;AAAA,EACnB,MAAM,WAAU,IAAI;AAAA,EAEpB,OAAO;AAAA,IACL;AAAA,IACA,SAAS,IAAI;AAAA,IACb,MAAM,IAAI;AAAA,IACV,QAAQ,IAAI;AAAA,IACZ,WAAW,IAAI;AAAA,IACf,cAAc,IAAI;AAAA,IAClB,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI,qBAAqB,UAAS,SAAS;AAAA,SAC7C,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,MACnF,mBAAmB;AAAA,IACrB,CAAC;AAAA,EACH;AAAA;;;ACnCK,IAAM,eAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAYO,IAAM,kBAA4B;AAAA,EACvC,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,iBAAiB;AACnB;;;AC1CO,MAAM,uBAAuB,MAAM;AAAA,EAGtB;AAAA,EACA;AAAA,EAHlB,WAAW,CACT,SACgB,MACA,SAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAHG;AAAA,IACA;AAAA,IAGhB,KAAK,OAAO,KAAK,YAAY;AAAA,IAC7B,MAAM,oBAAoB,MAAM,KAAK,WAAW;AAAA;AAEpD;AAAA;AAKO,MAAM,qBAAqB,eAAe;AAAA,EAG7B;AAAA,EAFlB,WAAW,CACT,SACgB,WAChB,SACA;AAAA,IACA,MAAM,SAAS,iBAAiB,KAAK,SAAS,UAAU,CAAC;AAAA,IAHzC;AAAA;AAKpB;AAAA;AAKO,MAAM,wBAAwB,eAAe;AAAA,EAClD,WAAW,CAAC,SAAiB,SAAmC;AAAA,IAC9D,MAAM,SAAS,oBAAoB,OAAO;AAAA;AAE9C;AAAA;AAKO,MAAM,2BAA2B,eAAe;AAAA,EACrD,WAAW,CAAC,SAAiB,SAAmC;AAAA,IAC9D,MAAM,SAAS,wBAAwB,OAAO;AAAA;AAElD;AAAA;AAKO,MAAM,qBAAqB,eAAe;AAAA,EAG7B;AAAA,EAFlB,WAAW,CACT,SACgB,aAChB,SACA;AAAA,IACA,MAAM,SAAS,iBAAiB,KAAK,SAAS,YAAY,CAAC;AAAA,IAH3C;AAAA;AAKpB;AAAA;AAKO,MAAM,iBAAiB,eAAe;AAAA,EAGzB;AAAA,EAFlB,WAAW,CACT,SACgB,YAChB,SACA;AAAA,IACA,MAAM,SAAS,aAAa,KAAK,SAAS,WAAW,CAAC;AAAA,IAHtC;AAAA;AAKpB;AAAA;AAKO,MAAM,uBAAuB,eAAe;AAAA,EACjD,WAAW,CAAC,SAAiB,SAAmC;AAAA,IAC9D,MAAM,SAAS,mBAAmB,OAAO;AAAA;AAE7C;AAAA;AAKO,MAAM,aAAa;AAAA,EACJ;AAAA,EAApB,WAAW,CAAS,SAAuB;AAAA,IAAvB;AAAA;AAAA,EAKpB,KAAK,CAAC,OAA8B;AAAA,IAClC,KAAK,OAAO,MAAM,MAAM,SAAS,OAAO,MAAM,OAAO;AAAA,IACrD,MAAM;AAAA;AAAA,EAMR,MAAM,CAAC,OAAuC;AAAA,IAC5C,KAAK,OAAO,MAAM,MAAM,SAAS,OAAO,MAAM,OAAO;AAAA,IACrD,OAAO;AAAA;AAAA,EAMT,IAAI,CACF,OACA,SACA,MACA,SACgB;AAAA,IAChB,MAAM,gBAAgB,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,IAC9E,MAAM,eAAe,IAAI,eAAe,GAAG,YAAY,cAAc,WAAW,MAAM;AAAA,SACjF;AAAA,MACH,eAAe,cAAc;AAAA,MAC7B,eAAe,cAAc;AAAA,IAC/B,CAAC;AAAA,IAGD,IAAI,cAAc,OAAO;AAAA,MACvB,aAAa,QAAQ,cAAc;AAAA,IACrC;AAAA,IAEA,KAAK,OAAO,MAAM,aAAa,SAAS,cAAc,aAAa,OAAO;AAAA,IAC1E,OAAO;AAAA;AAEX;;;AC3EO,SAAS,0BAA0B,GAAyB;AAAA,EACjE,OAAO;AAAA,IACL,WAAW,GAAG;AAAA,MACZ,OAAO;AAAA,QACL,KAAK,OAAO,SAAS;AAAA,QACrB,OAAO,SAAS;AAAA,QAChB,MAAM,OAAO,SAAS;AAAA,QACtB,UAAU,OAAO,SAAS;AAAA,QAC1B,YAAY,SAAS;AAAA,MACvB;AAAA;AAAA,IAGF,aAAa,CAAC,UAAkB;AAAA,MAC9B,MAAM,WAAW,SAAS,iBAAiB,QAAQ;AAAA,MACnD,OAAO,MAAM,KAAK,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAAA,QACvC,SAAS,GAAG;AAAA,QACZ,IAAI,GAAG;AAAA,QACP,WAAW,GAAG;AAAA,QACd,aAAa,GAAG,aAAa,MAAM,GAAG,GAAG,KAAK;AAAA,MAChD,EAAE;AAAA;AAAA,IAGJ,eAAe,GAAG;AAAA,MAChB,MAAM,WAAmC,CAAC;AAAA,MAC1C,MAAM,WAAW,SAAS,iBAAiB,MAAM;AAAA,MAEjD,WAAW,OAAO,MAAM,KAAK,QAAQ,GAAG;AAAA,QACtC,MAAM,OAAO,IAAI,aAAa,MAAM,KAAK,IAAI,aAAa,UAAU;AAAA,QACpE,MAAM,UAAU,IAAI,aAAa,SAAS;AAAA,QAE1C,IAAI,QAAQ,SAAS;AAAA,UACnB,SAAS,QAAQ;AAAA,QACnB;AAAA,MACF;AAAA,MAEA,OAAO;AAAA;AAAA,IAGT,SAAS,CAAC,KAAa;AAAA,MACrB,MAAM,UAAU,gBAAgB,KAAK,IAAI;AAAA,MACzC,MAAM,QAAQ,SAAS,cAAc,OAAO;AAAA,MAC5C,MAAM,KAAK;AAAA,MACX,MAAM,cAAc;AAAA,MACpB,SAAS,KAAK,YAAY,KAAK;AAAA;AAAA,IAGjC,SAAS,CAAC,SAAiB;AAAA,MACzB,MAAM,QAAQ,SAAS,eAAe,OAAO;AAAA,MAC7C,IAAI,OAAO;AAAA,QACT,MAAM,OAAO;AAAA,MACf;AAAA;AAAA,EAEJ;AAAA;AA6BK,SAAS,qBAAqB,GAAoB;AAAA,EACvD,OAAO;AAAA,QACD,cAAc,GAAG;AAAA,MACnB,OAAO,OAAO,UAAU,iBAAiB;AAAA;AAAA,IAG3C,UAAuB,CAAC,MAA0B;AAAA,MAChD,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,QACtC,IAAI,CAAC,OAAO,UAAU,iBAAiB;AAAA,UACrC,OAAO,IAAI,MAAM,wCAAwC,CAAC;AAAA,UAC1D;AAAA,QACF;AAAA,QAEA,OAAO,SAAS,gBAAgB,KAAK,MAAM,CAAC,QAAQ,UAAU;AAAA,UAC5D,IAAI,OAAO;AAAA,YACT,OAAO,IAAI,MAAM,MAAM,cAAc,MAAM,QAAQ,iBAAiB,CAAC;AAAA,UACvE,EAAO;AAAA,YACL,QAAQ,MAAW;AAAA;AAAA,SAEtB;AAAA,OACF;AAAA;AAAA,IAGH,eAAe,CAAC,KAA8B;AAAA,MAC5C,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,QACtC,IAAI,CAAC,OAAO,UAAU,iBAAiB;AAAA,UACrC,OAAO,IAAI,MAAM,wCAAwC,CAAC;AAAA,UAC1D;AAAA,QACF;AAAA,QAEA,OAAO,SAAS,gBAAgB,aAAa,CAAC,cAAc;AAAA,UAC1D,MAAM,WAAW,UAAU,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG;AAAA,UACpD,IAAI,CAAC,UAAU;AAAA,YACb,OAAO,IAAI,MAAM,uBAAuB,KAAK,CAAC;AAAA,YAC9C;AAAA,UACF;AAAA,UAEA,SAAS,WAAW,CAAC,SAAS,aAAa;AAAA,YACzC,IAAI,aAAa,UAAU;AAAA,cACzB,QAAQ,KAAK,OAAO,CAAC;AAAA,YACvB,EAAO;AAAA,cACL,QAAQ,OAAO;AAAA;AAAA,WAElB;AAAA,SACF;AAAA,OACF;AAAA;AAAA,IAGH,mBAAmB,CAAC,UAAU,CAAC,GAAG;AAAA,MAChC,IAAI,CAAC,OAAO,UAAU,iBAAiB;AAAA,QACrC,QAAQ,KAAK,wCAAwC;AAAA,QACrD;AAAA,MACF;AAAA,MAEA,OAAO,SAAS,gBAAgB,OAAO,OAAO;AAAA;AAAA,EAElD;AAAA;AAwBK,SAAS,kBAAkB,CAAC,UAA2C;AAAA,EAC5E,OAAO;AAAA,SACC,cAAa,GAAG;AAAA,MACpB,MAAM,QAAO,MAAM,SAAS,KAAK,MAAM,EAAE,QAAQ,MAAM,eAAe,KAAK,CAAC;AAAA,MAC5E,OAAO,MAAK;AAAA;AAAA,IAGd,UAAU,GAAG;AAAA,MACX,OAAO,MAAM;AAAA;AAAA,IAGf,aAAa,CAAC,OAAe,QAAgB;AAAA,MAC3C,SAAS,KAAK,MAAM,QAAQ,GAAG;AAAA,MAC/B,SAAS,KAAK,MAAM,SAAS,GAAG;AAAA;AAAA,EAEpC;AAAA;AAwBK,SAAS,oBAAoB,CAAC,UAA6C;AAAA,EAChF,OAAO;AAAA,IACL,YAAY,CAAC,MAAc;AAAA,MACzB,SAAS,KAAK,OAAO,EAAE,KAAK,KAAK,CAAC;AAAA;AAAA,IAGpC,oBAAoB,CAAC,UAAU,mBAAmB,WAAW,MAAM;AAAA,MACjE,MAAM,eAAe,SAAS,cAAc,KAAK;AAAA,MACjD,aAAa,cAAc;AAAA,MAC3B,aAAa,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAa7B,SAAS,KAAK,YAAY,YAAY;AAAA,MAEtC,WAAW,MAAM;AAAA,QACf,aAAa,MAAM,YAAY;AAAA,QAC/B,WAAW,MAAM,aAAa,OAAO,GAAG,GAAG;AAAA,SAC1C,QAAQ;AAAA;AAAA,IAGb,SAAS,CAAC,SAAiB,WAAW,MAAM;AAAA,MAC1C,MAAM,eAAe,SAAS,cAAc,KAAK;AAAA,MACjD,aAAa,cAAc;AAAA,MAC3B,aAAa,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAa7B,SAAS,KAAK,YAAY,YAAY;AAAA,MAEtC,WAAW,MAAM;AAAA,QACf,aAAa,MAAM,YAAY;AAAA,QAC/B,WAAW,MAAM,aAAa,OAAO,GAAG,GAAG;AAAA,SAC1C,QAAQ;AAAA;AAAA,EAEf;AAAA;AAwBK,SAAS,sBAAsB,CAAC,UAA+C;AAAA,EACpF,OAAO;AAAA,SACC,cAAa,GAAG;AAAA,MACpB,MAAM,QAAO,MAAM,SAAS,KAAK,MAAM,EAAE,QAAQ,MAAM,eAAe,KAAK,CAAC;AAAA,MAC5E,OAAO,MAAK;AAAA;AAAA,IAGd,SAAS,GAAG;AAAA,MACV,OAAO,SAAS,oBAAoB;AAAA;AAAA,IAGtC,QAAQ,CAAC,OAAe;AAAA,MACtB,SAAS,KAAK,MAAM,QAAQ,GAAG;AAAA;AAAA,EAEnC;AAAA;AAkCK,SAAS,uBAAuB,CAAC,UAAgD;AAAA,EACtF,OAAO;AAAA,SACC,WAAU,GAAG;AAAA,MACjB,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA;AAAA,IAG/B,iBAAiB,CAAC,MAA0B;AAAA,MAC1C,OAAO,OAAO,UAAU,SACtB,SAAS,SAAS,WAAW,SAAS,SAAS,EAAE,KAAK,IAAI,SAC5D;AAAA;AAAA,IAGF,eAAe,GAAG;AAAA,MAChB,SAAS,QAAQ,gBAAgB;AAAA;AAAA,IAGnC,QAAQ,CAAC,MAAc,QAAQ,WAAW;AAAA,MACxC,OAAO,OAAO,aAAa,EAAE,KAAK,CAAC;AAAA,MACnC,OAAO,OAAO,wBAAwB,EAAE,MAAM,CAAC;AAAA;AAAA,IAGjD,UAAU,GAAG;AAAA,MACX,OAAO,OAAO,aAAa,EAAE,MAAM,GAAG,CAAC;AAAA;AAAA,EAE3C;AAAA;;;AClZK,MAAM,wBAAwB;AAAA,EAC3B,aAAa,IAAI;AAAA,EACR;AAAA,EAEjB,WAAW,GAAG;AAAA,IAEZ,KAAK,gBACH,OAAO,YAAY,gBAClB,QAAQ,KAAK,aAAa,iBAAiB,QAAQ,KAAK,aAAa;AAAA;AAAA,EAW1E,KAAK,CAAC,WAAmB,aAA2B;AAAA,IAClD,IAAI,CAAC,KAAK;AAAA,MAAe;AAAA,IAEzB,IAAI,gBAAgB,KAAK,WAAW,IAAI,SAAS;AAAA,IACjD,IAAI,CAAC,eAAe;AAAA,MAClB,gBAAgB,IAAI;AAAA,MACpB,KAAK,WAAW,IAAI,WAAW,aAAa;AAAA,IAC9C;AAAA,IAEA,MAAM,SAAS,cAAc,IAAI,WAAW,KAAK,KAAK;AAAA,IACtD,cAAc,IAAI,aAAa,KAAK;AAAA,IAEpC,IAAI,QAAQ,GAAG;AAAA,MACb,MAAM,QAAQ,IAAI,MAChB;AAAA;AAAA,WAA2C,yBAAyB,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACjG;AAAA,MAEA,QAAQ,MAAM,KAAK;AAAA,MAGnB,QAAQ,MAAM,gCAAgC,SAAS;AAAA,MACvD,QAAQ,MAAM,MAAM,KAAK,cAAc,QAAQ,CAAC,CAAC;AAAA,MAEjD,MAAM;AAAA,IACR;AAAA,IAGA,WAAW,MAAM;AAAA,MACf,KAAK,WAAW,OAAO,SAAS;AAAA,OAC/B,IAAI;AAAA;AAAA,EAMT,KAAK,GAAS;AAAA,IACZ,KAAK,WAAW,MAAM;AAAA;AAAA,EAOxB,iBAAiB,CAAC,WAAmB,aAA6B;AAAA,IAChE,OAAO,KAAK,WAAW,IAAI,SAAS,GAAG,IAAI,WAAW,KAAK;AAAA;AAE/D;AAGO,IAAM,yBAAyB,IAAI;;;ACrCnC,SAAS,eAA2D,CACzE,OACkC;AAAA,EAClC,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EAExD,IAAI,EAAE,QAAQ,UAAU,EAAE,YAAY,UAAU,EAAE,aAAa,UAAU,EAAE,aAAa,QAAQ;AAAA,IAC9F,OAAO;AAAA,EACT;AAAA,EAEA,OACE,OAAO,MAAM,OAAO,YACpB,OAAO,MAAM,WAAW,YACxB,MAAM,QAAQ,MAAM,OAAO,KAC3B,OAAO,MAAM,YAAY,YACzB,MAAM,YAAY;AAAA;AAIf,SAAS,gBAA4D,CAC1E,OACmC;AAAA,EACnC,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EAExD,IAAI,EAAE,QAAQ,UAAU,EAAE,aAAa,QAAQ;AAAA,IAC7C,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAO,MAAM,OAAO,YAAY,OAAO,MAAM,YAAY;AAAA;AAAA;AAY3D,MAAM,WAA4D;AAAA,EAChE;AAAA,EACA;AAAA,EACA;AAAA,EAQA,kBAAkB,IAAI;AAAA,EAIrB,WAAW,IAAI;AAAA,EACf,OAAmE;AAAA,EACnE;AAAA,EACA,oBAA8E,CAAC;AAAA,EAC/E,gBAAwC;AAAA,EACzC,kBAMI;AAAA,EAEX,WAAW,CACT,SACA,UACA,SACA;AAAA,IACA,KAAK,UAAU;AAAA,IACf,KAAK,WAAW,YAAY,sBAAqB,OAAO;AAAA,IACxD,KAAK,eAAe,IAAI,aAAa,KAAK,SAAS,MAAM;AAAA,IACzD,KAAK,UAAU,KAAK,qBAAqB;AAAA,IAGzC,IAAI,CAAC,SAAS,mBAAmB;AAAA,MAC/B,KAAK,eAAe;AAAA,IACtB;AAAA;AAAA,OASI,KAAwB,CAC5B,SACA,SAQA;AAAA,IACA,MAAM,KAAK,OAAO,WAAW;AAAA,IAG7B,IAAI;AAAA,IACJ,IAAI,SAAS,QAAQ;AAAA,MAEnB,IAAI,MAAM,QAAQ,QAAQ,MAAM,GAAG;AAAA,QACjC,UAAU,QAAQ;AAAA,MACpB,EAAO;AAAA,QACL,UAAU,CAAC,QAAQ,MAAM;AAAA;AAAA,IAE7B,EAAO;AAAA,MACL,MAAM,iBAAiB,KAAK,YAAY,QAAQ,IAAI;AAAA,MACpD,IAAI,CAAC,gBAAgB;AAAA,QACnB,MAAM,IAAI,MACR,iBAAiB,QAAQ,4EAC3B;AAAA,MACF;AAAA,MAEA,UAAU,MAAM,QAAQ,cAAc,IAAI,iBAAiB,CAAC,cAAc;AAAA;AAAA,IAG5E,MAAM,UAA4B;AAAA,MAChC;AAAA,MACA,QAAQ,KAAK;AAAA,MACb;AAAA,SACI,SAAS,UAAU,aAAa,EAAE,OAAO,QAAQ,MAAM;AAAA,MAC3D,WAAW,KAAK,IAAI;AAAA,MACpB;AAAA,IACF;AAAA,IAEA,OAAO,IAAI,QAAwC,CAAC,SAAS,WAAW;AAAA,MACtE,MAAM,YAAY,SAAS,WAAW;AAAA,MACtC,MAAM,UAAU,WAAW,MAAM;AAAA,QAC/B,KAAK,gBAAgB,OAAO,EAAE;AAAA,QAC9B,MAAM,QAAQ,IAAI,aAAa,oBAAoB,QAAQ,QAAQ,WAAW;AAAA,UAC5E,aAAa,QAAQ;AAAA,UACrB;AAAA,QACF,CAAC;AAAA,QACD,KAAK,oBAAoB,KAAK;AAAA,QAC9B,OAAO,KAAK,aAAa,OAAO,KAAK,CAAC;AAAA,SACrC,SAAS;AAAA,MAEZ,KAAK,gBAAgB,IAAI,IAAI;AAAA,QAC3B,SAAS,CAAC,UAAU;AAAA,UAClB,aAAa,OAAO;AAAA,UACpB,QAAQ,KAAK;AAAA;AAAA,QAEf,QAAQ,CAAC,UAAU;AAAA,UACjB,aAAa,OAAO;AAAA,UACpB,OAAO,KAAK;AAAA;AAAA,QAEd,WAAW,KAAK,IAAI;AAAA,QACpB;AAAA,MACF,CAAC;AAAA,MAGD,KAAK,YAAY,OAAO;AAAA,KACzB;AAAA;AAAA,EAOH,SAA6B,CAAC,SAAkB;AAAA,IAC9C,MAAM,UAA4B;AAAA,MAChC,IAAI,OAAO,WAAW;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,SAAS;AAAA,MACT,WAAW,KAAK,IAAI;AAAA,MACpB;AAAA,IACF;AAAA,IAEA,KAAK,YAAY,OAAO;AAAA;AAAA,EAQ1B,EAA8B,CAC5B,MACA,SAMM;AAAA,IAIN,MAAM,WAAW,KAAK,SAAS,IAAI,IAAI,KAAK,CAAC;AAAA,IAC7C,SAAS,KAAK,OAAO;AAAA,IACrB,KAAK,SAAS,IAAI,MAAM,QAAQ;AAAA;AAAA,EAgBlC,gBAAgB,CAAC,UAAsD;AAAA,IACrE,YAAY,MAAM,YAAY,OAAO,QAAQ,QAAQ,GAAG;AAAA,MACtD,IAAI,SAAS;AAAA,QACX,MAAM,WAAW,KAAK,SAAS,IAAI,IAAI,KAAK,CAAC;AAAA,QAC7C,SAAS,KAAK,OAAO;AAAA,QACrB,KAAK,SAAS,IAAI,MAAM,QAAQ;AAAA,MAClC;AAAA,IACF;AAAA;AAAA,EAeF,OAAO,CAAC,SAAkE;AAAA,IACxE,KAAK,kBAAkB,KAAK,OAAO;AAAA;AAAA,EAuBrC,gBAAgB,CAAC,UAA+B;AAAA,IAC9C,KAAK,gBAAgB;AAAA;AAAA,OAYjB,iBAAoC,CACxC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,aAAa,CAAC;AAAA;AAAA,OAW1D,oBAAuC,CAC3C,OACA,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,WAAW,MAAM,CAAC;AAAA;AAAA,OAY9D,cAAiC,CACrC,SACA,SAQA;AAAA,IACA,MAAM,QAAO,MAAM,KAAK,SAAS,KAAK,MAAM,CAAC,CAAC;AAAA,IAC9C,OAAO,QAAQ,IACb,MAAK,IAAI,CAAC,QACR,IAAI,KAAK,KAAK,oBAAoB,IAAI,IAAI,SAAS,OAAO,IAAI,QAAQ,QAAQ,SAAS,CACzF,CACF;AAAA;AAAA,OAWI,YAA+B,CACnC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,QAAQ,CAAC;AAAA;AAAA,OAWrD,cAAiC,CACrC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,UAAU,CAAC;AAAA;AAAA,OAWvD,eAAkC,CACtC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,WAAW,CAAC;AAAA;AAAA,OAWxD,gBAAmC,CACvC,SACA,SAIA;AAAA,IACA,OAAO,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,YAAY,CAAC;AAAA;AAAA,EAO/D,OAAO,CAAC,MAAoB;AAAA,IAC1B,IAAI,KAAK,MAAM;AAAA,MACb,QAAQ,KAAK,IAAI,KAAK,oCAAoC,KAAK,KAAK,MAAM;AAAA,MAC1E;AAAA,IACF;AAAA,IAEA,KAAK,OAAO,KAAK,SAAS,QAAQ,QAAQ,IAAI;AAAA,IAE9C,KAAK,KAAK,UAAU,CAAC,YAAqB;AAAA,MACxC,IAAI,gBAA0B,OAAO,KAAK,iBAA2B,OAAO,GAAG;AAAA,QAC7E,KAAK,cAAc,OAAO;AAAA,MAC5B;AAAA,KACD;AAAA,IAED,KAAK,KAAK,aAAa,MAAM;AAAA,MAC3B,KAAK,SAAS,OAAO,KAAK,qBAAqB;AAAA,QAC7C,SAAS,KAAK;AAAA,QACd,UAAU;AAAA,MACZ,CAAC;AAAA,MACD,KAAK,OAAO;AAAA,MAGZ,YAAY,IAAI,YAAY,KAAK,gBAAgB,QAAQ,GAAG;AAAA,QAC1D,MAAM,QAAQ,IAAI,gBAAgB,qBAAqB;AAAA,UACrD,SAAS,KAAK;AAAA,UACd,UAAU;AAAA,UACV,WAAW;AAAA,QACb,CAAC;AAAA,QACD,KAAK,oBAAoB,KAAK;AAAA,QAC9B,QAAQ,OAAO,KAAK,aAAa,OAAO,KAAK,CAAC;AAAA,QAC9C,aAAa,QAAQ,OAAO;AAAA,QAC5B,KAAK,gBAAgB,OAAO,EAAE;AAAA,MAChC;AAAA,KACD;AAAA;AAAA,EAMH,UAAU,GAAS;AAAA,IACjB,IAAI,KAAK,MAAM;AAAA,MACb,KAAK,KAAK,WAAW;AAAA,MACrB,KAAK,OAAO;AAAA,IACd;AAAA;AAAA,EAMF,OAAO,GAAS;AAAA,IACd,KAAK,WAAW;AAAA,IAChB,KAAK,SAAS,MAAM;AAAA,IAGpB,WAAW,WAAW,KAAK,gBAAgB,OAAO,GAAG;AAAA,MACnD,aAAa,QAAQ,OAAO;AAAA,IAC9B;AAAA,IACA,KAAK,gBAAgB,MAAM;AAAA,IAG3B,IAAI,KAAK,iBAAiB;AAAA,MACxB,KAAK,SAAS,QAAQ,sBAAsB,KAAK,eAAe;AAAA,IAClE;AAAA;AAAA,EAGM,cAAc,GAAS;AAAA,IAE7B,KAAK,kBAAkB,CACrB,SACA,QACA,iBACG;AAAA,MACH,IAAI,gBAA0B,OAAO,KAAK,iBAA2B,OAAO,GAAG;AAAA,QAC7E,KAAK,cAAc,SAAS,MAAM,EAC/B,KAAK,CAAC,aAAa,aAAa,QAAQ,CAAC,EACzC,MAAM,CAAC,UAAU;AAAA,UAChB,aAAa,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,SACtD;AAAA,MACL;AAAA,MACA,OAAO;AAAA;AAAA,IAET,KAAK,SAAS,QAAQ,UAAU,KAAK,eAAe;AAAA,IAGpD,IAAI,KAAK,YAAY,aAAa,KAAK,YAAY,QAAQ;AAAA,MACzD,KAAK,SAAS,OAAO,iBAAiB,WAAW,CAAC,UAAwB;AAAA,QACxE,IAAI,MAAM,WAAW;AAAA,UAAQ;AAAA,QAC7B,IAAI,MAAM,MAAM,oBAAoB;AAAA,UAClC,KAAK,cAAc,MAAM,KAAK,OAAO;AAAA,QACvC;AAAA,OACD;AAAA,IACH;AAAA;AAAA,OAIW,cAAa,CACxB,SACA,SACkB;AAAA,IAElB,IAAI,aAAa,SAAS;AAAA,MACxB,MAAM,UAAU,KAAK,gBAAgB,IAAI,QAAQ,EAAE;AAAA,MACnD,IAAI,SAAS;AAAA,QACX,KAAK,gBAAgB,OAAO,QAAQ,EAAE;AAAA,QACtC,aAAa,QAAQ,OAAO;AAAA,QAE5B,IAAI,QAAQ,SAAS;AAAA,UAEnB,QAAQ,QAAQ,QAAQ,QAAQ,SAAS;AAAA,QAC3C,EAAO;AAAA,UACL,MAAM,QAAQ,IAAI,aAAa,QAAQ,SAAS,iBAAiB,WAAW;AAAA,YAC1E,WAAW,QAAQ;AAAA,UACrB,CAAC;AAAA,UACD,KAAK,oBAAoB,KAAK;AAAA,UAC9B,QAAQ,OAAO,KAAK,aAAa,OAAO,KAAK,CAAC;AAAA;AAAA,MAElD;AAAA,MACA;AAAA,IACF;AAAA,IAGA,IAAI,CAAC,QAAQ,QAAQ,SAAS,KAAK,OAAO,GAAG;AAAA,MAE3C,IAAI,KAAK,YAAY,cAAc;AAAA,QACjC;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,IAGA,MAAM,WAAW,KAAK,SAAS,IAAI,QAAQ,QAAQ,IAAI;AAAA,IACvD,IAAI,CAAC,YAAY,SAAS,WAAW,GAAG;AAAA,MAEtC,IAAI,QAAQ,QAAQ,WAAW,GAAG;AAAA,QAChC,QAAQ,KAAK,IAAI,KAAK,yCAAyC,QAAQ,QAAQ,MAAM;AAAA,MACvF;AAAA,MACA,OAAO,EAAE,SAAS,OAAO,OAAO,aAAa;AAAA,IAC/C;AAAA,IAGA,IAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,MAC9B,IAAI;AAAA,QAEF,uBAAuB,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAAA,QAE7D,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,YAAY,QAAQ,QAAQ,SAAS,OAAO,CAAC,CAAC;AAAA,QAC9E,OAAO,EAAE,SAAS,MAAM,MAAM,WAAW,WAAW,KAAK,IAAI,EAAE;AAAA,QAC/D,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,UACL,SAAS;AAAA,UACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAChD,WAAW,KAAK,IAAI;AAAA,QACtB;AAAA;AAAA,IAEJ;AAAA,IAGA,IAAI,QAAQ,QAAQ,SAAS,OAAO;AAAA,MAClC,IAAI;AAAA,QAEF,uBAAuB,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAAA,QAE7D,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,YAAY,QAAQ,QAAQ,SAAS,OAAO,CAAC,CAAC;AAAA,QAC9E,MAAM,WAAqC;AAAA,UACzC,IAAI,QAAQ;AAAA,UACZ,SAAS;AAAA,UACT,WAAW,KAAK,IAAI;AAAA,QACtB;AAAA,QACA,KAAK,aAAa,SAAS,QAAQ;AAAA,QACnC,OAAO;AAAA,QACP,OAAO,OAAO;AAAA,QACd,MAAM,WAAqC;AAAA,UACzC,IAAI,QAAQ;AAAA,UACZ,SAAS;AAAA,UACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAChD,WAAW,KAAK,IAAI;AAAA,QACtB;AAAA,QACA,KAAK,aAAa,SAAS,QAAQ;AAAA,QACnC,OAAO;AAAA;AAAA,IAEX;AAAA,IAGA,IAAI;AAAA,MAEF,uBAAuB,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAAA,MAG7D,IAAI,KAAK,eAAe;AAAA,QACtB,IAAI;AAAA,UACF,QAAQ,yCAAoB,8DAAgC;AAAA,UAG5D,IAAI,6BAA4B,GAAG;AAAA,YACjC,MAAM,eAAe,KAAK,cAAc;AAAA,YACxC,oBAAmB,QAAQ,QAAQ,MAAM,YAAY;AAAA,UACvD;AAAA,UACA,OAAO,OAAO;AAAA,UAEd,IAAI,iBAAiB,OAAO;AAAA,YAC1B,MAAM;AAAA,UACR;AAAA,UAEA,IACE,SACA,OAAO,UAAU,YACjB,UAAU,SACV,MAAM,SAAS,oBACf,CAEF,EAAO;AAAA,YACL,MAAM;AAAA;AAAA;AAAA,MAGZ;AAAA,MAGA,MAAM,UAAU,SAAS;AAAA,MACzB,IAAI,CAAC,SAAS;AAAA,QACZ,MAAM,IAAI,MAAM,yBAAyB,QAAQ,QAAQ,MAAM;AAAA,MACjE;AAAA,MACA,MAAM,OAAO,MAAM,QAAQ,QAAQ,SAAS,OAAO;AAAA,MAGnD,IAAI,KAAK,eAAe;AAAA,QACtB,IAAI;AAAA,UACF,QAAQ,2CAAqB,8DAAgC;AAAA,UAG7D,IAAI,6BAA4B,GAAG;AAAA,YACjC,MAAM,eAAe,KAAK,cAAc;AAAA,YACxC,qBAAoB,QAAQ,QAAQ,MAAM,YAAY;AAAA,UACxD;AAAA,UACA,OAAO,OAAO;AAAA,UAEd,IAAI,iBAAiB,SAAS,MAAM,QAAQ,SAAS,eAAe,GAAG;AAAA,YACrE,QAAQ,MAAM,IAAI,KAAK,kCAAkC,MAAM,OAAO;AAAA,UAExE;AAAA;AAAA,MAEJ;AAAA,MAEA,MAAM,WAAqC;AAAA,QACzC,IAAI,QAAQ;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB;AAAA,MAEA,KAAK,aAAa,SAAS,QAAQ;AAAA,MACnC,OAAO;AAAA,MACP,OAAO,OAAO;AAAA,MACd,MAAM,WAAqC;AAAA,QACzC,IAAI,QAAQ;AAAA,QACZ,SAAS;AAAA,QACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,QAChD,WAAW,KAAK,IAAI;AAAA,MACtB;AAAA,MAEA,KAAK,aAAa,SAAS,QAAQ;AAAA,MACnC,OAAO;AAAA;AAAA;AAAA,EAIJ,WAA0C,CAAC,SAAiC;AAAA,IACjF,IAAI,KAAK,YAAY,aAAa,QAAQ,QAAQ,SAAS,MAAM,GAAG;AAAA,MAElE,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,QAAQ,GAAG,GAAG;AAAA,IAC7E,EAAO,SAAI,KAAK,YAAY,QAAQ;AAAA,MAElC,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,QAAQ,GAAG,GAAG;AAAA,IAC7E,EAAO,SAAI,KAAK,MAAM;AAAA,MAEpB,KAAK,KAAK,YAAY,OAAO;AAAA,IAC/B,EAAO;AAAA,MAEL,KAAK,SAAS,QAAQ,YAAY,OAAO;AAAA;AAAA;AAAA,EAIrC,YAAY,CAAC,SAAkC,UAA0C;AAAA,IAC/F,IAAI,KAAK,YAAY,aAAa,QAAQ,WAAW,QAAQ;AAAA,MAE3D,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,SAAS,SAAS,GAAG,GAAG;AAAA,IACvF,EAAO,SAAI,KAAK,YAAY,UAAU,QAAQ,WAAW,WAAW;AAAA,MAElE,KAAK,SAAS,OAAO,YAAY,EAAE,oBAAoB,MAAM,SAAS,SAAS,GAAG,GAAG;AAAA,IACvF,EAAO,SAAI,KAAK,SAAS,KAAK,YAAY,cAAc,KAAK,YAAY,YAAY;AAAA,MAEnF,KAAK,KAAK,YAAY,QAAQ;AAAA,IAChC,EAAO;AAAA,MAEL,KAAK,SAAS,QAAQ,YAAY,QAAQ;AAAA;AAAA;AAAA,EAItC,WAAW,CAAC,MAA+C;AAAA,IACjE,MAAM,WAAW;AAAA,MACf,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,cAAc;AAAA,MACd,cAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa;AAAA,MACb,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,gBAAgB;AAAA,MAChB,qBAAqB;AAAA,MACrB,qBAAqB;AAAA,MACrB,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,aAAa;AAAA,IACf;AAAA,IAGA,SAAS,YAAY,CAAC,KAA2C;AAAA,MAC/D,OAAO,OAAO;AAAA;AAAA,IAIhB,IAAI,aAAa,IAAI,GAAG;AAAA,MAEtB,OAAO,SAAS;AAAA,IAClB;AAAA,IAGA;AAAA;AAAA,EAOM,oBAAoB,GAOF;AAAA,IACxB,QAAQ,KAAK;AAAA,WACN;AAAA,QACH,OAAO,2BAA2B;AAAA,WAC/B;AAAA,QACH,OAAO,sBAAsB;AAAA,WAC1B;AAAA,QACH,OAAO,mBAAmB,KAAK,QAAQ;AAAA,WACpC;AAAA,QACH,OAAO,qBAAqB,KAAK,QAAQ;AAAA,WACtC;AAAA,QACH,OAAO,uBAAuB,KAAK,QAAQ;AAAA,WACxC;AAAA,QACH,OAAO,wBAAwB,KAAK,QAAQ;AAAA;AAAA,QAE5C,OAAO,CAAC;AAAA;AAAA;AAAA,EAQN,mBAAmB,CAAC,OAAoB;AAAA,IAC9C,WAAW,WAAW,KAAK,mBAAmB;AAAA,MAC5C,IAAI;AAAA,QACF,QAAQ,OAAO,IAAI;AAAA,QACnB,OAAO,cAAc;AAAA,QACrB,QAAQ,MAAM,IAAI,KAAK,oCAAoC,YAAY;AAAA;AAAA,IAE3E;AAAA;AAEJ;AAWO,SAAS,aAA8D,CAC5E,SACA,UACA,SACsB;AAAA,EACtB,OAAO,IAAI,WAAqB,SAAS,UAAU,OAAO;AAAA;;;ACxzBrD,MAAM,cAA0D;AAAA,SAEtD,iBAAiB;AAAA,EAGxB;AAAA,EACA;AAAA,EAGD,eAAe,IAAI;AAAA,EACnB,gBAAgB,IAAI;AAAA,EACnB,YAAgC;AAAA,EAChC,cAAkC;AAAA,EAClC,gBAAoC;AAAA,EACpC,gBAAoC;AAAA,EAE5C,WAAW,CAAC,KAA4B;AAAA,IAEtC,IAAI,cAAc,gBAAgB;AAAA,MAChC,MAAM,IAAI,MACR;AAAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA,kGACJ;AAAA,IACF;AAAA,IAGA,cAAc,iBAAiB;AAAA,IAG/B,KAAK,MAAM,OAAO,cAAwB,YAAY;AAAA,IACtD,KAAK,eAAe,IAAI,aAAa,KAAK,IAAI,SAAS,MAAM;AAAA,IAC7D,KAAK,qBAAqB;AAAA,IAC1B,KAAK,kBAAkB;AAAA,IACvB,KAAK,qBAAqB;AAAA;AAAA,EAGpB,oBAAoB,GAAS;AAAA,IACnC,KAAK,IAAI,SAAS,QAAQ,UAAU,CAAC,SAAS;AAAA,MAC5C,KAAK,IAAI,SAAS,OAAO,MAAM,kBAAkB,EAAE,MAAM,KAAK,KAAK,CAAC;AAAA,MAGpE,OAAO,SAAS,YAAY,KAAK,KAAK,MAAM,GAAG;AAAA,MAE/C,QAAQ;AAAA,aACD,WAAW;AAAA,UACd,MAAM,eAAe,OAAO,SAAS,YAAY,KAAK,EAAE;AAAA,UACxD,IAAI,CAAC,OAAO,MAAM,YAAY,GAAG;AAAA,YAC/B,KAAK,aAAa,IAAI,cAAc,IAAI;AAAA,YACxC,KAAK,aAAa,MAAM;AAAA,cACtB,KAAK,IAAI,SAAS,OAAO,MAAM,6BAA6B;AAAA,gBAC1D,OAAO;AAAA,cACT,CAAC;AAAA,cACD,KAAK,aAAa,OAAO,YAAY;AAAA,aACtC;AAAA,UACH;AAAA,UACA;AAAA,QACF;AAAA,aAEK,YAAY;AAAA,UACf,MAAM,gBAAgB,OAAO,SAAS,YAAY,KAAK,EAAE;AAAA,UACzD,IAAI,CAAC,OAAO,MAAM,aAAa,GAAG;AAAA,YAChC,KAAK,cAAc,IAAI,eAAe,IAAI;AAAA,YAC1C,KAAK,aAAa,MAAM;AAAA,cACtB,KAAK,IAAI,SAAS,OAAO,MAAM,8BAA8B;AAAA,gBAC3D,OAAO;AAAA,cACT,CAAC;AAAA,cACD,KAAK,cAAc,OAAO,aAAa;AAAA,aACxC;AAAA,UACH;AAAA,UACA;AAAA,QACF;AAAA,aAEK;AAAA,UACH,KAAK,YAAY;AAAA,UACjB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,oBAAoB;AAAA,YACnD,KAAK,YAAY;AAAA,WAClB;AAAA,UACD;AAAA,aAEG;AAAA,UACH,KAAK,cAAc;AAAA,UACnB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,sBAAsB;AAAA,YACrD,KAAK,cAAc;AAAA,WACpB;AAAA,UACD;AAAA,aAEG;AAAA,UACH,KAAK,gBAAgB;AAAA,UACrB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,wBAAwB;AAAA,YACvD,KAAK,gBAAgB;AAAA,WACtB;AAAA,UACD;AAAA,aAEG;AAAA,UACH,KAAK,gBAAgB;AAAA,UACrB,KAAK,aAAa,MAAM;AAAA,YACtB,KAAK,IAAI,SAAS,OAAO,MAAM,yBAAyB;AAAA,YACxD,KAAK,gBAAgB;AAAA,WACtB;AAAA,UACD;AAAA;AAAA,MAIJ,KAAK,UAAU,CAAC,YAAqB;AAAA,QACnC,IAAI,iBAA2B,OAAO,GAAG;AAAA,UAEvC,KAAK,cAAc,OAAO;AAAA,QAC5B,EAAO,SAAI,gBAA0B,OAAO,GAAG;AAAA,UAE7C,KAAK,aAAa,OAAO;AAAA,QAC3B;AAAA,OACD;AAAA,KACF;AAAA;AAAA,EAGK,iBAAiB,GAAS;AAAA,IAEhC,KAAK,IAAI,SAAS,KAAK,UAAU,CAAC,UAAU;AAAA,MAC1C,KAAK,IAAI,SAAS,OAAO,MAAM,kCAAkC;AAAA,QAC/D;AAAA,MACF,CAAC;AAAA,MACD,KAAK,aAAa,OAAO,KAAK;AAAA,MAC9B,KAAK,cAAc,OAAO,KAAK;AAAA,KAChC;AAAA,IAGD,KAAK,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,YAAY,QAAQ;AAAA,MAC3D,IAAI,WAAW,WAAW,YAAY;AAAA,QACpC,KAAK,IAAI,SAAS,OAAO,MAAM,cAAc,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC;AAAA,MACtE;AAAA,KACD;AAAA;AAAA,EAGK,oBAAoB,GAAS;AAAA,IAEnC,KAAK,IAAI,SAAS,QAAQ,UAAU,CAAC,SAAkB,SAAS,iBAAiB;AAAA,MAC/E,IAAI,iBAA2B,OAAO,GAAG;AAAA,QACvC,KAAK,cAAc,OAAO;AAAA,MAC5B,EAAO,SAAI,gBAA0B,OAAO,GAAG;AAAA,QAC7C,KAAK,aAAa,OAAO,EAAE,KAAK,YAAY;AAAA,MAC9C;AAAA,MACA,OAAO;AAAA,KACR;AAAA;AAAA,OAGU,aAAY,CAAC,SAAoD;AAAA,IAC5E,KAAK,IAAI,SAAS,OAAO,MAAM,mBAAmB;AAAA,MAChD,MAAM,QAAQ,QAAQ;AAAA,MACtB,QAAQ,QAAQ;AAAA,MAChB,SAAS,QAAQ;AAAA,MACjB,OAAO,QAAQ;AAAA,IACjB,CAAC;AAAA,IAGD,MAAM,UAAqB,CAAC;AAAA,IAC5B,WAAW,UAAU,QAAQ,SAAS;AAAA,MACpC,MAAM,SAAS,MAAM,KAAK,oBAAoB,SAAS,MAAM;AAAA,MAC7D,QAAQ,KAAK,MAAM;AAAA,IACrB;AAAA,IAGA,OAAO,QAAQ,QAAQ,WAAW,IAAI,QAAQ,KAAK;AAAA;AAAA,OAIvC,oBAAmB,CAC/B,SACA,QACkB;AAAA,IAElB,QAAQ;AAAA,WACD;AAAA,QAEH,OAAO,KAAK,IAAI,cAAc,OAAO;AAAA,WAElC,WAAW;AAAA,QACd,IAAI,CAAC,QAAQ,OAAO;AAAA,UAClB,KAAK,IAAI,SAAS,OAAO,KAAK,iCAAiC;AAAA,YAC7D,aAAa,QAAQ,QAAQ;AAAA,UAC/B,CAAC;AAAA,UACD,OAAO,EAAE,SAAS,OAAO,OAAO,oCAAoC;AAAA,QACtE;AAAA,QACA,MAAM,cAAc,KAAK,aAAa,IAAI,QAAQ,KAAK;AAAA,QACvD,IAAI,aAAa;AAAA,UACf,YAAY,YAAY,OAAO;AAAA,UAC/B;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,kCAAkC;AAAA,UAC9D,OAAO,QAAQ;AAAA,UACf,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,+BAA+B;AAAA,MACjE;AAAA,WAEK,YAAY;AAAA,QACf,IAAI,CAAC,QAAQ,OAAO;AAAA,UAClB,KAAK,IAAI,SAAS,OAAO,KAAK,kCAAkC;AAAA,YAC9D,aAAa,QAAQ,QAAQ;AAAA,UAC/B,CAAC;AAAA,UACD,OAAO;AAAA,YACL,SAAS;AAAA,YACT,OAAO;AAAA,UACT;AAAA,QACF;AAAA,QACA,MAAM,eAAe,KAAK,cAAc,IAAI,QAAQ,KAAK;AAAA,QACzD,IAAI,cAAc;AAAA,UAChB,aAAa,YAAY,OAAO;AAAA,UAChC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,4BAA4B;AAAA,UACxD,OAAO,QAAQ;AAAA,UACf,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,yBAAyB;AAAA,MAC3D;AAAA,WAEK;AAAA,QACH,IAAI,KAAK,WAAW;AAAA,UAClB,KAAK,UAAU,YAAY,OAAO;AAAA,UAClC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,uBAAuB;AAAA,UACnD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,sBAAsB;AAAA,WAEnD;AAAA,QACH,IAAI,KAAK,aAAa;AAAA,UACpB,KAAK,YAAY,YAAY,OAAO;AAAA,UACpC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,yBAAyB;AAAA,UACrD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,wBAAwB;AAAA,WAErD;AAAA,QACH,IAAI,KAAK,eAAe;AAAA,UACtB,KAAK,cAAc,YAAY,OAAO;AAAA,UACtC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,2BAA2B;AAAA,UACvD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,0BAA0B;AAAA,WAEvD,QAAQ;AAAA,QAGX,IAAI,CAAC,QAAQ,OAAO;AAAA,UAClB,KAAK,IAAI,SAAS,OAAO,KAAK,8BAA8B;AAAA,YAC1D,aAAa,QAAQ,QAAQ;AAAA,UAC/B,CAAC;AAAA,UACD,OAAO,EAAE,SAAS,OAAO,OAAO,iCAAiC;AAAA,QACnE;AAAA,QACA,MAAM,qBAAqB,KAAK,aAAa,IAAI,QAAQ,KAAK;AAAA,QAC9D,IAAI,oBAAoB;AAAA,UACtB,mBAAmB,YAAY,OAAO;AAAA,UACtC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,wCAAwC;AAAA,UACpE,OAAO,QAAQ;AAAA,UACf,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,+BAA+B;AAAA,MACjE;AAAA,WAEK;AAAA,QACH,IAAI,KAAK,eAAe;AAAA,UACtB,KAAK,cAAc,YAAY,OAAO;AAAA,UACtC;AAAA,QACF;AAAA,QACA,KAAK,IAAI,SAAS,OAAO,KAAK,4BAA4B;AAAA,UACxD,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,2BAA2B;AAAA;AAAA,QAG3D,KAAK,IAAI,SAAS,OAAO,KAAK,0BAA0B;AAAA,UACtD;AAAA,UACA,aAAa,QAAQ,QAAQ;AAAA,QAC/B,CAAC;AAAA,QACD,OAAO,EAAE,SAAS,OAAO,OAAO,2BAA2B,SAAS;AAAA;AAAA;AAAA,EAIlE,aAAa,CAAC,UAA0C;AAAA,IAE9D,KAAK,IAAI,SAAS,OAAO,MAAM,oBAAoB;AAAA,MACjD,WAAW,SAAS;AAAA,IACtB,CAAC;AAAA;AAAA,OAIG,UAAS,CAAC,OAAe,SAAiD;AAAA,IAC9E,MAAM,OAAO,KAAK,aAAa,IAAI,KAAK;AAAA,IACxC,IAAI,MAAM;AAAA,MACR,KAAK,YAAY,OAAO;AAAA,IAC1B,EAAO;AAAA,MACL,KAAK,aAAa,MAChB,IAAI,mBAAmB,sCAAsC;AAAA,QAC3D;AAAA,QACA,aAAa,QAAQ,QAAQ;AAAA,MAC/B,CAAC,CACH;AAAA;AAAA;AAAA,EAKJ,cAAc,CAAC,SAAwC;AAAA,IAErD,KAAK,aAAa,OAAO;AAAA;AAAA,EAG3B,wBAAwB,CAAC,OAAwB;AAAA,IAC/C,OAAO,KAAK,aAAa,IAAI,KAAK;AAAA;AAAA,EAGpC,gBAAgB,GAAa;AAAA,IAC3B,OAAO,MAAM,KAAK,KAAK,aAAa,KAAK,CAAC;AAAA;AAAA,SAOrC,aAAa,GAAS;AAAA,IAC3B,cAAc,iBAAiB;AAAA;AAEnC;;;AClTO,SAAS,gBAAiE,CAC/E,UACsB;AAAA,EAEtB,MAAM,MAAM,cAAwB,cAAc,UAAU,EAAE,mBAAmB,KAAK,CAAC;AAAA,EAGvF,IAAI,cAAwB,GAAG;AAAA,EAE/B,OAAO;AAAA;",
|
|
27
|
+
"debugId": "6FBA09F54F024F8664756E2164756E21",
|
|
28
28
|
"names": []
|
|
29
29
|
}
|
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
@@ -259,7 +269,9 @@ class BroadcastChannelSyncAdapter {
|
|
|
259
269
|
channel = null;
|
|
260
270
|
listeners = [];
|
|
261
271
|
constructor(channelName = "polly-sync") {
|
|
262
|
-
if (typeof BroadcastChannel
|
|
272
|
+
if (typeof BroadcastChannel === "undefined") {
|
|
273
|
+
console.warn("[SyncAdapter] BroadcastChannel not available");
|
|
274
|
+
} else {
|
|
263
275
|
this.channel = new BroadcastChannel(channelName);
|
|
264
276
|
this.channel.onmessage = (event) => {
|
|
265
277
|
if (event.data.type === "STATE_SYNC") {
|
|
@@ -268,8 +280,6 @@ class BroadcastChannelSyncAdapter {
|
|
|
268
280
|
});
|
|
269
281
|
}
|
|
270
282
|
};
|
|
271
|
-
} else {
|
|
272
|
-
console.warn("[SyncAdapter] BroadcastChannel not available");
|
|
273
283
|
}
|
|
274
284
|
}
|
|
275
285
|
broadcast(message) {
|
|
@@ -1796,4 +1806,4 @@ export {
|
|
|
1796
1806
|
MessageRouter
|
|
1797
1807
|
};
|
|
1798
1808
|
|
|
1799
|
-
//# debugId=
|
|
1809
|
+
//# debugId=C51B4EA023D070A364756E2164756E21
|