@strands-agents/sdk 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
  2. package/dist/src/agent/agent-as-tool.js +8 -2
  3. package/dist/src/agent/agent-as-tool.js.map +1 -1
  4. package/dist/src/agent/agent-delegation.d.ts +9 -30
  5. package/dist/src/agent/agent-delegation.d.ts.map +1 -1
  6. package/dist/src/agent/agent-delegation.js +26 -98
  7. package/dist/src/agent/agent-delegation.js.map +1 -1
  8. package/dist/src/agent/agent.d.ts +49 -15
  9. package/dist/src/agent/agent.d.ts.map +1 -1
  10. package/dist/src/agent/agent.js +193 -60
  11. package/dist/src/agent/agent.js.map +1 -1
  12. package/dist/src/agent/continuation.d.ts +77 -0
  13. package/dist/src/agent/continuation.d.ts.map +1 -0
  14. package/dist/src/agent/continuation.js +167 -0
  15. package/dist/src/agent/continuation.js.map +1 -0
  16. package/dist/src/agent/tool-caller.d.ts.map +1 -1
  17. package/dist/src/agent/tool-caller.js +1 -0
  18. package/dist/src/agent/tool-caller.js.map +1 -1
  19. package/dist/src/background-tasks/errors.d.ts +8 -0
  20. package/dist/src/background-tasks/errors.d.ts.map +1 -0
  21. package/dist/src/background-tasks/errors.js +11 -0
  22. package/dist/src/background-tasks/errors.js.map +1 -0
  23. package/dist/src/background-tasks/in-process/engine.d.ts +96 -0
  24. package/dist/src/background-tasks/in-process/engine.d.ts.map +1 -0
  25. package/dist/src/background-tasks/in-process/engine.js +322 -0
  26. package/dist/src/background-tasks/in-process/engine.js.map +1 -0
  27. package/dist/src/background-tasks/in-process/types.d.ts +76 -0
  28. package/dist/src/background-tasks/in-process/types.d.ts.map +1 -0
  29. package/dist/src/background-tasks/in-process/types.js +2 -0
  30. package/dist/src/background-tasks/in-process/types.js.map +1 -0
  31. package/dist/src/context-manager/context-manager.d.ts +30 -0
  32. package/dist/src/context-manager/context-manager.d.ts.map +1 -0
  33. package/dist/src/context-manager/context-manager.js +89 -0
  34. package/dist/src/context-manager/context-manager.js.map +1 -0
  35. package/dist/src/context-manager/methods/summarize.d.ts +41 -0
  36. package/dist/src/context-manager/methods/summarize.d.ts.map +1 -0
  37. package/dist/src/context-manager/methods/summarize.js +108 -0
  38. package/dist/src/context-manager/methods/summarize.js.map +1 -0
  39. package/dist/src/context-manager/methods/truncate.d.ts +36 -0
  40. package/dist/src/context-manager/methods/truncate.d.ts.map +1 -0
  41. package/dist/src/context-manager/methods/truncate.js +86 -0
  42. package/dist/src/context-manager/methods/truncate.js.map +1 -0
  43. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +1 -2
  44. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -1
  45. package/dist/src/context-manager/modes/agentic/agentic-context.js +6 -3
  46. package/dist/src/context-manager/modes/agentic/agentic-context.js.map +1 -1
  47. package/dist/src/context-manager/strategies/offload/base.d.ts +140 -0
  48. package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -0
  49. package/dist/src/context-manager/strategies/offload/base.js +376 -0
  50. package/dist/src/context-manager/strategies/offload/base.js.map +1 -0
  51. package/dist/src/context-manager/strategies/offload/drop.d.ts +19 -0
  52. package/dist/src/context-manager/strategies/offload/drop.d.ts.map +1 -0
  53. package/dist/src/context-manager/strategies/offload/drop.js +31 -0
  54. package/dist/src/context-manager/strategies/offload/drop.js.map +1 -0
  55. package/dist/src/context-manager/strategies/offload/index.d.ts +43 -0
  56. package/dist/src/context-manager/strategies/offload/index.d.ts.map +1 -0
  57. package/dist/src/context-manager/strategies/offload/index.js +37 -0
  58. package/dist/src/context-manager/strategies/offload/index.js.map +1 -0
  59. package/dist/src/context-manager/strategies/offload/summarize.d.ts +22 -0
  60. package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -0
  61. package/dist/src/context-manager/strategies/offload/summarize.js +104 -0
  62. package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -0
  63. package/dist/src/context-manager/strategies/offload/truncate.d.ts +21 -0
  64. package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -0
  65. package/dist/src/context-manager/strategies/offload/truncate.js +66 -0
  66. package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -0
  67. package/dist/src/context-manager/types.d.ts +50 -0
  68. package/dist/src/context-manager/types.d.ts.map +1 -0
  69. package/dist/src/context-manager/types.js +5 -0
  70. package/dist/src/context-manager/types.js.map +1 -0
  71. package/dist/src/hooks/events.d.ts +6 -5
  72. package/dist/src/hooks/events.d.ts.map +1 -1
  73. package/dist/src/hooks/events.js +5 -4
  74. package/dist/src/hooks/events.js.map +1 -1
  75. package/dist/src/hooks/types.d.ts +1 -0
  76. package/dist/src/hooks/types.d.ts.map +1 -1
  77. package/dist/src/hooks/types.js +1 -0
  78. package/dist/src/hooks/types.js.map +1 -1
  79. package/dist/src/index.d.ts +4 -2
  80. package/dist/src/index.d.ts.map +1 -1
  81. package/dist/src/index.js +3 -1
  82. package/dist/src/index.js.map +1 -1
  83. package/dist/src/injection/message-injection.d.ts +12 -9
  84. package/dist/src/injection/message-injection.d.ts.map +1 -1
  85. package/dist/src/injection/message-injection.js +17 -16
  86. package/dist/src/injection/message-injection.js.map +1 -1
  87. package/dist/src/mcp/client.d.ts.map +1 -1
  88. package/dist/src/mcp/client.js +9 -0
  89. package/dist/src/mcp/client.js.map +1 -1
  90. package/dist/src/middleware/stages.d.ts +15 -2
  91. package/dist/src/middleware/stages.d.ts.map +1 -1
  92. package/dist/src/middleware/stages.js.map +1 -1
  93. package/dist/src/mime.d.ts +1 -0
  94. package/dist/src/mime.d.ts.map +1 -1
  95. package/dist/src/mime.js.map +1 -1
  96. package/dist/src/models/anthropic.d.ts +26 -1
  97. package/dist/src/models/anthropic.d.ts.map +1 -1
  98. package/dist/src/models/anthropic.js +178 -54
  99. package/dist/src/models/anthropic.js.map +1 -1
  100. package/dist/src/models/bedrock.d.ts +36 -17
  101. package/dist/src/models/bedrock.d.ts.map +1 -1
  102. package/dist/src/models/bedrock.js +166 -34
  103. package/dist/src/models/bedrock.js.map +1 -1
  104. package/dist/src/models/google/adapters.d.ts.map +1 -1
  105. package/dist/src/models/google/adapters.js +18 -4
  106. package/dist/src/models/google/adapters.js.map +1 -1
  107. package/dist/src/models/google/model.d.ts.map +1 -1
  108. package/dist/src/models/google/model.js +9 -7
  109. package/dist/src/models/google/model.js.map +1 -1
  110. package/dist/src/models/google/types.d.ts +2 -0
  111. package/dist/src/models/google/types.d.ts.map +1 -1
  112. package/dist/src/models/model.d.ts +72 -5
  113. package/dist/src/models/model.d.ts.map +1 -1
  114. package/dist/src/models/model.js +15 -0
  115. package/dist/src/models/model.js.map +1 -1
  116. package/dist/src/models/openai/cache.d.ts +31 -0
  117. package/dist/src/models/openai/cache.d.ts.map +1 -0
  118. package/dist/src/models/openai/cache.js +56 -0
  119. package/dist/src/models/openai/cache.js.map +1 -0
  120. package/dist/src/models/openai/chat-adapter.d.ts.map +1 -1
  121. package/dist/src/models/openai/chat-adapter.js +2 -0
  122. package/dist/src/models/openai/chat-adapter.js.map +1 -1
  123. package/dist/src/models/openai/model.d.ts.map +1 -1
  124. package/dist/src/models/openai/model.js +14 -3
  125. package/dist/src/models/openai/model.js.map +1 -1
  126. package/dist/src/models/openai/responses-adapter.d.ts.map +1 -1
  127. package/dist/src/models/openai/responses-adapter.js +3 -1
  128. package/dist/src/models/openai/responses-adapter.js.map +1 -1
  129. package/dist/src/models/openai/types.d.ts +5 -1
  130. package/dist/src/models/openai/types.d.ts.map +1 -1
  131. package/dist/src/models/routing/fallback-strategy.d.ts +13 -0
  132. package/dist/src/models/routing/fallback-strategy.d.ts.map +1 -0
  133. package/dist/src/models/routing/fallback-strategy.js +33 -0
  134. package/dist/src/models/routing/fallback-strategy.js.map +1 -0
  135. package/dist/src/models/routing/index.d.ts +11 -0
  136. package/dist/src/models/routing/index.d.ts.map +1 -0
  137. package/dist/src/models/routing/index.js +9 -0
  138. package/dist/src/models/routing/index.js.map +1 -0
  139. package/dist/src/models/routing/router.d.ts +161 -0
  140. package/dist/src/models/routing/router.d.ts.map +1 -0
  141. package/dist/src/models/routing/router.js +474 -0
  142. package/dist/src/models/routing/router.js.map +1 -0
  143. package/dist/src/models/routing/strategy.d.ts +53 -0
  144. package/dist/src/models/routing/strategy.d.ts.map +1 -0
  145. package/dist/src/models/routing/strategy.js +2 -0
  146. package/dist/src/models/routing/strategy.js.map +1 -0
  147. package/dist/src/models/streaming.d.ts +12 -0
  148. package/dist/src/models/streaming.d.ts.map +1 -1
  149. package/dist/src/models/streaming.js +17 -0
  150. package/dist/src/models/streaming.js.map +1 -1
  151. package/dist/src/multiagent/plugins.d.ts +3 -1
  152. package/dist/src/multiagent/plugins.d.ts.map +1 -1
  153. package/dist/src/multiagent/plugins.js +6 -1
  154. package/dist/src/multiagent/plugins.js.map +1 -1
  155. package/dist/src/plugins/registry.d.ts +3 -1
  156. package/dist/src/plugins/registry.d.ts.map +1 -1
  157. package/dist/src/plugins/registry.js +6 -1
  158. package/dist/src/plugins/registry.js.map +1 -1
  159. package/dist/src/retry/default-model-retry-strategy.d.ts +3 -8
  160. package/dist/src/retry/default-model-retry-strategy.d.ts.map +1 -1
  161. package/dist/src/retry/default-model-retry-strategy.js +3 -8
  162. package/dist/src/retry/default-model-retry-strategy.js.map +1 -1
  163. package/dist/src/retry/model-retry-strategy.d.ts +6 -9
  164. package/dist/src/retry/model-retry-strategy.d.ts.map +1 -1
  165. package/dist/src/retry/model-retry-strategy.js +8 -12
  166. package/dist/src/retry/model-retry-strategy.js.map +1 -1
  167. package/dist/src/session/session-manager.d.ts +4 -0
  168. package/dist/src/session/session-manager.d.ts.map +1 -1
  169. package/dist/src/session/session-manager.js +6 -0
  170. package/dist/src/session/session-manager.js.map +1 -1
  171. package/dist/src/storage/in-memory-storage.d.ts +8 -1
  172. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  173. package/dist/src/storage/in-memory-storage.js +10 -0
  174. package/dist/src/storage/in-memory-storage.js.map +1 -1
  175. package/dist/src/storage/local-file-storage.d.ts +8 -1
  176. package/dist/src/storage/local-file-storage.d.ts.map +1 -1
  177. package/dist/src/storage/local-file-storage.js +10 -0
  178. package/dist/src/storage/local-file-storage.js.map +1 -1
  179. package/dist/src/storage/s3-storage.d.ts +8 -1
  180. package/dist/src/storage/s3-storage.d.ts.map +1 -1
  181. package/dist/src/storage/s3-storage.js +10 -0
  182. package/dist/src/storage/s3-storage.js.map +1 -1
  183. package/dist/src/storage/search/index.d.ts +13 -0
  184. package/dist/src/storage/search/index.d.ts.map +1 -0
  185. package/dist/src/storage/search/index.js +11 -0
  186. package/dist/src/storage/search/index.js.map +1 -0
  187. package/dist/src/storage/search/keyword.d.ts +23 -0
  188. package/dist/src/storage/search/keyword.d.ts.map +1 -0
  189. package/dist/src/storage/search/keyword.js +53 -0
  190. package/dist/src/storage/search/keyword.js.map +1 -0
  191. package/dist/src/storage/search/types.d.ts +24 -0
  192. package/dist/src/storage/search/types.d.ts.map +1 -0
  193. package/dist/src/storage/search/types.js +2 -0
  194. package/dist/src/storage/search/types.js.map +1 -0
  195. package/dist/src/storage/storage.d.ts +46 -1
  196. package/dist/src/storage/storage.d.ts.map +1 -1
  197. package/dist/src/storage/storage.js +22 -0
  198. package/dist/src/storage/storage.js.map +1 -1
  199. package/dist/src/telemetry/meter.d.ts +8 -6
  200. package/dist/src/telemetry/meter.d.ts.map +1 -1
  201. package/dist/src/telemetry/meter.js +8 -7
  202. package/dist/src/telemetry/meter.js.map +1 -1
  203. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  204. package/dist/src/telemetry/tracer.js +9 -2
  205. package/dist/src/telemetry/tracer.js.map +1 -1
  206. package/dist/src/tools/executors/executor.d.ts +2 -0
  207. package/dist/src/tools/executors/executor.d.ts.map +1 -1
  208. package/dist/src/tools/executors/executor.js +6 -4
  209. package/dist/src/tools/executors/executor.js.map +1 -1
  210. package/dist/src/tools/executors/sequential.d.ts +1 -1
  211. package/dist/src/tools/executors/sequential.js +2 -2
  212. package/dist/src/tools/executors/sequential.js.map +1 -1
  213. package/dist/src/tools/mcp-tool.d.ts +2 -1
  214. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  215. package/dist/src/tools/mcp-tool.js +2 -1
  216. package/dist/src/tools/mcp-tool.js.map +1 -1
  217. package/dist/src/tools/tool.d.ts +2 -0
  218. package/dist/src/tools/tool.d.ts.map +1 -1
  219. package/dist/src/tools/tool.js.map +1 -1
  220. package/dist/src/tools/types.d.ts +8 -0
  221. package/dist/src/tools/types.d.ts.map +1 -1
  222. package/dist/src/tsconfig.tsbuildinfo +1 -1
  223. package/dist/src/types/agent.d.ts +14 -4
  224. package/dist/src/types/agent.d.ts.map +1 -1
  225. package/dist/src/types/agent.js +3 -2
  226. package/dist/src/types/agent.js.map +1 -1
  227. package/dist/src/types/media.d.ts +65 -3
  228. package/dist/src/types/media.d.ts.map +1 -1
  229. package/dist/src/types/media.js +68 -1
  230. package/dist/src/types/media.js.map +1 -1
  231. package/dist/src/types/messages.d.ts +6 -4
  232. package/dist/src/types/messages.d.ts.map +1 -1
  233. package/dist/src/types/messages.js +4 -1
  234. package/dist/src/types/messages.js.map +1 -1
  235. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +11 -0
  236. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -1
  237. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +53 -3
  238. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -1
  239. package/dist/src/vended-memory-stores/file-memory-store/index.d.ts +3 -0
  240. package/dist/src/vended-memory-stores/file-memory-store/index.d.ts.map +1 -0
  241. package/dist/src/vended-memory-stores/file-memory-store/index.js +2 -0
  242. package/dist/src/vended-memory-stores/file-memory-store/index.js.map +1 -0
  243. package/dist/src/vended-memory-stores/file-memory-store/store.d.ts +104 -0
  244. package/dist/src/vended-memory-stores/file-memory-store/store.d.ts.map +1 -0
  245. package/dist/src/vended-memory-stores/file-memory-store/store.js +237 -0
  246. package/dist/src/vended-memory-stores/file-memory-store/store.js.map +1 -0
  247. package/dist/src/vended-memory-stores/test-memory-store/store.d.ts.map +1 -1
  248. package/dist/src/vended-memory-stores/test-memory-store/store.js +2 -25
  249. package/dist/src/vended-memory-stores/test-memory-store/store.js.map +1 -1
  250. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  251. package/dist/src/vended-plugins/context-offloader/plugin.js +2 -8
  252. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  253. package/dist/src/vended-tools/http-request/http-request.d.ts +1 -1
  254. package/dist/src/vended-tools/http-request/http-request.js +2 -2
  255. package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
  256. package/dist/src/vended-tools/sleep/make-sleep.d.ts +4 -6
  257. package/dist/src/vended-tools/sleep/make-sleep.d.ts.map +1 -1
  258. package/dist/src/vended-tools/sleep/make-sleep.js +5 -7
  259. package/dist/src/vended-tools/sleep/make-sleep.js.map +1 -1
  260. package/package.json +16 -4
@@ -6,9 +6,9 @@
6
6
  *
7
7
  * @see https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html
8
8
  */
9
- import { BedrockRuntimeClient, ConverseCommand, ConverseStreamCommand, CountTokensCommand, DocumentFormat, ImageFormat, VideoFormat, } from '@aws-sdk/client-bedrock-runtime';
9
+ import { BedrockRuntimeClient, ConverseCommand, ConverseStreamCommand, CountTokensCommand, AudioFormat, DocumentFormat, ImageFormat, VideoFormat, } from '@aws-sdk/client-bedrock-runtime';
10
10
  import { FetchHttpHandler } from '@smithy/fetch-http-handler';
11
- import { Model, resolveConfigMetadata, } from '../models/model.js';
11
+ import { Model, resolveCacheSection, resolveConfigMetadata, } from '../models/model.js';
12
12
  import { ContextWindowOverflowError, ModelThrottledError, ProviderTokenCountError, normalizeError } from '../errors.js';
13
13
  import { ensureDefined } from '../types/validation.js';
14
14
  import { logger } from '../logging/logger.js';
@@ -194,16 +194,16 @@ export class BedrockModel extends Model {
194
194
  * Determines if caching should be enabled.
195
195
  * Returns true when:
196
196
  * - strategy is 'anthropic' (explicit enable)
197
- * - strategy is 'auto' and model supports caching (auto-detect)
197
+ * - strategy is 'auto' (the default) and the model supports caching (auto-detect)
198
198
  *
199
- * @returns True if caching should be enabled
199
+ * @returns True if caching should be enabled.
200
200
  */
201
201
  _shouldEnableCaching() {
202
202
  const cacheConfig = this._config.cacheConfig;
203
203
  if (!cacheConfig) {
204
204
  return false;
205
205
  }
206
- let strategy = cacheConfig.strategy;
206
+ let strategy = cacheConfig.strategy ?? 'auto';
207
207
  if (strategy === 'auto') {
208
208
  const detectedStrategy = this._getCacheStrategy();
209
209
  if (!detectedStrategy) {
@@ -214,6 +214,53 @@ export class BedrockModel extends Model {
214
214
  }
215
215
  return strategy === 'anthropic';
216
216
  }
217
+ /**
218
+ * Whether to auto-inject a cache point at the end of the system prompt.
219
+ *
220
+ * @param system - The system content blocks that will be sent to Bedrock.
221
+ * @returns True if a cache point should be appended.
222
+ */
223
+ _shouldCacheSystem(system) {
224
+ if (!this._shouldEnableCaching()) {
225
+ return false;
226
+ }
227
+ if (this._config.cacheConfig?.systemPromptTTL === false) {
228
+ return false;
229
+ }
230
+ if (!system || system.length === 0) {
231
+ return false;
232
+ }
233
+ return !system.some((block) => 'cachePoint' in block);
234
+ }
235
+ /**
236
+ * Fills the resolved system-section TTL into a system cache point that carries none of its own,
237
+ * whether auto-injected or caller-placed.
238
+ *
239
+ * @param request - The formatted request, with `system` and `toolConfig` already populated.
240
+ */
241
+ _applySystemCacheTTL(request) {
242
+ const system = request.system;
243
+ if (!system || !this._shouldEnableCaching()) {
244
+ return;
245
+ }
246
+ const cacheConfig = this._config.cacheConfig;
247
+ const systemSection = resolveCacheSection(cacheConfig?.systemPromptTTL, cacheConfig?.ttl);
248
+ let ttl = systemSection.ttl;
249
+ if (ttl && typeof cacheConfig?.systemPromptTTL !== 'string') {
250
+ const toolsPoint = request.toolConfig?.tools?.find((tool) => 'cachePoint' in tool);
251
+ if (toolsPoint && 'cachePoint' in toolsPoint && toolsPoint.cachePoint?.ttl !== ttl) {
252
+ ttl = undefined;
253
+ }
254
+ }
255
+ for (const block of system) {
256
+ if ('cachePoint' in block && block.cachePoint && !block.cachePoint.ttl) {
257
+ delete block.cachePoint.ttl;
258
+ if (ttl) {
259
+ block.cachePoint.ttl = ttl;
260
+ }
261
+ }
262
+ }
263
+ }
217
264
  /**
218
265
  * Updates the model configuration.
219
266
  * Merges the provided configuration with existing settings.
@@ -341,14 +388,40 @@ export class BedrockModel extends Model {
341
388
  // Stream the response
342
389
  if (response.stream) {
343
390
  let lastStopReason;
391
+ let redactionEmitted = false;
392
+ let sawGuardrailTrace = false;
344
393
  for await (const chunk of response.stream) {
345
- // Map Bedrock events to SDK events
346
394
  const result = this._mapStreamedBedrockEventToSDKEvent(chunk, lastStopReason);
347
395
  lastStopReason = result.stopReason;
396
+ // The guardrail trace arrives with the metadata event and is authoritative for
397
+ // BLOCKED vs ANONYMIZED (masking) — Bedrock reports guardrail_intervened for both
398
+ // but only BLOCKED content warrants SDK redaction. Wait for the metadata chunk to
399
+ // decide, and fall back to the stop reason only when no trace was carried.
400
+ if (!redactionEmitted && this._config.guardrailConfig && 'metadata' in chunk) {
401
+ const guardrailData = chunk.metadata?.trace?.guardrail;
402
+ if (guardrailData !== undefined) {
403
+ sawGuardrailTrace = true;
404
+ if (this._hasBlockedGuardrailPolicy(guardrailData)) {
405
+ redactionEmitted = true;
406
+ yield* this._generateRedactionEvents(guardrailData);
407
+ }
408
+ }
409
+ else if (lastStopReason === 'guardrail_intervened') {
410
+ redactionEmitted = true;
411
+ yield* this._generateRedactionEvents({});
412
+ }
413
+ }
348
414
  for (const event of result.events) {
349
415
  yield event;
350
416
  }
351
417
  }
418
+ // Safety net: guardrail_intervened but no metadata event ever arrived.
419
+ if (!redactionEmitted &&
420
+ !sawGuardrailTrace &&
421
+ lastStopReason === 'guardrail_intervened' &&
422
+ this._config.guardrailConfig) {
423
+ yield* this._generateRedactionEvents({});
424
+ }
352
425
  }
353
426
  }
354
427
  else {
@@ -381,7 +454,7 @@ export class BedrockModel extends Model {
381
454
  _formatRequest(messages, options) {
382
455
  const request = {
383
456
  modelId: this._config.modelId,
384
- messages: this._formatMessages(messages),
457
+ messages: this._formatMessages(messages, options?.dynamicTrailingBlocks ?? 0),
385
458
  };
386
459
  // Add system prompt
387
460
  if (options?.systemPrompt !== undefined) {
@@ -392,6 +465,9 @@ export class BedrockModel extends Model {
392
465
  request.system = options.systemPrompt.map((block) => this._formatContentBlock(block));
393
466
  }
394
467
  }
468
+ if (this._shouldCacheSystem(request.system)) {
469
+ request.system.push({ cachePoint: { type: 'default' } });
470
+ }
395
471
  // Add tool configuration
396
472
  // Bedrock requires toolConfig when messages contain tool use/result blocks.
397
473
  // When no tools were provided but messages reference past tool usage (e.g. during
@@ -411,12 +487,15 @@ export class BedrockModel extends Model {
411
487
  inputSchema: { json: spec.inputSchema },
412
488
  },
413
489
  }));
414
- if (this._shouldEnableCaching()) {
490
+ const cacheConfig = this._config.cacheConfig;
491
+ const toolsCache = this._shouldEnableCaching()
492
+ ? resolveCacheSection(cacheConfig?.toolsTTL, cacheConfig?.ttl)
493
+ : { enabled: false };
494
+ if (toolsCache.enabled) {
415
495
  const cachePoint = { type: 'default' };
416
- const ttl = this._config.cacheConfig?.toolsTTL;
417
- if (ttl !== undefined) {
496
+ if (toolsCache.ttl) {
418
497
  // Bedrock validates TTL values server-side, so accept any string here.
419
- cachePoint.ttl = ttl;
498
+ cachePoint.ttl = toolsCache.ttl;
420
499
  }
421
500
  tools.push({ cachePoint });
422
501
  }
@@ -428,6 +507,8 @@ export class BedrockModel extends Model {
428
507
  }
429
508
  request.toolConfig = toolConfig;
430
509
  }
510
+ // Runs after toolConfig so the tools checkpoint ahead of the system one is known.
511
+ this._applySystemCacheTTL(request);
431
512
  // Add inference configuration
432
513
  const inferenceConfig = {};
433
514
  if (this._config.maxTokens !== undefined)
@@ -494,7 +575,7 @@ export class BedrockModel extends Model {
494
575
  * @param messages - SDK messages
495
576
  * @returns Bedrock-formatted messages
496
577
  */
497
- _formatMessages(messages) {
578
+ _formatMessages(messages, dynamicTrailingBlocks = 0) {
498
579
  // Pre-compute the index of the last user message containing text/image content
499
580
  // This ensures guardContent wrapping is maintained across tool execution cycles
500
581
  const lastUserTextIdx = this._config.guardrailConfig?.guardLatestUserMessage
@@ -513,9 +594,12 @@ export class BedrockModel extends Model {
513
594
  }
514
595
  return acc;
515
596
  }, []);
516
- // Inject cache point if caching is enabled
517
- if (this._shouldEnableCaching()) {
518
- this._injectCachePoint(formattedMessages);
597
+ const cacheConfig = this._config.cacheConfig;
598
+ const messagesCache = this._shouldEnableCaching()
599
+ ? resolveCacheSection(cacheConfig?.messagesTTL, cacheConfig?.ttl)
600
+ : { enabled: false };
601
+ if (messagesCache.enabled) {
602
+ this._injectCachePoint(formattedMessages, messagesCache.ttl, dynamicTrailingBlocks);
519
603
  }
520
604
  return formattedMessages;
521
605
  }
@@ -530,12 +614,13 @@ export class BedrockModel extends Model {
530
614
  * @param content - Content blocks of the last user message (modified in place)
531
615
  * @param placedIdx - Index of the caller-placed cache point
532
616
  * @param msgIdx - Index of the message, for logging
617
+ * @param ttl - TTL for the honored cache point. Falsy leaves the Bedrock default.
533
618
  * @returns True when the point was kept, possibly relocated. False when nothing cacheable precedes
534
619
  * it, so the point was removed: Bedrock rejects a cache point with no content ahead of it ("There
535
620
  * is nothing available to cache"). The caller then retries automatic placement, which lands a point
536
621
  * only if the remaining content allows one - for a leading document it declines too.
537
622
  */
538
- _honorPlacedCachePoint(content, placedIdx, msgIdx) {
623
+ _honorPlacedCachePoint(content, placedIdx, msgIdx, ttl) {
539
624
  // Unreachable in practice - the caller scans for cache points to get this index - but the
540
625
  // compiler cannot know that under noUncheckedIndexedAccess.
541
626
  const placed = content[placedIdx];
@@ -552,7 +637,6 @@ export class BedrockModel extends Model {
552
637
  // written here can invalidate a request against one configured for tools or system. Deleting it
553
638
  // unconditionally also handles null and "", which are rejected before placement is even judged.
554
639
  delete placed.cachePoint.ttl;
555
- const ttl = this._config.cacheConfig?.messagesTTL;
556
640
  if (ttl) {
557
641
  // Bedrock validates TTL values server-side, so accept any string here. An empty configured TTL
558
642
  // is not a TTL, matching the Python side rather than forwarding "" for the enum to reject.
@@ -595,8 +679,9 @@ export class BedrockModel extends Model {
595
679
  * against the provider's cache-point budget.
596
680
  *
597
681
  * @param messages - List of messages to inject cache point into (modified in place)
682
+ * @param ttl - TTL for the injected cache point. Falsy leaves the Bedrock default.
598
683
  */
599
- _injectCachePoint(messages) {
684
+ _injectCachePoint(messages, ttl, dynamicTrailingBlocks = 0) {
600
685
  if (messages.length === 0) {
601
686
  return;
602
687
  }
@@ -636,7 +721,7 @@ export class BedrockModel extends Model {
636
721
  }
637
722
  }
638
723
  if (placedIdxs.length > 0) {
639
- // One boundary per message, so this change's budget footprint matches the strip it replaces.
724
+ // One boundary per message, so this message contributes a single cache point to the budget.
640
725
  // Extras are not worthless - a second point ahead of the per-call tail doubles the cached
641
726
  // prefix - but Bedrock allows only four cache points per request and the budget is shared
642
727
  // across toolConfig, system and messages. The SDK already spends up to two of them via
@@ -647,7 +732,7 @@ export class BedrockModel extends Model {
647
732
  content.splice(extraIdx, 1);
648
733
  logger.warn(`msg_idx=<${lastUserIdx}>, block_idx=<${extraIdx}> | stripped existing cache point (auto mode manages cache points)`);
649
734
  }
650
- if (this._honorPlacedCachePoint(content, placedIdxs[0], lastUserIdx)) {
735
+ if (this._honorPlacedCachePoint(content, placedIdxs[0], lastUserIdx, ttl)) {
651
736
  return;
652
737
  }
653
738
  if (content.length === 0) {
@@ -659,11 +744,24 @@ export class BedrockModel extends Model {
659
744
  // The point could not legally stay, so fall through to automatic placement below.
660
745
  }
661
746
  const cachePoint = { type: 'default' };
662
- const ttl = this._config.cacheConfig?.messagesTTL;
663
- if (ttl !== undefined) {
747
+ if (ttl) {
664
748
  // Bedrock validates TTL values server-side, so accept any string here.
665
749
  cachePoint.ttl = ttl;
666
750
  }
751
+ if (dynamicTrailingBlocks > 0) {
752
+ // Per-call content sits at the end, so the reusable prefix ends where that content begins.
753
+ // Routed through the honor path so the document rule and configured TTL apply identically.
754
+ const boundaryIdx = Math.max(0, content.length - dynamicTrailingBlocks);
755
+ if (boundaryIdx === 0) {
756
+ logger.debug(`msg_idx=<${lastUserIdx}> | skipped cache point, no durable prefix`);
757
+ return;
758
+ }
759
+ content.splice(boundaryIdx, 0, { cachePoint });
760
+ // A false here means a leading document left no prefix to cache; automatic placement declines
761
+ // for the same reason, so there is nothing to fall back to.
762
+ this._honorPlacedCachePoint(content, boundaryIdx, lastUserIdx, ttl);
763
+ return;
764
+ }
667
765
  // Locate the first non-PDF document block
668
766
  let firstNonPdfDocIdx = null;
669
767
  for (let i = 0; i < content.length; i++) {
@@ -869,12 +967,19 @@ export class BedrockModel extends Model {
869
967
  }
870
968
  case 'cachePointBlock': {
871
969
  const cachePoint = { type: block.cacheType };
872
- if (block.ttl !== undefined) {
873
- // Bedrock validates TTL values server-side, so accept any string here.
970
+ if (block.ttl) {
971
+ // Bedrock validates non-empty TTL values server-side, so do not restrict them to known values here.
874
972
  cachePoint.ttl = block.ttl;
875
973
  }
876
974
  return { cachePoint };
877
975
  }
976
+ case 'audioBlock':
977
+ return {
978
+ audio: {
979
+ format: block.format,
980
+ source: this._formatMediaSource(block.source),
981
+ },
982
+ };
878
983
  case 'imageBlock':
879
984
  return {
880
985
  image: {
@@ -934,7 +1039,7 @@ export class BedrockModel extends Model {
934
1039
  }
935
1040
  }
936
1041
  /**
937
- * Format media source (image/video) for Bedrock API.
1042
+ * Format media source (audio/image/video) for Bedrock API.
938
1043
  * Handles bytes, S3 locations, and s3:// URLs.
939
1044
  *
940
1045
  * @param source - Media source
@@ -942,6 +1047,7 @@ export class BedrockModel extends Model {
942
1047
  */
943
1048
  _formatMediaSource(source) {
944
1049
  switch (source.type) {
1050
+ case 'audioSourceBytes':
945
1051
  case 'imageSourceBytes':
946
1052
  case 'videoSourceBytes':
947
1053
  return { bytes: source.bytes };
@@ -956,6 +1062,7 @@ export class BedrockModel extends Model {
956
1062
  }
957
1063
  logger.warn('source_type=<imageSourceUrl> | not supported by bedrock | skipping');
958
1064
  return;
1065
+ case 'audioSourceS3Location':
959
1066
  case 'imageSourceS3Location':
960
1067
  case 'videoSourceS3Location':
961
1068
  return {
@@ -1109,9 +1216,15 @@ export class BedrockModel extends Model {
1109
1216
  // Handle trace and guardrail check for non-streaming responses
1110
1217
  if (event.trace) {
1111
1218
  metadataEvent.trace = event.trace;
1112
- // Check for blocked guardrails and emit redaction events
1113
- if (this._config.guardrailConfig && event.trace.guardrail && stopReasonRaw === 'guardrail_intervened') {
1114
- for (const redactionEvent of this._generateRedactionEvents(event.trace.guardrail)) {
1219
+ }
1220
+ // Bedrock reports guardrail_intervened for both BLOCKED and ANONYMIZED (masking). When the
1221
+ // trace is carried it is authoritative — only BLOCKED policies warrant redaction. When it
1222
+ // isn't (typically guardrailConfig.trace='disabled'), fall back to the stop reason.
1223
+ if (this._config.guardrailConfig && stopReasonRaw === 'guardrail_intervened') {
1224
+ const guardrail = event.trace?.guardrail;
1225
+ const shouldRedact = guardrail !== undefined ? this._hasBlockedGuardrailPolicy(guardrail) : true;
1226
+ if (shouldRedact) {
1227
+ for (const redactionEvent of this._generateRedactionEvents(guardrail ?? {})) {
1115
1228
  events.push(redactionEvent);
1116
1229
  }
1117
1230
  }
@@ -1273,12 +1386,6 @@ export class BedrockModel extends Model {
1273
1386
  }
1274
1387
  if (data.trace) {
1275
1388
  event.trace = data.trace;
1276
- // Check for blocked guardrails in trace and emit redaction events
1277
- if (this._config.guardrailConfig && data.trace.guardrail && lastStopReason === 'guardrail_intervened') {
1278
- for (const redactionEvent of this._generateRedactionEvents(data.trace.guardrail)) {
1279
- events.push(redactionEvent);
1280
- }
1281
- }
1282
1389
  }
1283
1390
  events.push(event);
1284
1391
  break;
@@ -1430,6 +1537,31 @@ export class BedrockModel extends Model {
1430
1537
  return location;
1431
1538
  }
1432
1539
  }
1540
+ /**
1541
+ * Recursively check a guardrail trace assessment for any detected-and-blocked policy.
1542
+ *
1543
+ * Bedrock reports guardrail_intervened for both BLOCKED and ANONYMIZED (masking) actions, so
1544
+ * the trace is the only signal that distinguishes them: only BLOCKED entries warrant
1545
+ * SDK-level redaction — masked spans have already been substituted in place server-side.
1546
+ *
1547
+ * @param guardrailData - The guardrail trace assessment
1548
+ * @returns True if any assessment contains action='BLOCKED' with detected=true
1549
+ */
1550
+ _hasBlockedGuardrailPolicy(guardrailData) {
1551
+ const visit = (value) => {
1552
+ if (value === null || value === undefined)
1553
+ return false;
1554
+ if (Array.isArray(value))
1555
+ return value.some(visit);
1556
+ if (typeof value !== 'object')
1557
+ return false;
1558
+ const record = value;
1559
+ if (record.action === 'BLOCKED' && record.detected === true)
1560
+ return true;
1561
+ return Object.values(record).some(visit);
1562
+ };
1563
+ return visit(guardrailData);
1564
+ }
1433
1565
  /**
1434
1566
  * Generate redaction events based on guardrail configuration.
1435
1567
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/models/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,oBAAoB,EAOpB,eAAe,EAEf,qBAAqB,EACrB,kBAAkB,EAiBlB,cAAc,EACd,WAAW,EACX,WAAW,GAOZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAIL,KAAK,EAEL,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAM3B,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACvH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE1E,MAAM,mCAAmC,GAAG,KAAK,CAAA;AAEjD;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,OAAO,CAAA;AAE1C;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAElD;;;;GAIG;AACH,MAAM,mCAAmC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAEnE;;;GAGG;AACH,MAAM,wCAAwC,GAAG;IAC/C,uCAAuC;IACvC,oDAAoD;IACpD,2BAA2B;IAC3B,oBAAoB;CACrB,CAAA;AAED;;;GAGG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAA;AAElD;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,WAAW;IACvB,aAAa,EAAE,cAAc;IAC7B,gBAAgB,EAAE,iBAAiB;IACnC,oBAAoB,EAAE,qBAAqB;CACnC,CAAA;AAEV;;GAEG;AACH,MAAM,4BAA4B,GAAG,wBAAwB,CAAA;AAE7D;;GAEG;AACH,MAAM,6BAA6B,GAAG,8BAA8B,CAAA;AAoFpE;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;AACtE,CAAC;AA8HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAyB;IACjD,OAAO,CAAoB;IAC3B,OAAO,CAAsB;IAErC;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB;QAC1B,wBAAwB,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YAAY,OAA6B;QACvC,KAAK,EAAE,CAAA;QAEP,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEtE,gEAAgE;QAChE,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;YACvC,GAAG,WAAW;SACf,CAAA;QAED,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,CAAC;QAED,6EAA6E;QAC7E,MAAM,eAAe,GAAG,YAAY,EAAE,eAAe;YACnD,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,wBAAwB;YACzD,CAAC,CAAC,uBAAuB,CAAA;QAE3B,MAAM,cAAc,GAAG,yBAAyB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;QAC9E,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC;YACtC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YACvB,cAAc;YACd,4CAA4C;YAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,eAAe;SAChB,CAAC,CAAA;QACF,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAEzE,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACK,iBAAiB;QACvB,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnG,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;QAEnC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,aAAa,IAAI,CAAC,OAAO,CAAC,OAAO,+EAA+E,CACjH,CAAA;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,QAAQ,GAAG,gBAAgB,CAAA;QAC7B,CAAC;QAED,OAAO,QAAQ,KAAK,WAAW,CAAA;IACjC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,WAA+B;QAC1C,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IACpD,CAAC;IAED;;;;;;;;;;OAUG;IACH,SAAS;QACP,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpG,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,WAAW,CAAC,QAAmB,EAAE,OAA4B;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAE1F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAA;QAEtE,IAAI,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACtD,MAAM,aAAa,GAA4B,EAAE,CAAA;YACjD,IAAI,OAAO,CAAC,QAAQ;gBAAE,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAC/D,IAAI,OAAO,CAAC,MAAM;gBAAE,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YACzD,IAAI,OAAO,CAAC,UAAU;gBAAE,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;YAErE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACtC,IAAI,kBAAkB,CAAC;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE;aACnC,CAAC,CACH,CAAA;YAED,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,uBAAuB,CAAC,wDAAwD,CAAC,CAAA;YAC7F,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,WAAW,wBAAwB,CAAC,CAAA;YAC3E,OAAO,QAAQ,CAAC,WAAW,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACrE,QAAQ,CACN,MAAM,EACN,aAAa,OAAO,iFAAiF,CACtG,CAAA;gBACD,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvC,CAAC;iBAAM,IACL,KAAK,YAAY,KAAK;gBACtB,KAAK,CAAC,IAAI,KAAK,qBAAqB;gBACpC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EACzD,CAAC;gBACD,MAAM,CAAC,KAAK,CACV,aAAa,OAAO,8FAA8F,CACnH,CAAA;gBACD,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,8DAA8D,CAAC,CAAA;YAC7F,CAAC;YACD,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,QAAmB,EAAE,OAAuB;QACxD,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACtD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAClC,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBAClD,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY;oBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;oBACzE,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpC,sBAAsB;gBACtB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,cAAkC,CAAA;oBACtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC1C,mCAAmC;wBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,kCAAkC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;wBAC7E,cAAc,GAAG,MAAM,CAAC,UAAU,CAAA;wBAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;4BAClC,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;gBAC5C,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY;oBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;oBACzE,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9D,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;YAE1C,oCAAoC;YACpC,IAAI,wCAAwC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxF,MAAM,IAAI,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrD,CAAC;YAED,8BAA8B;YAC9B,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,QAAmB,EAAE,OAAuB;QACjE,MAAM,OAAO,GAA+B;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;SACzC,CAAA;QAED,oBAAoB;QACpB,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC7C,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;YACnD,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAuB,CAAC,CAAA;YAC7G,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,4EAA4E;QAC5E,kFAAkF;QAClF,qEAAqE;QACrE,IAAI,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;QACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAC/F,CAAA;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,GAAG,CAAC,cAAc,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAW,SAAS,CAAC,GAAG,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;gBACC,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;iBACxC;aACF,CAAS,CACb,CAAA;YAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAChC,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;gBAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAA;gBAC9C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,uEAAuE;oBACvE,UAAU,CAAC,GAAG,GAAG,GAAyB,CAAA;gBAC5C,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;YAC5B,CAAC;YAED,MAAM,UAAU,GAAsB;gBACpC,KAAK,EAAE,KAAK;aACb,CAAA;YAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;YAC5C,CAAC;YAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QACjC,CAAC;QAED,8BAA8B;QAC9B,MAAM,eAAe,GAA2B,EAAE,CAAA;QAClD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QAC5F,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAClG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QAExG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,eAAe,GAAG,eAAe,CAAA;QAC3C,CAAC;QAED,gCAAgC;QAChC,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAA;QACzE,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,CAAC,4BAA4B,GAAG,uBAAuB,CAAA;QAChE,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;YAC9C,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAA;QACvF,CAAC;QAED,+EAA+E;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACrD,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,eAAe,GAAG;gBACxB,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB;gBACrE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB;gBAC/D,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,SAAS;gBACtD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB,IAAI;oBACvD,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB;iBACxE,CAAC;aACH,CAAA;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;OAQG;IACK,2BAA2B,CAAC,OAAuB;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAgE,CAAA;QAC5F,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;QACtC,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;YACxC,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IACxD,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,QAAmB;QACzC,+EAA+E;QAC/E,gFAAgF;QAChF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,sBAAsB;YAC1E,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAA;QAEb,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YAChF,MAAM,sBAAsB,GAAG,GAAG,KAAK,eAAe,CAAA;YACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;iBAC5B,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;gBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;gBACtD,OAAO,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;YACzF,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;YAEzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,2CAA2C;QAC3C,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,sBAAsB,CAAC,OAA8B,EAAE,SAAiB,EAAE,MAAc;QAC9F,0FAA0F;QAC1F,4DAA4D;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CACT,YAAY,MAAM,0FAA0F,CAC7G,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,0FAA0F;QAC1F,6FAA6F;QAC7F,gGAAgG;QAChG,gGAAgG;QAChG,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAA;QACjD,IAAI,GAAG,EAAE,CAAC;YACR,+FAA+F;YAC/F,2FAA2F;YAC3F,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,GAAyB,CAAA;QACnD,CAAC;QAED,kGAAkG;QAClG,8FAA8F;QAC9F,qEAAqE;QACrE,IAAI,SAAS,GAAG,SAAS,CAAA;QACzB,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;gBAClF,MAAK;YACP,CAAC;YACD,SAAS,EAAE,CAAA;QACb,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAC5B,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,kEAAkE;gBAClE,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,qDAAqD,CAAC,CAAA;gBACpF,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;YACpC,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,iBAAiB,SAAS,yCAAyC,CAAC,CAAA;YACnG,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,iBAAiB,SAAS,uCAAuC,CAAC,CAAA;QACjG,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,iBAAiB,CAAC,QAA0B;QAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,IAAI,WAAW,GAAkB,IAAI,CAAA;QACrC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACxD,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtC,WAAW,GAAG,MAAM,CAAA;YACtB,CAAC;QACH,CAAC;QAED,8FAA8F;QAC9F,iCAAiC;QACjC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACxD,IAAI,MAAM,KAAK,WAAW;gBAAE,SAAQ;YACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG;gBAAE,SAAQ;YAElB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;YAEjC,KAAK,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC/B,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;oBACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;oBAC3B,MAAM,CAAC,IAAI,CACT,YAAY,MAAM,iBAAiB,QAAQ,oEAAoE,CAChH,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;YACrC,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;gBAE/B,MAAM,UAAU,GAAa,EAAE,CAAA;gBAC/B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;oBAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;oBAC/B,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;wBACnC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC3B,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,6FAA6F;oBAC7F,0FAA0F;oBAC1F,0FAA0F;oBAC1F,uFAAuF;oBACvF,4FAA4F;oBAC5F,yFAAyF;oBACzF,sDAAsD;oBACtD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;wBACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;wBAC3B,MAAM,CAAC,IAAI,CACT,YAAY,WAAW,iBAAiB,QAAQ,oEAAoE,CACrH,CAAA;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAW,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC/E,OAAM;oBACR,CAAC;oBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,gFAAgF;wBAChF,gEAAgE;wBAChE,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,8BAA8B,CAAC,CAAA;wBACnE,OAAM;oBACR,CAAC;oBACD,kFAAkF;gBACpF,CAAC;gBAED,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;gBAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAA;gBACjD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,uEAAuE;oBACvE,UAAU,CAAC,GAAG,GAAG,GAAyB,CAAA;gBAC5C,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,iBAAiB,GAAkB,IAAI,CAAA;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;oBACxB,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;wBACrE,iBAAiB,GAAG,CAAC,CAAA;wBACrB,MAAK;oBACP,CAAC;gBACH,CAAC;gBAED,iFAAiF;gBACjF,2EAA2E;gBAC3E,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;gBAC9B,CAAC;qBAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;gBACtD,CAAC;qBAAM,CAAC;oBACN,8EAA8E;oBAC9E,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,sDAAsD,CAAC,CAAA;oBAC3F,OAAM;gBACR,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,4CAA4C,CAAC,CAAA;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,iBAAiB,CAAC,cAA+C;QACvE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,OAAO;gBACL,YAAY,EAAE;oBACZ,IAAI,EAAE;wBACJ,IAAI,EAAE,cAAc,CAAC,IAAI;qBAC1B;iBACF;aACF,CAAA;QACH,CAAC;QAED,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC9B,iEAAiE;YACjE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAA;YACvC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBAC/C,OAAO,cAAc,CAAA;YACvB,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;YAEhC,mDAAmD;YACnD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CACT,iBAAiB,MAAM,6EAA6E,CACrG,CAAA;gBACD,OAAO,cAAc,CAAA;YACvB,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CACT,0GAA0G,CAC3G,CAAA;gBACD,OAAO,cAAc,CAAA;YACvB,CAAC;YAED,OAAO;gBACL,YAAY,EAAE;oBACZ,KAAK,EAAE;wBACL,MAAM,EAAE,MAAwB;wBAChC,MAAM,EAAE,UAAU,CAAC,MAA+B;qBACnD;iBACF;aACF,CAAA;QACH,CAAC;QAED,yEAAyE;QACzE,OAAO,cAAc,CAAA;IACvB,CAAC;IAED;;;;;;;;;OASG;IACK,6BAA6B,CAAC,QAAmB;QACvD,KAAK,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAQ;YAC/B,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,EACtF,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;;;;;OASG;IACK,8BAA8B;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,MAAM,CAAA;QAEpE,IAAI,aAAa,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO,KAAK,CAAA;QAEzC,6DAA6D;QAC7D,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAEtG,uCAAuC;QACvC,MAAM,CAAC,KAAK,CACV,aAAa,IAAI,CAAC,OAAO,CAAC,OAAO,kCAAkC,aAAa,2CAA2C,CAC5H,CAAA;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,KAAmB;QAC7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;YAE7B,KAAK,cAAc;gBACjB,OAAO;oBACL,OAAO,EAAE;wBACP,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB;iBACF,CAAA;YAEH,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrB,KAAK,WAAW;4BACd,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;wBAC/B,KAAK,WAAW;4BACd,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;wBAC/B,KAAK,YAAY;4BACf,OAAO;gCACL,KAAK,EAAE;oCACL,MAAM,EAAE,OAAO,CAAC,MAAqB;oCACrC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;iCAChD;6BACF,CAAA;wBACH,KAAK,YAAY;4BACf,OAAO;gCACL,KAAK,EAAE;oCACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,OAAO,CAAC,MAAsB;oCAC/E,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;iCAChD;6BACF,CAAA;wBACH,KAAK,eAAe;4BAClB,OAAO;gCACL,QAAQ,EAAE;oCACR,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,MAAM,EAAE,OAAO,CAAC,MAAwB;oCACxC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC;oCAClD,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oCAC1D,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;iCACrD;6BACF,CAAA;oBACL,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,OAAO;oBACL,UAAU,EAAE;wBACV,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,OAAO;wBACP,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;qBACvE;iBACF,CAAA;YACH,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC9D,OAAO;wBACL,gBAAgB,EAAE;4BAChB,aAAa,EAAE;gCACb,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gCACtB,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;6BACrE;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACjC,OAAO;wBACL,gBAAgB,EAAE;4BAChB,eAAe,EAAE,KAAK,CAAC,eAAe;yBACvC;qBACF,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC,uFAAuF,CAAC,CAAA;gBACtG,CAAC;YACH,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;gBACpE,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC5B,uEAAuE;oBACvE,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,GAAyB,CAAA;gBAClD,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,CAAA;YACvB,CAAC;YAED,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAqB;wBACnC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;qBAC9C;iBACF,CAAA;YAEH,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;wBAC1D,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;qBAC9C;iBACF,CAAA;YAEH,KAAK,eAAe;gBAClB,OAAO;oBACL,QAAQ,EAAE;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAwB;wBACtC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;wBAChD,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;wBACtD,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;qBACjD;iBACF,CAAA;YAEH,KAAK,gBAAgB;gBACnB,OAAO;oBACL,gBAAgB,EAAE;wBAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpE,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB;iBACF,CAAA;YAEH,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO;wBACL,YAAY,EAAE;4BACZ,IAAI,EAAE;gCACJ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gCACrB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;6BAClC;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACvB,OAAO;wBACL,YAAY,EAAE;4BACZ,KAAK,EAAE;gCACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gCAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;6BAC5C;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,MAAiC;QAOjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,kBAAkB,CAAC;YACxB,KAAK,kBAAkB;gBACrB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;YAEhC,KAAK,gBAAgB;gBACnB,qCAAqC;gBACrC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,OAAO;wBACL,UAAU,EAAE;4BACV,GAAG,EAAE,MAAM,CAAC,GAAG;yBAChB;qBACF,CAAA;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAA;gBACjF,OAAM;YAER,KAAK,uBAAuB,CAAC;YAC7B,KAAK,uBAAuB;gBAC1B,OAAO;oBACL,UAAU,EAAE;wBACV,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;wBACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;qBACjF;iBACF,CAAA;YAEH;gBACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAC3B,MAAsB;QAEtB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,qBAAqB;gBACxB,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAA;YAEH,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,mEAAmE;gBACnE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;gBACjC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;YAC/C,CAAC;YAED,KAAK,4BAA4B;gBAC/B,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;iBACJ,CAAA;YAEH,KAAK,0BAA0B;gBAC7B,OAAO;oBACL,UAAU,EAAE;wBACV,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;wBACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;qBACjF;iBACF,CAAA;YAEH;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,KAA4B;QAC7D,MAAM,MAAM,GAAuB,EAAE,CAAA;QAErC,gBAAgB;QAChB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;QACxD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAA;QAC5D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,IAAI;SACL,CAAC,CAAA;QAEF,0BAA0B;QAC1B,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,CAAC,SAAiB,EAAQ,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9C,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,OAAO,EAAE,CAAC,KAAmB,EAAQ,EAAE;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE;wBACL,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC;wBAC/C,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBAC/D;iBACF,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE;iBACzG,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,gBAAgB,EAAE,CAAC,KAA4B,EAAQ,EAAE;gBACvD,IAAI,CAAC,KAAK;oBAAE,OAAM;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBAEpD,MAAM,KAAK,GAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;gBACtE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;oBAC1E,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS;wBAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAA;gBACpF,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACjC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;gBAC/C,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC7D,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,gBAAgB,EAAE,CAAC,KAAmC,EAAQ,EAAE;gBAC9D,IAAI,CAAC,KAAK;oBAAE,OAAM;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;gBACnD,MAAM,KAAK,GAAmB;oBAC5B,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAA;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;SACF,CAAA;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;QACjE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,GAAiC,CAAA;oBACpD,4EAA4E;oBAC5E,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;gBAC9C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,oCAAoC,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAW,CAAA;QACnF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC;SAC5D,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACxD,MAAM,aAAa,GAAqB;YACtC,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE;gBACL,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;gBAClE,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC;gBACrE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;aACnE;SACF,CAAA;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,aAAa,CAAC,OAAO,GAAG;gBACtB,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;aACvE,CAAA;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YAEjC,yDAAyD;YACzD,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,IAAI,aAAa,KAAK,sBAAsB,EAAE,CAAC;gBACtG,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClF,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAE1B,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACK,kCAAkC,CACxC,KAA2B,EAC3B,cAAuB;QAEvB,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,IAAI,UAAU,GAAG,cAAc,CAAA;QAE/B,6BAA6B;QAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAA+B,CAAA;QACjG,MAAM,SAAS,GAAG,KAAK,CAAC,SAAuC,CAAC,CAAA;QAEhE,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,SAAqC,CAAA;gBAClD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;gBAC1D,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAA;gBAC5D,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,IAAI;iBACL,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,SAA0C,CAAA;gBAEvD,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,6BAA6B;iBACpC,CAAA;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;oBAClC,KAAK,CAAC,KAAK,GAAG;wBACZ,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;wBACjD,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBACjE,CAAA;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,SAA0C,CAAA;gBACvD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAA;gBAClE,MAAM,aAAa,GAAG;oBACpB,IAAI,EAAE,CAAC,SAAiB,EAAQ,EAAE;wBAChC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;yBAC9C,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,EAAE,CAAC,OAA0B,EAAQ,EAAE;wBAC5C,IAAI,CAAC,OAAO,EAAE,KAAK;4BAAE,OAAM;wBAC3B,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;yBAC3D,CAAC,CAAA;oBACJ,CAAC;oBACD,gBAAgB,EAAE,CAAC,SAAqC,EAAQ,EAAE;wBAChE,IAAI,CAAC,SAAS;4BAAE,OAAM;wBACtB,MAAM,cAAc,GAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;wBAC/E,IAAI,SAAS,CAAC,IAAI;4BAAE,cAAc,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;wBACxD,IAAI,SAAS,CAAC,SAAS;4BAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;wBACvE,IAAI,SAAS,CAAC,eAAe;4BAAE,cAAc,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAA;wBAEzF,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;wBAC7E,CAAC;oBACH,CAAC;oBACD,QAAQ,EAAE,CAAC,QAA+B,EAAQ,EAAE;wBAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;wBACpG,IAAI,CAAC,QAAQ;4BAAE,OAAM;wBACrB,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE;gCACL,IAAI,EAAE,gBAAgB;gCACtB,SAAS,EAAE;oCACT;wCACE,QAAQ;wCACR,aAAa,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAK,EAAE,CAAC,CAAC;wCAC/E,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;wCAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;qCAC5B;iCACF;gCACD,OAAO,EAAE,EAAE;6BACZ;yBACF,CAAC,CAAA;oBACJ,CAAC;iBACF,CAAA;gBAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;wBACzB,MAAM,UAAU,GAAG,GAAiC,CAAA;wBACpD,4EAA4E;wBAC5E,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;oBAC9C,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,oCAAoC,CAAC,CAAA;oBACpE,CAAC;gBACH,CAAC;gBAED,MAAK;YACP,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,4BAA4B;iBACnC,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,IAAI,GAAG,SAAoC,CAAA;gBAEjD,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAW,CAAA;gBACxF,UAAU,GAAG,aAAa,CAAA;gBAC1B,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,uBAAuB;oBAC7B,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC3D,CAAA;gBAED,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACvC,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAA;gBAC1E,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,SAA+C,CAAA;gBAE5D,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,oBAAoB;iBAC3B,CAAA;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBAExB,MAAM,SAAS,GAAU;wBACvB,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;wBAClE,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC;wBACrE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;qBACnE,CAAA;oBAED,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBAC7C,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAA;oBAC7D,CAAC;oBACD,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;wBAC9C,SAAS,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAA;oBAC/D,CAAC;oBAED,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;gBACzB,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,KAAK,CAAC,OAAO,GAAG;wBACd,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBACtE,CAAA;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBAExB,kEAAkE;oBAClE,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,cAAc,KAAK,sBAAsB,EAAE,CAAC;wBACtG,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BACjF,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;wBAC7B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YACD,KAAK,yBAAyB,CAAC;YAC/B,KAAK,2BAA2B,CAAC;YACjC,KAAK,6BAA6B,CAAC;YACnC,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,SAAS,CAAA;YACjB,CAAC;YACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAI,SAAkC,CAAC,OAAO,IAAI,6CAA6C,CAAA;gBAC5G,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAA;gBACtD,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD;gBACE,sEAAsE;gBACtE,MAAM,CAAC,IAAI,CAAC,eAAe,SAAS,oCAAoC,CAAC,CAAA;gBACzE,MAAK;QACT,CAAC;QAED,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;IACvE,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAC1B,aAAqB,EACrB,KAAuD;QAEvD,IAAI,gBAA4B,CAAA;QAEhC,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;YACrC,gBAAgB,GAAG,eAAe,CAAC,aAA6C,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;YACnD,MAAM,CAAC,IAAI,CACT,gBAAgB,aAAa,gBAAgB,eAAe,kDAAkD,CAC/G,CAAA;YACD,gBAAgB,GAAG,eAAe,CAAA;QACpC,CAAC;QAED,2EAA2E;QAC3E,IACE,gBAAgB,KAAK,SAAS;YAC9B,KAAK;YACL,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,EACnE,CAAC;YACD,gBAAgB,GAAG,SAAS,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;QACjG,CAAC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;;;;;;;;OASG;IACK,2BAA2B,CAAC,eAAwC;QAC1E,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAA;YACxC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,aAAc,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QACtG,CAAC;QACD,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAA;YACxC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,aAAc,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QACtG,CAAC;QACD,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,eAAe,CAAC,aAAa,CAAA;YACzC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,CAAC,aAAc,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QACvG,CAAC;QACD,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,eAAe,CAAC,oBAAoB,CAAA;YAChD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QAC9G,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAA;YAC/B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;QAClF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,oCAAoC,CAAC,CAAA;QACtG,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,WAAyC;QACxE,OAAO;YACL,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;iBACrC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAChB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACpG,IAAI,CAAC,QAAQ;oBAAE,OAAO,SAAS,CAAA;gBAC/B,OAAO;oBACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;oBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;oBAC3B,aAAa,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAK,EAAE,CAAC,CAAC;oBAC/E,QAAQ;iBACT,CAAA;YACH,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;YACjC,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAK,EAAE,CAAC,CAAC;SACvE,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,QAAkB;QAC9C,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/D,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,6BAA6B,CAAC,QAA0B;QAC9D,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;YACjC,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;YACjC,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAA;YAClC,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAA;YACzC,CAAC;YACD,KAAK,KAAK;gBACR,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAA;YAC5F;gBACE,OAAO,QAA8C,CAAA;QACzD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,aAAuC;QACtE,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAA;QAEzD,+DAA+D;QAC/D,IAAI,SAAS,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YAChD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,cAAc,EAAE;oBACd,cAAc,EAAE,SAAS,EAAE,YAAY,IAAI,4BAA4B;iBACxE;aACF,CAAC,CAAA;QACJ,CAAC;QAED,2CAA2C;QAC3C,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACjD,MAAM,oBAAoB,GAAqB;gBAC7C,IAAI,EAAE,qBAAqB;gBAC3B,eAAe,EAAE;oBACf,cAAc,EAAE,SAAS,EAAE,aAAa,IAAI,6BAA6B;iBAC1E;aACF,CAAA;YAED,iDAAiD;YACjD,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtE,oBAAoB,CAAC,eAAgB,CAAC,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5F,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,SAAS,yBAAyB,CAChC,OAAqD;IAErD,IAAI,OAAO,IAAI,OAAQ,OAAgC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9E,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAwD,CAAA;IACtF,0FAA0F;IAC1F,6FAA6F;IAC7F,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,0BAA0B,EAAE,CAAA;AAC7F,CAAC;AAED;;;;;GAKG;AACH,SAAS,oCAAoC,CAC3C,MAA0C,EAC1C,cAAyE;IAEzE,IAAI,OAAQ,cAAuC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1E,OAAM;IACR,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,eAAe,KAAK,gBAAgB,EAAE,CAAC;QAC1E,OAAM;IACR,CAAC;IACD,MAAM,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,cAAyC,CAAC,CAAA;AACzF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAA4B,EAAE,MAAc;IAC/D,MAAM,CAAC,eAAe,CAAC,GAAG;IACxB,4EAA4E;IAC5E,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA8C,CAAA;QACnE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,EAAE,CAAA;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,yBAAyB;KAChC,CACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,MAA0C;IACpE,6DAA6D;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,CAAC,MAAM,GAAG,KAAK,IAAqB,EAAE;QAC1C,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,EAAE,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,0EAA0E;YAC1E,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBAC1D,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,CAAA;YACtC,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,sEAAsE;IACtE,MAAM,uBAAuB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,CAAC,eAAe,GAAG,KAAK,IAAsB,EAAE;QACpD,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,EAAE,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,0EAA0E;YAC1E,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBAC1D,OAAO,mCAAmC,CAAA;YAC5C,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/models/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,oBAAoB,EAOpB,eAAe,EAEf,qBAAqB,EACrB,kBAAkB,EAkBlB,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,GAOZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAKL,KAAK,EAEL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAM3B,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACvH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE1E,MAAM,mCAAmC,GAAG,KAAK,CAAA;AAEjD;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,OAAO,CAAA;AAE1C;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAElD;;;;GAIG;AACH,MAAM,mCAAmC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAEnE;;;GAGG;AACH,MAAM,wCAAwC,GAAG;IAC/C,uCAAuC;IACvC,oDAAoD;IACpD,2BAA2B;IAC3B,oBAAoB;CACrB,CAAA;AAED;;;GAGG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAA;AAElD;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,WAAW;IACvB,aAAa,EAAE,cAAc;IAC7B,gBAAgB,EAAE,iBAAiB;IACnC,oBAAoB,EAAE,qBAAqB;CACnC,CAAA;AAEV;;GAEG;AACH,MAAM,4BAA4B,GAAG,wBAAwB,CAAA;AAE7D;;GAEG;AACH,MAAM,6BAA6B,GAAG,8BAA8B,CAAA;AA2EpE;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;AACtE,CAAC;AA8HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAyB;IACjD,OAAO,CAAoB;IAC3B,OAAO,CAAsB;IAErC;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB;QAC1B,wBAAwB,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YAAY,OAA6B;QACvC,KAAK,EAAE,CAAA;QAEP,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEtE,gEAAgE;QAChE,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;YACvC,GAAG,WAAW;SACf,CAAA;QAED,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,CAAC;QAED,6EAA6E;QAC7E,MAAM,eAAe,GAAG,YAAY,EAAE,eAAe;YACnD,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,wBAAwB;YACzD,CAAC,CAAC,uBAAuB,CAAA;QAE3B,MAAM,cAAc,GAAG,yBAAyB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;QAC9E,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC;YACtC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YACvB,cAAc;YACd,4CAA4C;YAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,eAAe;SAChB,CAAC,CAAA;QACF,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAEzE,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACK,iBAAiB;QACvB,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnG,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,MAAM,CAAA;QAE7C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,aAAa,IAAI,CAAC,OAAO,CAAC,OAAO,+EAA+E,CACjH,CAAA;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,QAAQ,GAAG,gBAAgB,CAAA;QAC7B,CAAC;QAED,OAAO,QAAQ,KAAK,WAAW,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,MAAwC;QACjE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,KAAK,KAAK,EAAE,CAAC;YACxD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC,CAAA;IACvD,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,OAAmC;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAC5C,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,CAAC,CAAA;QACzF,IAAI,GAAG,GAAG,aAAa,CAAC,GAAG,CAAA;QAE3B,IAAI,GAAG,IAAI,OAAO,WAAW,EAAE,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAA;YAClF,IAAI,UAAU,IAAI,YAAY,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;gBACnF,GAAG,GAAG,SAAS,CAAA;YACjB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gBACvE,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAA;gBAC3B,IAAI,GAAG,EAAE,CAAC;oBACR,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,GAAyB,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,WAA+B;QAC1C,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IACpD,CAAC;IAED;;;;;;;;;;OAUG;IACH,SAAS;QACP,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpG,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,WAAW,CAAC,QAAmB,EAAE,OAA4B;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAE1F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAA;QAEtE,IAAI,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACtD,MAAM,aAAa,GAA4B,EAAE,CAAA;YACjD,IAAI,OAAO,CAAC,QAAQ;gBAAE,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAC/D,IAAI,OAAO,CAAC,MAAM;gBAAE,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YACzD,IAAI,OAAO,CAAC,UAAU;gBAAE,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;YAErE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACtC,IAAI,kBAAkB,CAAC;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE;aACnC,CAAC,CACH,CAAA;YAED,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,uBAAuB,CAAC,wDAAwD,CAAC,CAAA;YAC7F,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,WAAW,wBAAwB,CAAC,CAAA;YAC3E,OAAO,QAAQ,CAAC,WAAW,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACrE,QAAQ,CACN,MAAM,EACN,aAAa,OAAO,iFAAiF,CACtG,CAAA;gBACD,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvC,CAAC;iBAAM,IACL,KAAK,YAAY,KAAK;gBACtB,KAAK,CAAC,IAAI,KAAK,qBAAqB;gBACpC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EACzD,CAAC;gBACD,MAAM,CAAC,KAAK,CACV,aAAa,OAAO,8FAA8F,CACnH,CAAA;gBACD,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,8DAA8D,CAAC,CAAA;YAC7F,CAAC;YACD,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,QAAmB,EAAE,OAAuB;QACxD,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACtD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAClC,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBAClD,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY;oBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;oBACzE,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpC,sBAAsB;gBACtB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,cAAkC,CAAA;oBACtC,IAAI,gBAAgB,GAAG,KAAK,CAAA;oBAC5B,IAAI,iBAAiB,GAAG,KAAK,CAAA;oBAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,kCAAkC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;wBAC7E,cAAc,GAAG,MAAM,CAAC,UAAU,CAAA;wBAClC,+EAA+E;wBAC/E,kFAAkF;wBAClF,kFAAkF;wBAClF,2EAA2E;wBAC3E,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;4BAC7E,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAA;4BACtD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gCAChC,iBAAiB,GAAG,IAAI,CAAA;gCACxB,IAAI,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,CAAC;oCACnD,gBAAgB,GAAG,IAAI,CAAA;oCACvB,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAA;gCACrD,CAAC;4BACH,CAAC;iCAAM,IAAI,cAAc,KAAK,sBAAsB,EAAE,CAAC;gCACrD,gBAAgB,GAAG,IAAI,CAAA;gCACvB,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAA;4BAC1C,CAAC;wBACH,CAAC;wBACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;4BAClC,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC;oBAED,uEAAuE;oBACvE,IACE,CAAC,gBAAgB;wBACjB,CAAC,iBAAiB;wBAClB,cAAc,KAAK,sBAAsB;wBACzC,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,CAAC;wBACD,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAA;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;gBAC5C,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY;oBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;oBACzE,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9D,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;YAE1C,oCAAoC;YACpC,IAAI,wCAAwC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxF,MAAM,IAAI,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrD,CAAC;YAED,8BAA8B;YAC9B,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,QAAmB,EAAE,OAAuB;QACjE,MAAM,OAAO,GAA+B;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC,CAAC;SAC9E,CAAA;QAED,oBAAoB;QACpB,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC7C,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;YACnD,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAuB,CAAC,CAAA;YAC7G,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,yBAAyB;QACzB,4EAA4E;QAC5E,kFAAkF;QAClF,qEAAqE;QACrE,IAAI,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;QACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAC/F,CAAA;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,GAAG,CAAC,cAAc,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAW,SAAS,CAAC,GAAG,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;gBACC,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;iBACxC;aACF,CAAS,CACb,CAAA;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBAC5C,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC;gBAC9D,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YACtB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;gBAC9D,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;oBACnB,uEAAuE;oBACvE,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,GAAyB,CAAA;gBACvD,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;YAC5B,CAAC;YAED,MAAM,UAAU,GAAsB;gBACpC,KAAK,EAAE,KAAK;aACb,CAAA;YAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;YAC5C,CAAC;YAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QACjC,CAAC;QAED,kFAAkF;QAClF,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAElC,8BAA8B;QAC9B,MAAM,eAAe,GAA2B,EAAE,CAAA;QAClD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QAC5F,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAClG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QAExG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,eAAe,GAAG,eAAe,CAAA;QAC3C,CAAC;QAED,gCAAgC;QAChC,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAA;QACzE,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,CAAC,4BAA4B,GAAG,uBAAuB,CAAA;QAChE,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;YAC9C,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAA;QACvF,CAAC;QAED,+EAA+E;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACrD,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,eAAe,GAAG;gBACxB,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB;gBACrE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB;gBAC/D,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,SAAS;gBACtD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB,IAAI;oBACvD,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB;iBACxE,CAAC;aACH,CAAA;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;OAQG;IACK,2BAA2B,CAAC,OAAuB;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAgE,CAAA;QAC5F,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;QACtC,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;YACxC,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IACxD,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,QAAmB,EAAE,qBAAqB,GAAG,CAAC;QACpE,+EAA+E;QAC/E,gFAAgF;QAChF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,sBAAsB;YAC1E,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAA;QAEb,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YAChF,MAAM,sBAAsB,GAAG,GAAG,KAAK,eAAe,CAAA;YACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;iBAC5B,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;gBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;gBACtD,OAAO,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;YACzF,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;YAEzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE;YAC/C,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC;YACjE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QACtB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;QACrF,CAAC;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,sBAAsB,CAC5B,OAA8B,EAC9B,SAAiB,EACjB,MAAc,EACd,GAAc;QAEd,0FAA0F;QAC1F,4DAA4D;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CACT,YAAY,MAAM,0FAA0F,CAC7G,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,0FAA0F;QAC1F,6FAA6F;QAC7F,gGAAgG;QAChG,gGAAgG;QAChG,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAA;QAC5B,IAAI,GAAG,EAAE,CAAC;YACR,+FAA+F;YAC/F,2FAA2F;YAC3F,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,GAAyB,CAAA;QACnD,CAAC;QAED,kGAAkG;QAClG,8FAA8F;QAC9F,qEAAqE;QACrE,IAAI,SAAS,GAAG,SAAS,CAAA;QACzB,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;gBAClF,MAAK;YACP,CAAC;YACD,SAAS,EAAE,CAAA;QACb,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAC5B,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,kEAAkE;gBAClE,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,qDAAqD,CAAC,CAAA;gBACpF,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;YACpC,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,iBAAiB,SAAS,yCAAyC,CAAC,CAAA;YACnG,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,iBAAiB,SAAS,uCAAuC,CAAC,CAAA;QACjG,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iBAAiB,CAAC,QAA0B,EAAE,GAAc,EAAE,qBAAqB,GAAG,CAAC;QAC7F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,IAAI,WAAW,GAAkB,IAAI,CAAA;QACrC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACxD,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtC,WAAW,GAAG,MAAM,CAAA;YACtB,CAAC;QACH,CAAC;QAED,8FAA8F;QAC9F,iCAAiC;QACjC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACxD,IAAI,MAAM,KAAK,WAAW;gBAAE,SAAQ;YACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG;gBAAE,SAAQ;YAElB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;YAEjC,KAAK,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC/B,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;oBACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;oBAC3B,MAAM,CAAC,IAAI,CACT,YAAY,MAAM,iBAAiB,QAAQ,oEAAoE,CAChH,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;YACrC,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;gBAE/B,MAAM,UAAU,GAAa,EAAE,CAAA;gBAC/B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;oBAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;oBAC/B,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;wBACnC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC3B,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,4FAA4F;oBAC5F,0FAA0F;oBAC1F,0FAA0F;oBAC1F,uFAAuF;oBACvF,4FAA4F;oBAC5F,yFAAyF;oBACzF,sDAAsD;oBACtD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;wBACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;wBAC3B,MAAM,CAAC,IAAI,CACT,YAAY,WAAW,iBAAiB,QAAQ,oEAAoE,CACrH,CAAA;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAW,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;wBACpF,OAAM;oBACR,CAAC;oBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,gFAAgF;wBAChF,gEAAgE;wBAChE,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,8BAA8B,CAAC,CAAA;wBACnE,OAAM;oBACR,CAAC;oBACD,kFAAkF;gBACpF,CAAC;gBAED,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;gBAC9D,IAAI,GAAG,EAAE,CAAC;oBACR,uEAAuE;oBACvE,UAAU,CAAC,GAAG,GAAG,GAAyB,CAAA;gBAC5C,CAAC;gBAED,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;oBAC9B,2FAA2F;oBAC3F,2FAA2F;oBAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAA;oBACvE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;wBACtB,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,4CAA4C,CAAC,CAAA;wBACjF,OAAM;oBACR,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;oBAC9C,8FAA8F;oBAC9F,4DAA4D;oBAC5D,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAA;oBACnE,OAAM;gBACR,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,iBAAiB,GAAkB,IAAI,CAAA;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;oBACxB,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;wBACrE,iBAAiB,GAAG,CAAC,CAAA;wBACrB,MAAK;oBACP,CAAC;gBACH,CAAC;gBAED,iFAAiF;gBACjF,2EAA2E;gBAC3E,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;gBAC9B,CAAC;qBAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;gBACtD,CAAC;qBAAM,CAAC;oBACN,8EAA8E;oBAC9E,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,sDAAsD,CAAC,CAAA;oBAC3F,OAAM;gBACR,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,4CAA4C,CAAC,CAAA;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,iBAAiB,CAAC,cAA+C;QACvE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,OAAO;gBACL,YAAY,EAAE;oBACZ,IAAI,EAAE;wBACJ,IAAI,EAAE,cAAc,CAAC,IAAI;qBAC1B;iBACF;aACF,CAAA;QACH,CAAC;QAED,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC9B,iEAAiE;YACjE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAA;YACvC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBAC/C,OAAO,cAAc,CAAA;YACvB,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;YAEhC,mDAAmD;YACnD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CACT,iBAAiB,MAAM,6EAA6E,CACrG,CAAA;gBACD,OAAO,cAAc,CAAA;YACvB,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CACT,0GAA0G,CAC3G,CAAA;gBACD,OAAO,cAAc,CAAA;YACvB,CAAC;YAED,OAAO;gBACL,YAAY,EAAE;oBACZ,KAAK,EAAE;wBACL,MAAM,EAAE,MAAwB;wBAChC,MAAM,EAAE,UAAU,CAAC,MAA+B;qBACnD;iBACF;aACF,CAAA;QACH,CAAC;QAED,yEAAyE;QACzE,OAAO,cAAc,CAAA;IACvB,CAAC;IAED;;;;;;;;;OASG;IACK,6BAA6B,CAAC,QAAmB;QACvD,KAAK,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAQ;YAC/B,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,EACtF,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;;;;;OASG;IACK,8BAA8B;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,MAAM,CAAA;QAEpE,IAAI,aAAa,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO,KAAK,CAAA;QAEzC,6DAA6D;QAC7D,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAEtG,uCAAuC;QACvC,MAAM,CAAC,KAAK,CACV,aAAa,IAAI,CAAC,OAAO,CAAC,OAAO,kCAAkC,aAAa,2CAA2C,CAC5H,CAAA;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,KAAmB;QAC7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;YAE7B,KAAK,cAAc;gBACjB,OAAO;oBACL,OAAO,EAAE;wBACP,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB;iBACF,CAAA;YAEH,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrB,KAAK,WAAW;4BACd,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;wBAC/B,KAAK,WAAW;4BACd,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;wBAC/B,KAAK,YAAY;4BACf,OAAO;gCACL,KAAK,EAAE;oCACL,MAAM,EAAE,OAAO,CAAC,MAAqB;oCACrC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;iCAChD;6BACF,CAAA;wBACH,KAAK,YAAY;4BACf,OAAO;gCACL,KAAK,EAAE;oCACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,OAAO,CAAC,MAAsB;oCAC/E,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;iCAChD;6BACF,CAAA;wBACH,KAAK,eAAe;4BAClB,OAAO;gCACL,QAAQ,EAAE;oCACR,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,MAAM,EAAE,OAAO,CAAC,MAAwB;oCACxC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC;oCAClD,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oCAC1D,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;iCACrD;6BACF,CAAA;oBACL,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,OAAO;oBACL,UAAU,EAAE;wBACV,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,OAAO;wBACP,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;qBACvE;iBACF,CAAA;YACH,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC9D,OAAO;wBACL,gBAAgB,EAAE;4BAChB,aAAa,EAAE;gCACb,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gCACtB,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;6BACrE;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACjC,OAAO;wBACL,gBAAgB,EAAE;4BAChB,eAAe,EAAE,KAAK,CAAC,eAAe;yBACvC;qBACF,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC,uFAAuF,CAAC,CAAA;gBACtG,CAAC;YACH,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;gBACpE,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACd,oGAAoG;oBACpG,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,GAAyB,CAAA;gBAClD,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,CAAA;YACvB,CAAC;YAED,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAqB;wBACnC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;qBAC9C;iBACF,CAAA;YAEH,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAqB;wBACnC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;qBAC9C;iBACF,CAAA;YAEH,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;wBAC1D,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;qBAC9C;iBACF,CAAA;YAEH,KAAK,eAAe;gBAClB,OAAO;oBACL,QAAQ,EAAE;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAwB;wBACtC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;wBAChD,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;wBACtD,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;qBACjD;iBACF,CAAA;YAEH,KAAK,gBAAgB;gBACnB,OAAO;oBACL,gBAAgB,EAAE;wBAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpE,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB;iBACF,CAAA;YAEH,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO;wBACL,YAAY,EAAE;4BACZ,IAAI,EAAE;gCACJ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gCACrB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;6BAClC;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACvB,OAAO;wBACL,YAAY,EAAE;4BACZ,KAAK,EAAE;gCACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gCAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;6BAC5C;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,MAA+C;QAS/C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,kBAAkB,CAAC;YACxB,KAAK,kBAAkB,CAAC;YACxB,KAAK,kBAAkB;gBACrB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;YAEhC,KAAK,gBAAgB;gBACnB,qCAAqC;gBACrC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,OAAO;wBACL,UAAU,EAAE;4BACV,GAAG,EAAE,MAAM,CAAC,GAAG;yBAChB;qBACF,CAAA;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAA;gBACjF,OAAM;YAER,KAAK,uBAAuB,CAAC;YAC7B,KAAK,uBAAuB,CAAC;YAC7B,KAAK,uBAAuB;gBAC1B,OAAO;oBACL,UAAU,EAAE;wBACV,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;wBACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;qBACjF;iBACF,CAAA;YAEH;gBACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAC3B,MAAsB;QAEtB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,qBAAqB;gBACxB,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAA;YAEH,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,mEAAmE;gBACnE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;gBACjC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;YAC/C,CAAC;YAED,KAAK,4BAA4B;gBAC/B,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;iBACJ,CAAA;YAEH,KAAK,0BAA0B;gBAC7B,OAAO;oBACL,UAAU,EAAE;wBACV,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;wBACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;qBACjF;iBACF,CAAA;YAEH;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,KAA4B;QAC7D,MAAM,MAAM,GAAuB,EAAE,CAAA;QAErC,gBAAgB;QAChB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;QACxD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAA;QAC5D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,IAAI;SACL,CAAC,CAAA;QAEF,0BAA0B;QAC1B,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,CAAC,SAAiB,EAAQ,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9C,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,OAAO,EAAE,CAAC,KAAmB,EAAQ,EAAE;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE;wBACL,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC;wBAC/C,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBAC/D;iBACF,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE;iBACzG,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,gBAAgB,EAAE,CAAC,KAA4B,EAAQ,EAAE;gBACvD,IAAI,CAAC,KAAK;oBAAE,OAAM;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBAEpD,MAAM,KAAK,GAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;gBACtE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;oBAC1E,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS;wBAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAA;gBACpF,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACjC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;gBAC/C,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC7D,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,gBAAgB,EAAE,CAAC,KAAmC,EAAQ,EAAE;gBAC9D,IAAI,CAAC,KAAK;oBAAE,OAAM;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;gBACnD,MAAM,KAAK,GAAmB;oBAC5B,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAA;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;SACF,CAAA;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;QACjE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,GAAiC,CAAA;oBACpD,4EAA4E;oBAC5E,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;gBAC9C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,oCAAoC,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAW,CAAA;QACnF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC;SAC5D,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACxD,MAAM,aAAa,GAAqB;YACtC,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE;gBACL,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;gBAClE,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC;gBACrE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;aACnE;SACF,CAAA;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,aAAa,CAAC,OAAO,GAAG;gBACtB,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;aACvE,CAAA;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACnC,CAAC;QAED,2FAA2F;QAC3F,0FAA0F;QAC1F,oFAAoF;QACpF,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,aAAa,KAAK,sBAAsB,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,CAAA;YACxC,MAAM,YAAY,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAChG,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC5E,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAE1B,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACK,kCAAkC,CACxC,KAA2B,EAC3B,cAAuB;QAEvB,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,IAAI,UAAU,GAAG,cAAc,CAAA;QAE/B,6BAA6B;QAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAA+B,CAAA;QACjG,MAAM,SAAS,GAAG,KAAK,CAAC,SAAuC,CAAC,CAAA;QAEhE,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,SAAqC,CAAA;gBAClD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;gBAC1D,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAA;gBAC5D,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,IAAI;iBACL,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,SAA0C,CAAA;gBAEvD,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,6BAA6B;iBACpC,CAAA;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;oBAClC,KAAK,CAAC,KAAK,GAAG;wBACZ,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;wBACjD,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBACjE,CAAA;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,SAA0C,CAAA;gBACvD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAA;gBAClE,MAAM,aAAa,GAAG;oBACpB,IAAI,EAAE,CAAC,SAAiB,EAAQ,EAAE;wBAChC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;yBAC9C,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,EAAE,CAAC,OAA0B,EAAQ,EAAE;wBAC5C,IAAI,CAAC,OAAO,EAAE,KAAK;4BAAE,OAAM;wBAC3B,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;yBAC3D,CAAC,CAAA;oBACJ,CAAC;oBACD,gBAAgB,EAAE,CAAC,SAAqC,EAAQ,EAAE;wBAChE,IAAI,CAAC,SAAS;4BAAE,OAAM;wBACtB,MAAM,cAAc,GAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;wBAC/E,IAAI,SAAS,CAAC,IAAI;4BAAE,cAAc,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;wBACxD,IAAI,SAAS,CAAC,SAAS;4BAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;wBACvE,IAAI,SAAS,CAAC,eAAe;4BAAE,cAAc,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAA;wBAEzF,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;wBAC7E,CAAC;oBACH,CAAC;oBACD,QAAQ,EAAE,CAAC,QAA+B,EAAQ,EAAE;wBAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;wBACpG,IAAI,CAAC,QAAQ;4BAAE,OAAM;wBACrB,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE;gCACL,IAAI,EAAE,gBAAgB;gCACtB,SAAS,EAAE;oCACT;wCACE,QAAQ;wCACR,aAAa,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAK,EAAE,CAAC,CAAC;wCAC/E,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;wCAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;qCAC5B;iCACF;gCACD,OAAO,EAAE,EAAE;6BACZ;yBACF,CAAC,CAAA;oBACJ,CAAC;iBACF,CAAA;gBAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;wBACzB,MAAM,UAAU,GAAG,GAAiC,CAAA;wBACpD,4EAA4E;wBAC5E,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;oBAC9C,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,oCAAoC,CAAC,CAAA;oBACpE,CAAC;gBACH,CAAC;gBAED,MAAK;YACP,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,4BAA4B;iBACnC,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,IAAI,GAAG,SAAoC,CAAA;gBAEjD,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAW,CAAA;gBACxF,UAAU,GAAG,aAAa,CAAA;gBAC1B,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,uBAAuB;oBAC7B,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC3D,CAAA;gBAED,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACvC,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAA;gBAC1E,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,SAA+C,CAAA;gBAE5D,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,oBAAoB;iBAC3B,CAAA;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBAExB,MAAM,SAAS,GAAU;wBACvB,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;wBAClE,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC;wBACrE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;qBACnE,CAAA;oBAED,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBAC7C,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAA;oBAC7D,CAAC;oBACD,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;wBAC9C,SAAS,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAA;oBAC/D,CAAC;oBAED,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;gBACzB,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,KAAK,CAAC,OAAO,GAAG;wBACd,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBACtE,CAAA;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC1B,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YACD,KAAK,yBAAyB,CAAC;YAC/B,KAAK,2BAA2B,CAAC;YACjC,KAAK,6BAA6B,CAAC;YACnC,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,SAAS,CAAA;YACjB,CAAC;YACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAI,SAAkC,CAAC,OAAO,IAAI,6CAA6C,CAAA;gBAC5G,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAA;gBACtD,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD;gBACE,sEAAsE;gBACtE,MAAM,CAAC,IAAI,CAAC,eAAe,SAAS,oCAAoC,CAAC,CAAA;gBACzE,MAAK;QACT,CAAC;QAED,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;IACvE,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAC1B,aAAqB,EACrB,KAAuD;QAEvD,IAAI,gBAA4B,CAAA;QAEhC,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;YACrC,gBAAgB,GAAG,eAAe,CAAC,aAA6C,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;YACnD,MAAM,CAAC,IAAI,CACT,gBAAgB,aAAa,gBAAgB,eAAe,kDAAkD,CAC/G,CAAA;YACD,gBAAgB,GAAG,eAAe,CAAA;QACpC,CAAC;QAED,2EAA2E;QAC3E,IACE,gBAAgB,KAAK,SAAS;YAC9B,KAAK;YACL,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,EACnE,CAAC;YACD,gBAAgB,GAAG,SAAS,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;QACjG,CAAC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;;;;;;;;OASG;IACK,2BAA2B,CAAC,eAAwC;QAC1E,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAA;YACxC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,aAAc,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QACtG,CAAC;QACD,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAA;YACxC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,aAAc,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QACtG,CAAC;QACD,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,eAAe,CAAC,aAAa,CAAA;YACzC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,CAAC,aAAc,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QACvG,CAAC;QACD,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,eAAe,CAAC,oBAAoB,CAAA;YAChD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,CAAA;QAC9G,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAA;YAC/B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;QAClF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,oCAAoC,CAAC,CAAA;QACtG,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,WAAyC;QACxE,OAAO;YACL,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;iBACrC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAChB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACpG,IAAI,CAAC,QAAQ;oBAAE,OAAO,SAAS,CAAA;gBAC/B,OAAO;oBACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;oBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;oBAC3B,aAAa,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAK,EAAE,CAAC,CAAC;oBAC/E,QAAQ;iBACT,CAAA;YACH,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;YACjC,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAK,EAAE,CAAC,CAAC;SACvE,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,QAAkB;QAC9C,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/D,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,6BAA6B,CAAC,QAA0B;QAC9D,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;YACjC,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;YACjC,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAA;YAClC,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;gBACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAA;YACzC,CAAC;YACD,KAAK,KAAK;gBACR,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAA;YAC5F;gBACE,OAAO,QAA8C,CAAA;QACzD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,0BAA0B,CAAC,aAAuC;QACxE,MAAM,KAAK,GAAG,CAAC,KAAc,EAAW,EAAE;YACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAC3C,MAAM,MAAM,GAAG,KAAgC,CAAA;YAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YACxE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAA;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,aAAuC;QACtE,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAA;QAEzD,+DAA+D;QAC/D,IAAI,SAAS,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YAChD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,cAAc,EAAE;oBACd,cAAc,EAAE,SAAS,EAAE,YAAY,IAAI,4BAA4B;iBACxE;aACF,CAAC,CAAA;QACJ,CAAC;QAED,2CAA2C;QAC3C,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACjD,MAAM,oBAAoB,GAAqB;gBAC7C,IAAI,EAAE,qBAAqB;gBAC3B,eAAe,EAAE;oBACf,cAAc,EAAE,SAAS,EAAE,aAAa,IAAI,6BAA6B;iBAC1E;aACF,CAAA;YAED,iDAAiD;YACjD,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtE,oBAAoB,CAAC,eAAgB,CAAC,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5F,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,SAAS,yBAAyB,CAChC,OAAqD;IAErD,IAAI,OAAO,IAAI,OAAQ,OAAgC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9E,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAwD,CAAA;IACtF,0FAA0F;IAC1F,6FAA6F;IAC7F,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,0BAA0B,EAAE,CAAA;AAC7F,CAAC;AAED;;;;;GAKG;AACH,SAAS,oCAAoC,CAC3C,MAA0C,EAC1C,cAAyE;IAEzE,IAAI,OAAQ,cAAuC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1E,OAAM;IACR,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,eAAe,KAAK,gBAAgB,EAAE,CAAC;QAC1E,OAAM;IACR,CAAC;IACD,MAAM,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,cAAyC,CAAC,CAAA;AACzF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAA4B,EAAE,MAAc;IAC/D,MAAM,CAAC,eAAe,CAAC,GAAG;IACxB,4EAA4E;IAC5E,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA8C,CAAA;QACnE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,EAAE,CAAA;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,yBAAyB;KAChC,CACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,MAA0C;IACpE,6DAA6D;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,CAAC,MAAM,GAAG,KAAK,IAAqB,EAAE;QAC1C,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,EAAE,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,0EAA0E;YAC1E,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBAC1D,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,CAAA;YACtC,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,sEAAsE;IACtE,MAAM,uBAAuB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,CAAC,eAAe,GAAG,KAAK,IAAsB,EAAE;QACpD,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,EAAE,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,0EAA0E;YAC1E,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBAC1D,OAAO,mCAAmC,CAAA;YAC5C,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../../src/models/google/adapters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAG5B,YAAY,IAAI,kBAAkB,EACnC,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EAKX,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAE7E,CAAA;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CA6B7D;AAkRD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,CAmJnH"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../../src/models/google/adapters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAG5B,YAAY,IAAI,kBAAkB,EACnC,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EAKX,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAE7E,CAAA;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CA6B7D;AAkRD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,CAiKnH"}
@@ -306,10 +306,24 @@ export function mapChunkToEvents(chunk, streamState) {
306
306
  const events = [];
307
307
  // Extract usage metadata if available
308
308
  if (chunk.usageMetadata) {
309
- const promptTokens = chunk.usageMetadata.promptTokenCount || 0;
310
- const totalTokens = chunk.usageMetadata.totalTokenCount || 0;
311
- streamState.inputTokens = promptTokens;
312
- streamState.outputTokens = totalTokens - promptTokens;
309
+ const usageMetadata = chunk.usageMetadata;
310
+ const promptTokens = usageMetadata.promptTokenCount || 0;
311
+ const toolUsePromptTokens = usageMetadata.toolUsePromptTokenCount || 0;
312
+ const totalTokens = usageMetadata.totalTokenCount || 0;
313
+ const candidatesTokens = usageMetadata.candidatesTokenCount;
314
+ const thoughtsTokens = usageMetadata.thoughtsTokenCount || 0;
315
+ const inputTokens = promptTokens + toolUsePromptTokens;
316
+ streamState.inputTokens = inputTokens;
317
+ streamState.outputTokens =
318
+ candidatesTokens === undefined ? Math.max(0, totalTokens - inputTokens) : candidatesTokens + thoughtsTokens;
319
+ streamState.totalTokens = totalTokens;
320
+ const cachedTokens = usageMetadata.cachedContentTokenCount;
321
+ if (typeof cachedTokens === 'number' && cachedTokens > 0) {
322
+ streamState.cacheReadInputTokens = cachedTokens;
323
+ }
324
+ else {
325
+ delete streamState.cacheReadInputTokens;
326
+ }
313
327
  }
314
328
  const candidates = chunk.candidates;
315
329
  if (!candidates || candidates.length === 0) {