libre-webui 0.17.0 → 0.18.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 (279) hide show
  1. package/backend/dist/db.d.ts.map +1 -1
  2. package/backend/dist/db.js +150 -6
  3. package/backend/dist/db.js.map +1 -1
  4. package/backend/dist/index.d.ts.map +1 -1
  5. package/backend/dist/index.js +15 -10
  6. package/backend/dist/index.js.map +1 -1
  7. package/backend/dist/middleware/auth.d.ts.map +1 -1
  8. package/backend/dist/middleware/auth.js +35 -3
  9. package/backend/dist/middleware/auth.js.map +1 -1
  10. package/backend/dist/models/userModel.d.ts +23 -0
  11. package/backend/dist/models/userModel.d.ts.map +1 -1
  12. package/backend/dist/models/userModel.js +89 -24
  13. package/backend/dist/models/userModel.js.map +1 -1
  14. package/backend/dist/routes/agentCli.d.ts.map +1 -1
  15. package/backend/dist/routes/agentCli.js +2 -0
  16. package/backend/dist/routes/agentCli.js.map +1 -1
  17. package/backend/dist/routes/auth.d.ts.map +1 -1
  18. package/backend/dist/routes/auth.js +46 -33
  19. package/backend/dist/routes/auth.js.map +1 -1
  20. package/backend/dist/routes/chat.d.ts.map +1 -1
  21. package/backend/dist/routes/chat.js +3 -1
  22. package/backend/dist/routes/chat.js.map +1 -1
  23. package/backend/dist/routes/documents.d.ts.map +1 -1
  24. package/backend/dist/routes/documents.js +49 -41
  25. package/backend/dist/routes/documents.js.map +1 -1
  26. package/backend/dist/routes/embeddings.js +2 -2
  27. package/backend/dist/routes/embeddings.js.map +1 -1
  28. package/backend/dist/routes/huggingfaceHub.d.ts.map +1 -1
  29. package/backend/dist/routes/huggingfaceHub.js +3 -1
  30. package/backend/dist/routes/huggingfaceHub.js.map +1 -1
  31. package/backend/dist/routes/imageGen.d.ts.map +1 -1
  32. package/backend/dist/routes/imageGen.js +2 -0
  33. package/backend/dist/routes/imageGen.js.map +1 -1
  34. package/backend/dist/routes/media.d.ts +3 -0
  35. package/backend/dist/routes/media.d.ts.map +1 -0
  36. package/backend/dist/routes/media.js +429 -0
  37. package/backend/dist/routes/media.js.map +1 -0
  38. package/backend/dist/routes/ollama.d.ts.map +1 -1
  39. package/backend/dist/routes/ollama.js +15 -83
  40. package/backend/dist/routes/ollama.js.map +1 -1
  41. package/backend/dist/routes/personas.d.ts.map +1 -1
  42. package/backend/dist/routes/personas.js +2 -0
  43. package/backend/dist/routes/personas.js.map +1 -1
  44. package/backend/dist/routes/plugins.d.ts.map +1 -1
  45. package/backend/dist/routes/plugins.js +28 -0
  46. package/backend/dist/routes/plugins.js.map +1 -1
  47. package/backend/dist/routes/systemDiagnostics.d.ts +3 -0
  48. package/backend/dist/routes/systemDiagnostics.d.ts.map +1 -0
  49. package/backend/dist/routes/systemDiagnostics.js +49 -0
  50. package/backend/dist/routes/systemDiagnostics.js.map +1 -0
  51. package/backend/dist/routes/tts.d.ts.map +1 -1
  52. package/backend/dist/routes/tts.js +4 -0
  53. package/backend/dist/routes/tts.js.map +1 -1
  54. package/backend/dist/routes/users.d.ts.map +1 -1
  55. package/backend/dist/routes/users.js +58 -0
  56. package/backend/dist/routes/users.js.map +1 -1
  57. package/backend/dist/routes/work.d.ts.map +1 -1
  58. package/backend/dist/routes/work.js +84 -0
  59. package/backend/dist/routes/work.js.map +1 -1
  60. package/backend/dist/services/authService.d.ts +15 -9
  61. package/backend/dist/services/authService.d.ts.map +1 -1
  62. package/backend/dist/services/authService.js +34 -29
  63. package/backend/dist/services/authService.js.map +1 -1
  64. package/backend/dist/services/chatRequestService.d.ts +8 -2
  65. package/backend/dist/services/chatRequestService.d.ts.map +1 -1
  66. package/backend/dist/services/chatRequestService.js +30 -3
  67. package/backend/dist/services/chatRequestService.js.map +1 -1
  68. package/backend/dist/services/documentService.d.ts +11 -10
  69. package/backend/dist/services/documentService.d.ts.map +1 -1
  70. package/backend/dist/services/documentService.js +62 -54
  71. package/backend/dist/services/documentService.js.map +1 -1
  72. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  73. package/backend/dist/services/encryptionService.js +18 -8
  74. package/backend/dist/services/encryptionService.js.map +1 -1
  75. package/backend/dist/services/galleryService.d.ts +23 -1
  76. package/backend/dist/services/galleryService.d.ts.map +1 -1
  77. package/backend/dist/services/galleryService.js +125 -8
  78. package/backend/dist/services/galleryService.js.map +1 -1
  79. package/backend/dist/services/mediaGenerationJobService.d.ts +25 -0
  80. package/backend/dist/services/mediaGenerationJobService.d.ts.map +1 -0
  81. package/backend/dist/services/mediaGenerationJobService.js +82 -0
  82. package/backend/dist/services/mediaGenerationJobService.js.map +1 -0
  83. package/backend/dist/services/pluginAudioGenerationService.d.ts +34 -0
  84. package/backend/dist/services/pluginAudioGenerationService.d.ts.map +1 -0
  85. package/backend/dist/services/pluginAudioGenerationService.js +211 -0
  86. package/backend/dist/services/pluginAudioGenerationService.js.map +1 -0
  87. package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -1
  88. package/backend/dist/services/pluginCapabilityRegistryService.js +6 -0
  89. package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -1
  90. package/backend/dist/services/pluginEmbeddingService.d.ts +2 -0
  91. package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -1
  92. package/backend/dist/services/pluginEmbeddingService.js +66 -35
  93. package/backend/dist/services/pluginEmbeddingService.js.map +1 -1
  94. package/backend/dist/services/pluginImageGenerationService.d.ts +2 -0
  95. package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
  96. package/backend/dist/services/pluginImageGenerationService.js +63 -38
  97. package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
  98. package/backend/dist/services/pluginService.d.ts +38 -1
  99. package/backend/dist/services/pluginService.d.ts.map +1 -1
  100. package/backend/dist/services/pluginService.js +390 -69
  101. package/backend/dist/services/pluginService.js.map +1 -1
  102. package/backend/dist/services/pluginTTSService.d.ts +2 -0
  103. package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
  104. package/backend/dist/services/pluginTTSService.js +27 -2
  105. package/backend/dist/services/pluginTTSService.js.map +1 -1
  106. package/backend/dist/services/pluginUsageService.d.ts +82 -0
  107. package/backend/dist/services/pluginUsageService.d.ts.map +1 -0
  108. package/backend/dist/services/pluginUsageService.js +238 -0
  109. package/backend/dist/services/pluginUsageService.js.map +1 -0
  110. package/backend/dist/services/pluginVideoGenerationService.d.ts +45 -0
  111. package/backend/dist/services/pluginVideoGenerationService.d.ts.map +1 -0
  112. package/backend/dist/services/pluginVideoGenerationService.js +198 -0
  113. package/backend/dist/services/pluginVideoGenerationService.js.map +1 -0
  114. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  115. package/backend/dist/services/preferencesService.js +15 -1
  116. package/backend/dist/services/preferencesService.js.map +1 -1
  117. package/backend/dist/services/registrationPolicy.d.ts +5 -0
  118. package/backend/dist/services/registrationPolicy.d.ts.map +1 -0
  119. package/backend/dist/services/registrationPolicy.js +21 -0
  120. package/backend/dist/services/registrationPolicy.js.map +1 -0
  121. package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
  122. package/backend/dist/services/simpleGitHubOAuth.js +8 -12
  123. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
  124. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
  125. package/backend/dist/services/simpleHuggingFaceOAuth.js +7 -12
  126. package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
  127. package/backend/dist/services/systemDiagnosticsService.d.ts +117 -0
  128. package/backend/dist/services/systemDiagnosticsService.d.ts.map +1 -0
  129. package/backend/dist/services/systemDiagnosticsService.js +326 -0
  130. package/backend/dist/services/systemDiagnosticsService.js.map +1 -0
  131. package/backend/dist/services/turnstileService.d.ts +2 -1
  132. package/backend/dist/services/turnstileService.d.ts.map +1 -1
  133. package/backend/dist/services/turnstileService.js +28 -2
  134. package/backend/dist/services/turnstileService.js.map +1 -1
  135. package/backend/dist/services/workModelProviderService.d.ts +3 -0
  136. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  137. package/backend/dist/services/workModelProviderService.js +37 -4
  138. package/backend/dist/services/workModelProviderService.js.map +1 -1
  139. package/backend/dist/services/workPreviewProxyService.d.ts +27 -0
  140. package/backend/dist/services/workPreviewProxyService.d.ts.map +1 -0
  141. package/backend/dist/services/workPreviewProxyService.js +514 -0
  142. package/backend/dist/services/workPreviewProxyService.js.map +1 -0
  143. package/backend/dist/services/workRuntimeService.d.ts +22 -1
  144. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  145. package/backend/dist/services/workRuntimeService.js +287 -8
  146. package/backend/dist/services/workRuntimeService.js.map +1 -1
  147. package/backend/dist/storage.d.ts.map +1 -1
  148. package/backend/dist/storage.js +3 -3
  149. package/backend/dist/storage.js.map +1 -1
  150. package/backend/dist/types/index.d.ts +77 -1
  151. package/backend/dist/types/index.d.ts.map +1 -1
  152. package/backend/dist/types/index.js.map +1 -1
  153. package/backend/dist/types/work.d.ts +31 -0
  154. package/backend/dist/types/work.d.ts.map +1 -1
  155. package/backend/dist/utils/chatDocumentContext.d.ts +1 -1
  156. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
  157. package/backend/dist/utils/chatDocumentContext.js +4 -4
  158. package/backend/dist/utils/chatDocumentContext.js.map +1 -1
  159. package/backend/dist/utils/pluginDefinitionTrust.js +1 -1
  160. package/backend/dist/utils/pluginValidation.d.ts +3 -2
  161. package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
  162. package/backend/dist/utils/pluginValidation.js +30 -2
  163. package/backend/dist/utils/pluginValidation.js.map +1 -1
  164. package/backend/dist/utils/workGit.d.ts +14 -0
  165. package/backend/dist/utils/workGit.d.ts.map +1 -0
  166. package/backend/dist/utils/workGit.js +207 -0
  167. package/backend/dist/utils/workGit.js.map +1 -0
  168. package/backend/dist/websocketServer.d.ts +1 -0
  169. package/backend/dist/websocketServer.d.ts.map +1 -1
  170. package/backend/dist/websocketServer.js +108 -24
  171. package/backend/dist/websocketServer.js.map +1 -1
  172. package/backend/dist/workTerminalServer.d.ts.map +1 -1
  173. package/backend/dist/workTerminalServer.js +3 -1
  174. package/backend/dist/workTerminalServer.js.map +1 -1
  175. package/backend/package.json +1 -1
  176. package/frontend/dist/assets/index-ChhWhug2.css +1 -0
  177. package/frontend/dist/assets/index-CmZntyR1.js +3 -0
  178. package/frontend/dist/index.html +26 -6
  179. package/frontend/dist/js/ArtifactContainer-CBAbdoIJ.js +1 -0
  180. package/frontend/dist/js/{ArtifactDemoPage-B4qsvUnF.js → ArtifactDemoPage-BWN0MWCx.js} +1 -1
  181. package/frontend/dist/js/ArtifactSlideOutPanel-D-AvYkfk.js +1 -0
  182. package/frontend/dist/js/ChatPage-w2FkF_fE.js +16 -0
  183. package/frontend/dist/js/FirstTimeSetup-CzBxl7UH.js +1 -0
  184. package/frontend/dist/js/GalleryPage-Cv8pniRW.js +1 -0
  185. package/frontend/dist/js/HomePage-Vyj4ndU4.js +1 -0
  186. package/frontend/dist/js/LibreClawPage-CYhLgQB-.js +1 -0
  187. package/frontend/dist/js/{ModelManagerModals-DMoEav1l.js → ModelManagerModals-C2rwHd01.js} +1 -1
  188. package/frontend/dist/js/ModelSelector-D7kDjZV9.js +1 -0
  189. package/frontend/dist/js/ModelsPage-BnUddkrs.js +2 -0
  190. package/frontend/dist/js/PersonasPage-BL5XlrEm.js +13 -0
  191. package/frontend/dist/js/PluginUsagePage-BXqweCCs.js +1 -0
  192. package/frontend/dist/js/{RichMessageContent-BJ49VN9j.js → RichMessageContent-nAEaPTpH.js} +2 -2
  193. package/frontend/dist/js/SettingsModal-DZYCI5-y.js +1 -0
  194. package/frontend/dist/js/SystemPage-jdHYfn9A.js +1 -0
  195. package/frontend/dist/js/UserManagementPage-BpOnt6os.js +1 -0
  196. package/frontend/dist/js/WorkPage-DAp1T1dl.js +5 -0
  197. package/frontend/dist/js/api-BCqWXjZI.js +19 -0
  198. package/frontend/dist/js/appStore-CDM6V5ny.js +2 -0
  199. package/frontend/dist/js/ar-DS8gs8WK.js +2 -0
  200. package/frontend/dist/js/{authStore-mOYH_AXI.js → authStore-Bl5ofD_h.js} +3 -3
  201. package/frontend/dist/js/bn-CrMPJwTR.js +2 -0
  202. package/frontend/dist/js/cs-BL116Ezu.js +2 -0
  203. package/frontend/dist/js/da-TDNaKzqy.js +2 -0
  204. package/frontend/dist/js/de-DkIqdAB5.js +2 -0
  205. package/frontend/dist/js/es-CHRXt6Fd.js +2 -0
  206. package/frontend/dist/js/{estree-0vwU39qX.js → estree-BFya-bSu.js} +1 -1
  207. package/frontend/dist/js/fr-8715yUKq.js +2 -0
  208. package/frontend/dist/js/hi-C2O08SBU.js +2 -0
  209. package/frontend/dist/js/{html-CApr2Bvi.js → html-DJot0Wwf.js} +1 -1
  210. package/frontend/dist/js/id-Dq7UXUEV.js +2 -0
  211. package/frontend/dist/js/is-B3dbbhSl.js +2 -0
  212. package/frontend/dist/js/it-CLSuu2K7.js +2 -0
  213. package/frontend/dist/js/ja-CthrqyCR.js +2 -0
  214. package/frontend/dist/js/ko-BJvFDJ82.js +2 -0
  215. package/frontend/dist/js/{markdown-C78Qc6xu.js → markdown-CXwWsPYG.js} +1 -1
  216. package/frontend/dist/js/ms-QV0202Mj.js +2 -0
  217. package/frontend/dist/js/nl-Dob1m1pV.js +2 -0
  218. package/frontend/dist/js/pl-urfOKnYI.js +2 -0
  219. package/frontend/dist/js/pt-D52Xkpi0.js +2 -0
  220. package/frontend/dist/js/ru-CwnW9Xe2.js +2 -0
  221. package/frontend/dist/js/{standalone-DmLfI4Qj.js → standalone-C0NjJpWr.js} +1 -1
  222. package/frontend/dist/js/sv-BNclj-Fo.js +2 -0
  223. package/frontend/dist/js/th-BlQ4PL57.js +2 -0
  224. package/frontend/dist/js/tr-B80aZ1px.js +2 -0
  225. package/frontend/dist/js/{typescript-Bcq62agC.js → typescript-d0TUM2-0.js} +1 -1
  226. package/frontend/dist/js/ui-vendor-ChfdHf5M.js +177 -0
  227. package/frontend/dist/js/uk-DZuuaI56.js +2 -0
  228. package/frontend/dist/js/vi-Bg42fPfF.js +2 -0
  229. package/frontend/dist/js/zh-BSt87zs6.js +2 -0
  230. package/package.json +3 -3
  231. package/plugins/openrouter.json +89 -0
  232. package/backend/dist/services/systemSettingsService.d.ts +0 -12
  233. package/backend/dist/services/systemSettingsService.d.ts.map +0 -1
  234. package/backend/dist/services/systemSettingsService.js +0 -70
  235. package/backend/dist/services/systemSettingsService.js.map +0 -1
  236. package/frontend/dist/assets/index-BqI0kezz.css +0 -1
  237. package/frontend/dist/assets/index-CRC6g6bL.js +0 -3
  238. package/frontend/dist/js/ArtifactContainer-Cdy-973y.js +0 -1
  239. package/frontend/dist/js/ArtifactSlideOutPanel-CmKgQ4eD.js +0 -1
  240. package/frontend/dist/js/ChatPage-CYT69oBR.js +0 -16
  241. package/frontend/dist/js/FirstTimeSetup-C8LdLP5J.js +0 -1
  242. package/frontend/dist/js/GalleryPage-Bm89pnS8.js +0 -1
  243. package/frontend/dist/js/HomePage-CeCYnMUG.js +0 -1
  244. package/frontend/dist/js/LibreClawPage-DGMEV6dm.js +0 -1
  245. package/frontend/dist/js/ModelSelector-DXPdGdQ_.js +0 -1
  246. package/frontend/dist/js/ModelsPage-D-FIy2x-.js +0 -2
  247. package/frontend/dist/js/PersonasPage-CIrEVFo5.js +0 -13
  248. package/frontend/dist/js/SettingsModal-CxtOXPY7.js +0 -1
  249. package/frontend/dist/js/UserManagementPage-BfyYGGFQ.js +0 -1
  250. package/frontend/dist/js/WorkPage-C7bW6Hxx.js +0 -4
  251. package/frontend/dist/js/api-DCD41-l9.js +0 -19
  252. package/frontend/dist/js/appStore-Bw-8Exsx.js +0 -2
  253. package/frontend/dist/js/ar-BAHlIvy0.js +0 -2
  254. package/frontend/dist/js/bn-BxquDVbd.js +0 -2
  255. package/frontend/dist/js/cs-C4DoKzRm.js +0 -2
  256. package/frontend/dist/js/da-CFslpGTw.js +0 -2
  257. package/frontend/dist/js/de-ChudoRh2.js +0 -2
  258. package/frontend/dist/js/es-B36fefE-.js +0 -2
  259. package/frontend/dist/js/fr-BSVeTM5W.js +0 -2
  260. package/frontend/dist/js/hi-BGoFbl5V.js +0 -2
  261. package/frontend/dist/js/id-BfYs2p_j.js +0 -2
  262. package/frontend/dist/js/is-DZ1MS-5A.js +0 -2
  263. package/frontend/dist/js/it-CXtrPCG1.js +0 -2
  264. package/frontend/dist/js/ja-FPJ_NK_y.js +0 -2
  265. package/frontend/dist/js/ko-DVwD4ZZF.js +0 -2
  266. package/frontend/dist/js/ms-PKPP0RX3.js +0 -2
  267. package/frontend/dist/js/nl-DWM5HJZ8.js +0 -2
  268. package/frontend/dist/js/pl-B9va8Tuf.js +0 -2
  269. package/frontend/dist/js/pt-P0IQi-Zr.js +0 -2
  270. package/frontend/dist/js/ru-Ca2bxYnc.js +0 -2
  271. package/frontend/dist/js/sv-DI4RDwyZ.js +0 -2
  272. package/frontend/dist/js/th-DN0bDS9d.js +0 -2
  273. package/frontend/dist/js/tr-ChqMv5Q4.js +0 -2
  274. package/frontend/dist/js/ui-vendor-DohPFHDW.js +0 -177
  275. package/frontend/dist/js/uk-Cr51h_XQ.js +0 -2
  276. package/frontend/dist/js/useBaseQuery-BAOlhjar.js +0 -1
  277. package/frontend/dist/js/useQuery-CcRqxveh.js +0 -1
  278. package/frontend/dist/js/vi-D4OhoVMH.js +0 -2
  279. package/frontend/dist/js/zh-Bvau7hlR.js +0 -2
@@ -24,6 +24,22 @@ export class TurnstileService {
24
24
  get secretKey() {
25
25
  return process.env.TURNSTILE_SECRET_KEY?.trim() || undefined;
26
26
  }
27
+ get expectedHostname() {
28
+ const explicit = process.env.TURNSTILE_EXPECTED_HOSTNAME?.trim();
29
+ if (explicit)
30
+ return explicit.toLowerCase();
31
+ const configuredUrl = process.env.BASE_URL?.trim() ||
32
+ process.env.CORS_ORIGIN?.split(',')[0]?.trim();
33
+ if (!configuredUrl)
34
+ return undefined;
35
+ try {
36
+ return new URL(configuredUrl).hostname.toLowerCase();
37
+ }
38
+ catch {
39
+ logger.error('Turnstile hostname validation is disabled because BASE_URL/CORS_ORIGIN is invalid');
40
+ return undefined;
41
+ }
42
+ }
27
43
  isConfigured() {
28
44
  return Boolean(this.siteKey && this.secretKey);
29
45
  }
@@ -36,7 +52,7 @@ export class TurnstileService {
36
52
  siteKey: this.siteKey,
37
53
  };
38
54
  }
39
- async verify(token, remoteIp) {
55
+ async verify(token, remoteIp, expectedAction) {
40
56
  if (!this.isConfigured()) {
41
57
  return true;
42
58
  }
@@ -66,8 +82,18 @@ export class TurnstileService {
66
82
  const data = (await response.json());
67
83
  if (!data.success) {
68
84
  logger.warn('Turnstile verification failed:', data['error-codes']?.join(', ') || 'unknown error');
85
+ return false;
69
86
  }
70
- return data.success;
87
+ const hostname = data.hostname?.trim().toLowerCase();
88
+ if (this.expectedHostname && hostname !== this.expectedHostname) {
89
+ logger.warn('Turnstile verification returned an unexpected hostname');
90
+ return false;
91
+ }
92
+ if (expectedAction && data.action !== expectedAction) {
93
+ logger.warn('Turnstile verification returned an unexpected action');
94
+ return false;
95
+ }
96
+ return true;
71
97
  }
72
98
  catch (error) {
73
99
  logger.error('Turnstile verification error:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"turnstileService.js","sourceRoot":"","sources":["../../src/services/turnstileService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AAgB1D,MAAM,oBAAoB,GACxB,2DAA2D,CAAC;AAE9D,MAAM,OAAO,gBAAgB;IAC3B,IAAY,OAAO;QACjB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC7D,CAAC;IAED,IAAY,SAAS;QACnB,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC/D,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAc,EAAE,QAAiB;QAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,SAAU;YACvB,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,mCAAmC;iBACpD;gBACD,IAAI;aACL,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YAEhE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CACnD,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"turnstileService.js","sourceRoot":"","sources":["../../src/services/turnstileService.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { type PluginVariables } from '../utils/pluginChatAdapter.js';
4
4
  import { type PluginStreamUsage } from '../utils/pluginStreamAdapter.js';
5
5
  import ollamaService from './ollamaService.js';
6
6
  import pluginService from './pluginService.js';
7
+ import { type PluginUsageEventInput } from './pluginUsageService.js';
7
8
  import type { WorkProviderSelection } from '../types/work.js';
8
9
  type JsonObject = Record<string, unknown>;
9
10
  export declare const WORK_TOOL_ARGUMENTS_ERROR_METADATA_KEY = "libreToolArgumentsError";
@@ -16,6 +17,7 @@ interface WorkModelProviderDependencies {
16
17
  ollama: Pick<typeof ollamaService, 'isHealthy' | 'showModel' | 'generateChatResponse'> & Partial<Pick<typeof ollamaService, 'generateChatStreamResponse'>>;
17
18
  plugins: Pick<typeof pluginService, 'getActivePlugins' | 'getPlugin' | 'getApiKey' | 'getPluginVariables'>;
18
19
  post: typeof axios.post;
20
+ recordPluginUsage?: (usage: PluginUsageEventInput) => void;
19
21
  }
20
22
  export interface WorkModelStreamObserver {
21
23
  onContent?: (content: string) => void;
@@ -41,6 +43,7 @@ export declare class WorkModelProviderService {
41
43
  private generatePluginResponse;
42
44
  private generateOllamaStream;
43
45
  private generatePluginStream;
46
+ private recordPluginUsage;
44
47
  }
45
48
  export declare function buildPluginWorkPayload(plugin: Plugin, request: OllamaChatRequest, variables?: PluginVariables, apiMode?: PluginApiMode, providerStateScope?: string): {
46
49
  payload: JsonObject;
@@ -1 +1 @@
1
- {"version":3,"file":"workModelProviderService.d.ts","sourceRoot":"","sources":["../../src/services/workModelProviderService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workModelProviderService.d.ts","sourceRoot":"","sources":["../../src/services/workModelProviderService.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ import { streamAnthropicResponse, streamOpenAICompatibleResponse, streamOpenAIRe
22
22
  import { applyModelEndpointTemplate, assertSafePluginEndpoint, buildPluginAuthHeaders, inferPluginApiMode, pluginRequiresApiKey, resolvePluginApiConfig, validatePluginModel, } from '../utils/pluginValidation.js';
23
23
  import ollamaService from './ollamaService.js';
24
24
  import pluginService from './pluginService.js';
25
+ import pluginUsageService, { normalizeProviderTokenUsage, } from './pluginUsageService.js';
25
26
  export const WORK_TOOL_ARGUMENTS_ERROR_METADATA_KEY = 'libreToolArgumentsError';
26
27
  export const WORK_TOOL_ARGUMENTS_ERROR_MESSAGE = 'The provider returned incomplete or invalid JSON for this tool call, likely because its output-token limit was reached. Retry with a smaller payload; split large write_file content into focused files.';
27
28
  export class WorkModelProviderError extends Error {
@@ -37,6 +38,7 @@ export class WorkModelProviderService {
37
38
  ollama: ollamaService,
38
39
  plugins: pluginService,
39
40
  post: axios.post.bind(axios),
41
+ recordPluginUsage: usage => pluginUsageService.record(usage),
40
42
  }) {
41
43
  this.dependencies = dependencies;
42
44
  }
@@ -178,9 +180,10 @@ export class WorkModelProviderService {
178
180
  const providerStateScope = apiConfig.apiMode === 'responses'
179
181
  ? createOpenAIResponsesStateScope(plugin.id, request.model, endpoint, createPluginCredentialFingerprint(apiKey))
180
182
  : undefined;
181
- const headers = buildPluginAuthHeaders(plugin, apiKey);
183
+ const headers = buildPluginAuthHeaders(plugin, apiKey, endpoint);
182
184
  const { payload, extraHeaders } = buildPluginWorkPayload(plugin, request, variables, apiConfig.apiMode, providerStateScope);
183
185
  Object.assign(headers, extraHeaders);
186
+ const startedAt = Date.now();
184
187
  try {
185
188
  const response = await this.dependencies.post(endpoint, payload, {
186
189
  headers,
@@ -188,9 +191,12 @@ export class WorkModelProviderService {
188
191
  timeout: 300000,
189
192
  maxRedirects: 0,
190
193
  });
191
- return normalizePluginWorkResponse(plugin, response.data, request.model, apiConfig.apiMode, providerStateScope);
194
+ const normalized = normalizePluginWorkResponse(plugin, response.data, request.model, apiConfig.apiMode, providerStateScope);
195
+ this.recordPluginUsage(plugin, userId, request.model, 'success', startedAt, normalized, normalizeProviderTokenUsage(response.data));
196
+ return normalized;
192
197
  }
193
198
  catch (error) {
199
+ this.recordPluginUsage(plugin, userId, request.model, signal?.aborted ? 'cancelled' : 'error', startedAt);
194
200
  if (signal?.aborted)
195
201
  throw error;
196
202
  const message = axios.isAxiosError(error) && error.response
@@ -286,13 +292,14 @@ export class WorkModelProviderService {
286
292
  endpoint = geminiStreamingEndpoint(endpoint);
287
293
  }
288
294
  assertSafePluginEndpoint(endpoint, 'Work model endpoint');
289
- const headers = buildPluginAuthHeaders(plugin, apiKey);
295
+ const headers = buildPluginAuthHeaders(plugin, apiKey, endpoint);
290
296
  const { payload, extraHeaders } = buildPluginWorkPayload(plugin, { ...request, stream: true }, variables, apiConfig.apiMode, providerStateScope);
291
297
  Object.assign(headers, extraHeaders);
292
298
  const timeoutSignal = AbortSignal.timeout(300000);
293
299
  const requestSignal = signal
294
300
  ? AbortSignal.any([signal, timeoutSignal])
295
301
  : timeoutSignal;
302
+ const startedAt = Date.now();
296
303
  try {
297
304
  const response = await fetch(endpoint, {
298
305
  method: 'POST',
@@ -313,6 +320,7 @@ export class WorkModelProviderService {
313
320
  if (normalized.message.content) {
314
321
  observer.onContent?.(normalized.message.content);
315
322
  }
323
+ this.recordPluginUsage(plugin, userId, request.model, 'success', startedAt, normalized);
316
324
  return normalized;
317
325
  }
318
326
  const chunks = plugin.id === 'anthropic'
@@ -322,9 +330,12 @@ export class WorkModelProviderService {
322
330
  : apiConfig.apiMode === 'responses'
323
331
  ? streamOpenAIResponsesResponse(response, providerStateScope)
324
332
  : streamOpenAICompatibleResponse(response);
325
- return await collectPluginWorkStream(chunks, request.model, observer);
333
+ const normalized = await collectPluginWorkStream(chunks, request.model, observer);
334
+ this.recordPluginUsage(plugin, userId, request.model, 'success', startedAt, normalized);
335
+ return normalized;
326
336
  }
327
337
  catch (error) {
338
+ this.recordPluginUsage(plugin, userId, request.model, signal?.aborted ? 'cancelled' : 'error', startedAt);
328
339
  if (signal?.aborted)
329
340
  throw error;
330
341
  if (timeoutSignal.aborted) {
@@ -335,6 +346,28 @@ export class WorkModelProviderService {
335
346
  throw new WorkModelProviderError(error instanceof Error ? error.message : 'Plugin request failed.', 502, 'WORK_PLUGIN_REQUEST_FAILED');
336
347
  }
337
348
  }
349
+ recordPluginUsage(plugin, userId, model, status, startedAt, response, reportedTokens) {
350
+ const promptTokens = response?.prompt_eval_count;
351
+ const completionTokens = response?.eval_count;
352
+ const hasUsage = typeof promptTokens === 'number' || typeof completionTokens === 'number';
353
+ this.dependencies.recordPluginUsage?.({
354
+ userId,
355
+ pluginId: plugin.id,
356
+ pluginName: plugin.name,
357
+ capability: 'chat',
358
+ model,
359
+ status,
360
+ durationMs: Date.now() - startedAt,
361
+ tokens: reportedTokens ??
362
+ (hasUsage
363
+ ? {
364
+ promptTokens: promptTokens ?? 0,
365
+ completionTokens: completionTokens ?? 0,
366
+ totalTokens: (promptTokens ?? 0) + (completionTokens ?? 0),
367
+ }
368
+ : undefined),
369
+ });
370
+ }
338
371
  }
339
372
  export function buildPluginWorkPayload(plugin, request, variables = {}, apiMode = resolvePluginApiConfig(plugin, variables).apiMode, providerStateScope) {
340
373
  const options = (request.options || {});
@@ -1 +1 @@
1
- {"version":3,"file":"workModelProviderService.js","sourceRoot":"","sources":["../../src/services/workModelProviderService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AASpC,OAAO,EACL,qCAAqC,EACrC,2BAA2B,GAE5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0CAA0C,EAC1C,yCAAyC,EACzC,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,GAG9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAK/C,MAAM,CAAC,MAAM,sCAAsC,GAAG,yBAAyB,CAAC;AAChF,MAAM,CAAC,MAAM,iCAAiC,GAC5C,0MAA0M,CAAC;AA0B7M,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAI/C,YAAY,OAAe,EAAE,MAAc,EAAE,IAAY;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,wBAAwB;IACnC,YACmB,eAA8C;QAC7D,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KAC7B;QAJgB,iBAAY,GAAZ,YAAY,CAI5B;IACA,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE;YACpC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;SAClD,CAAC,CAAC;QACH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,KAAa,EACb,QAA+B,EAC/B,MAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,sBAAsB,CAC9B,2BAA2B,EAC3B,GAAG,EACH,8BAA8B,CAC/B,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,OAAmB,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,sBAAsB,CAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EACnE,GAAG,EACH,wBAAwB,CACzB,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;YACtD,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,sBAAsB,CAC9B,UAAU,OAAO,oCAAoC,EACrD,GAAG,EACH,8BAA8B,CAC/B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sBAAsB,CACpB,KAAa,EACb,QAA+B,EAC/B,MAAc;QAEd,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAC5D,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,OAAO,KAAK,WAAW;YAAE,OAAO,SAAS,CAAC;QACxD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9D,OAAO,+BAA+B,CACpC,MAAM,CAAC,EAAE,EACT,KAAK,EACL,QAAQ,EACR,iCAAiC,CAAC,MAAM,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,qBAAqB,CACnB,KAAa,EACb,QAA+B,EAC/B,MAAc;QAEd,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACvC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,UAAU,CAAC,QAAQ,CAAC;iBACxB,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,CAAC;gBACV,YAAY,EAAE,QAAQ;gBACtB,KAAK;aACN,CAAC,CACH;iBACA,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAC5D,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvE,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC,QAAQ,CAAC;aACxB,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,QAAQ;YACtB,UAAU,EAAE,MAAM,CAAC,EAAE;YACrB,KAAK;YACL,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,QAAQ;YACR,qBAAqB,EAAE,iCAAiC,CAAC,MAAM,CAAC;SACjE,CAAC,CACH;aACA,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAA0B,EAC1B,QAA+B,EAC/B,MAAc,EACd,MAAoB;QAEpB,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACvC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CACpC,QAAQ,CAAC,UAAU,EACnB,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,OAA0B,EAC1B,QAA+B,EAC/B,MAAc,EACd,QAAiC,EACjC,MAAoB;QAEpB,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACnD,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACvC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CACpC,QAAQ,CAAC,UAAU,EACnB,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC,oBAAoB,CAC9B,MAAM,EACN,aAAa,EACb,MAAM,EACN,QAAQ,EACR,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,MAAc;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO;aAC7B,gBAAgB,CAAC,MAAM,CAAC;aACxB,MAAM,CAAC,YAAY,CAAC;aACpB,IAAI,CACH,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAClE,CAAC;IACN,CAAC;IAEO,kBAAkB,CACxB,UAA8B,EAC9B,KAAa,EACb,MAAc;QAEd,MAAM,iBAAiB,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,sBAAsB,CAC9B,mCAAmC,EACnC,GAAG,EACH,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAChD,iBAAiB,EACjB,MAAM,CACP,CAAC;QACF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,sBAAsB,CAC9B,WAAW,iBAAiB,kBAAkB,EAC9C,GAAG,EACH,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QACD,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,sBAAsB,CAC9B,UAAU,KAAK,mCAAmC,MAAM,CAAC,EAAE,IAAI,EAC/D,GAAG,EACH,+BAA+B,CAChC,CAAC;QACJ,CAAC;QACD,sBAAsB,CACpB,MAAM,EACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAC7D,CAAC;QACF,IACE,oBAAoB,CAAC,MAAM,CAAC;YAC5B,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EACpD,CAAC;YACD,MAAM,IAAI,sBAAsB,CAC9B,gCAAgC,MAAM,CAAC,EAAE,GAAG,EAC5C,GAAG,EACH,iCAAiC,CAClC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,MAAc,EACd,OAA0B,EAC1B,MAAc,EACd,MAAoB;QAEpB,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAC5D,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,0BAA0B,CACzC,SAAS,CAAC,QAAQ,EAClB,OAAO,CAAC,KAAK,CACd,CAAC;QACF,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,sBAAsB,CAC9B,gCAAgC,MAAM,CAAC,EAAE,GAAG,EAC5C,GAAG,EACH,iCAAiC,CAClC,CAAC;QACJ,CAAC;QACD,MAAM,kBAAkB,GACtB,SAAS,CAAC,OAAO,KAAK,WAAW;YAC/B,CAAC,CAAC,+BAA+B,CAC7B,MAAM,CAAC,EAAE,EACT,OAAO,CAAC,KAAK,EACb,QAAQ,EACR,iCAAiC,CAAC,MAAM,CAAC,CAC1C;YACH,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,sBAAsB,CACtD,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,CAAC,OAAO,EACjB,kBAAkB,CACnB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAC3C,QAAQ,EACR,OAAO,EACP;gBACE,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,MAAO;gBAChB,YAAY,EAAE,CAAC;aAChB,CACF,CAAC;YACF,OAAO,2BAA2B,CAChC,MAAM,EACN,QAAQ,CAAC,IAAI,EACb,OAAO,CAAC,KAAK,EACb,SAAS,CAAC,OAAO,EACjB,kBAAkB,CACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,KAAK,CAAC;YACjC,MAAM,OAAO,GACX,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ;gBACzC,CAAC,CAAC,qBAAqB,KAAK,CAAC,QAAQ,CAAC,MAAM,MAAM,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC7F,CAAC,CAAC,KAAK,YAAY,KAAK;oBACtB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,wBAAwB,CAAC;YACjC,MAAM,IAAI,sBAAsB,CAC9B,OAAO,EACP,GAAG,EACH,4BAA4B,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAA0B,EAC1B,QAAiC,EACjC,MAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,0BAA0B,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAClE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAC7B,MAAM,CACP,CAAC;YACF,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBAC9B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YACD,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,MAAsC,CAAC;YAC3C,MAAM,SAAS,GAA8B,EAAE,CAAC;YAEhD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;gBAC/B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAuB;oBACnC,GAAG,CAAC,MAAM,IAAI;wBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACpC,IAAI,EAAE,IAAI;qBACX,CAAC;oBACF,OAAO,EAAE;wBACP,IAAI,EAAE,WAAW;wBACjB,OAAO;wBACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7C,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvD;oBACD,IAAI,EAAE,IAAI;iBACX,CAAC;gBACF,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,KAAK,MAAM;iBACR,IAAI,CACH,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB,OAAO,EACP,KAAK,CAAC,EAAE;gBACN,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;gBAClD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;gBACrD,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,IAAI,YAAY,CAAC;oBACxB,QAAQ,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,cAAc,EAAE,CAAC;oBACnB,SAAS,IAAI,cAAc,CAAC;oBAC5B,QAAQ,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI;oBAAE,MAAM,EAAE,CAAC;YAC3B,CAAC,EACD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EACtB,GAAG,EAAE,CAAC,MAAM,EAAE,EACd,MAAM,CACP;iBACA,KAAK,CAAC,KAAK,CAAC,EAAE,CACb,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAClE,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,MAAc,EACd,OAA0B,EAC1B,MAAc,EACd,QAAiC,EACjC,MAAoB;QAEpB,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAC5D,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,QAAQ,GAAG,0BAA0B,CACvC,SAAS,CAAC,QAAQ,EAClB,OAAO,CAAC,KAAK,CACd,CAAC;QACF,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,sBAAsB,CAC9B,gCAAgC,MAAM,CAAC,EAAE,GAAG,EAC5C,GAAG,EACH,iCAAiC,CAClC,CAAC;QACJ,CAAC;QACD,MAAM,kBAAkB,GACtB,SAAS,CAAC,OAAO,KAAK,WAAW;YAC/B,CAAC,CAAC,+BAA+B,CAC7B,MAAM,CAAC,EAAE,EACT,OAAO,CAAC,KAAK,EACb,QAAQ,EACR,iCAAiC,CAAC,MAAM,CAAC,CAC1C;YACH,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,sBAAsB,CACtD,MAAM,EACN,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAC5B,SAAS,EACT,SAAS,CAAC,OAAO,EACjB,kBAAkB,CACnB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAO,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM;YAC1B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC1C,CAAC,CAAC,aAAa,CAAC;QAElB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7B,MAAM,EAAE,aAAa;gBACrB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/D,IACE,QAAQ,CAAC,EAAE;gBACX,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC1C,CAAC,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAC7C,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAe,CAAC;gBACnD,MAAM,UAAU,GAAG,2BAA2B,CAC5C,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,KAAK,EACb,SAAS,CAAC,OAAO,EACjB,kBAAkB,CACnB,CAAC;gBACF,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAChC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,MAAM,MAAM,GACV,MAAM,CAAC,EAAE,KAAK,WAAW;gBACvB,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ;oBACtB,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC;oBACpC,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,WAAW;wBACjC,CAAC,CAAC,6BAA6B,CAAC,QAAQ,EAAE,kBAAkB,CAAC;wBAC7D,CAAC,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;YACnD,OAAO,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,KAAK,CAAC;YACjC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,sBAAsB,CAC9B,6CAA6C,EAC7C,GAAG,EACH,6BAA6B,CAC9B,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,YAAY,sBAAsB;gBAAE,MAAM,KAAK,CAAC;YACzD,MAAM,IAAI,sBAAsB,CAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EACjE,GAAG,EACH,4BAA4B,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,OAA0B,EAC1B,YAA6B,EAAE,EAC/B,UAAyB,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,EAC1E,kBAA2B;IAE3B,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAsB,CAAC;IAC7D,MAAM,MAAM,GAAG,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,yBAAyB,CAChC,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,MAAM,CAAC,SAAS,EAChB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB;YACD,YAAY,EAAE,EAAE,mBAAmB,EAAE,YAAY,EAAE;SACpD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,sBAAsB,CAC7B,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,MAAM,CACP;YACD,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,qCAAqC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBACvE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,iBAAiB,EAAE,MAAM,CAAC,SAAS;gBACnC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC/B,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,CAAC,6BAA6B,CAAC;aACzC;YACD,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE;YACP,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACvD,GAAG,qCAAqC,CAAC,MAAM,EAAE,MAAM,CAAC;YACxD,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;SAChC;QACD,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAc,EACd,QAAoB,EACpB,KAAa,EACb,UAAyB,MAAM,CAAC,QAAQ;IACtC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EACrC,kBAA2B;IAE3B,IAAI,MAAM,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,oCAAoC,CACzC,QAAQ,EACR,KAAK,EACL,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,OAAO,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAA6B;IAE7B,IAAI,YAAY,GAAwC,EAAE,CAAC;IAC3D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjE,MAAM,gBAAgB,GAAG,SAAS;iBAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;iBACpE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;YAC5C,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,MAAM,CAAE,IAAI,CAAC,QAAuB,CAAC,IAAI,CAAC;aACjD,CAAC,CAAC,CAAC;YACJ,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;gBAChC,GAAG,CAAC,OAAO,gBAAgB,KAAK,QAAQ;oBACtC,CAAC,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE;oBACzC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,SAAS,CAAC,MAAM;oBAClB,CAAC,CAAC;wBACE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACjC,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC,CAAC;qBACJ;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAC1C,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,CAC9D,CAAC;YACF,MAAM,QAAQ,GACZ,aAAa,IAAI,CAAC;gBAChB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,SAAS;gBACvB,YAAY,EACV,OAAO,CAAC,YAAY,IAAI,QAAQ,EAAE,EAAE,IAAI,aAAa,YAAY,EAAE;aACtE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA6B,EAC7B,kBAA2B;IAE3B,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAwC,EAAE,CAAC;IAE3D,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEjE,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CACvC,OAAO,CAAC,gBAAgB,EAAE,CAAC,0CAA0C,CAAC,CACvE;gBACC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,0CAA0C,CAAC;gBACtE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,qBAAqB,GACzB,kBAAkB,KAAK,SAAS;gBAChC,OAAO,CAAC,gBAAgB,EAAE,CACxB,yCAAyC,CAC1C,KAAK,kBAAkB;gBACtB,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,CAAC,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAClD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;wBAAE,OAAO,EAAE,CAAC;oBAC7C,MAAM,EAAE,GACN,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;wBAC9B,CAAC,CAAC,IAAI,CAAC,OAAO;wBACd,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;4BAC3B,CAAC,CAAC,IAAI,CAAC,EAAE;4BACT,CAAC,CAAC,SAAS,CAAC;oBAClB,OAAO,EAAE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;wBACxC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC3B,CAAC,CAAC,EAAE,CAAC;gBACT,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,MAAM,CAAE,IAAI,CAAC,QAAuB,CAAC,IAAI,CAAC;aACjD,CAAC,CAAC,CAAC;YAEJ,uEAAuE;YACvE,uBAAuB;YACvB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACjD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,QAAQ,EAAE,6BAA6B,CACxC;oBACC,CAAC,CAAC,QAAQ,CAAC,6BAA6B;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;oBACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CACR,GAAG,sBAAsB,CAAC;gBACxB;oBACE,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,UAAU,EAAE,SAAS;iBACtB;aACF,CAAC,CACH,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAC1C,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,CAC9D,CAAC;YACF,MAAM,QAAQ,GACZ,aAAa,IAAI,CAAC;gBAChB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC;YAChB,KAAK,CAAC,IAAI,CACR,GAAG,sBAAsB,CAAC;gBACxB;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,OAAO,CAAC,SAAS;oBACvB,YAAY,EACV,OAAO,CAAC,YAAY;wBACpB,QAAQ,EAAE,EAAE;wBACZ,aAAa,YAAY,EAAE;iBAC9B;aACF,CAAC,CACH,CAAC;YACF,SAAS;QACX,CAAC;QAED,KAAK,CAAC,IAAI,CACR,GAAG,sBAAsB,CAAC;YACxB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SACjD,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAa,EACb,QAA6B,EAC7B,KAAmB,EACnB,SAAkB,EAClB,MAAM,GAAG,KAAK;IAEd,MAAM,MAAM,GAAG,QAAQ;SACpB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC5C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;SAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,gBAAgB,GAGjB,EAAE,CAAC;IACR,IAAI,YAAY,GAAwC,EAAE,CAAC;IAC3D,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,MAAM,GAAiB,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjE,MAAM,uBAAuB,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,uBAAuB,CAAC;oBACrD,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAC/C,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAC7C;oBACH,CAAC,CAAC,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,MAAM,CAAE,IAAI,CAAC,QAAuB,CAAC,IAAI,CAAC;aACjD,CAAC,CAAC,CAAC;YACJ,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAsB,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC,SAAS,CAAC;iBACxC,CAAC,CAAC;YACL,CAAC;YACD,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,gBAAgB,GAAG,KAAK,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CACvC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,CAC9D,CAAC;YACF,MAAM,QAAQ,GACZ,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,aAAa,YAAY,EAAE;gBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;YACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/D,IAAI,gBAAgB,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAClD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC;YACxB,SAAS;QACX,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SACnD,CAAC,CAAC;QACH,gBAAgB,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,KAAK;QACL,MAAM,EAAE,MAAM,IAAI,SAAS;QAC3B,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;QAC9B,UAAU,EAAE,SAAS,IAAI,IAAI;QAC7B,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAA6B,EAC7B,KAAmB,EACnB,MAAsD;IAEtD,MAAM,MAAM,GAAG,QAAQ;SACpB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC5C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;SAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,QAAQ,GAA2D,EAAE,CAAC;IAC5E,IAAI,YAAY,GAAwC,EAAE,CAAC;IAE3D,MAAM,MAAM,GAAG,CAAC,IAAsB,EAAE,IAAgB,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7D,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,MAAM,CAAE,IAAI,CAAC,QAAuB,CAAC,IAAI,CAAC;aACjD,CAAC,CAAC,CAAC;YACJ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAsB,CAAC;gBACvC,MAAM,CAAC,OAAO,EAAE;oBACd,YAAY,EAAE;wBACZ,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,SAAS,CAAC;qBACvC;oBACD,GAAG,CAAC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;wBAC3C,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;wBAC7C,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CACvC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,CAC9D,CAAC;YACF,MAAM,QAAQ,GACZ,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,CAAC,MAAM,EAAE;gBACb,gBAAgB,EAAE;oBAChB,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,aAAa,YAAY,EAAE;oBAC/C,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,EAAE,IAAI,IAAI,WAAW;oBACxD,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;iBACtC;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACrE,QAAQ;QACR,GAAG,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL;wBACE,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACnC,OAAO,EAAE;gCACP,CAAC,CAAC;oCACE;wCACE,IAAI,EAAE,EAAE,CAAC,IAAI;wCACb,WAAW,EAAE,EAAE,CAAC,WAAW;wCAC3B,UAAU,EAAE,EAAE,CAAC,UAAU;qCAC1B;iCACF;gCACH,CAAC,CAAC,EAAE,CAAC;wBACT,CAAC,CAAC;qBACH;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,gBAAgB,EAAE;YAChB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YACzC,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAoB,EACpB,KAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,sBAAsB,CAC9B,2CAA2C,EAC3C,GAAG,EACH,8BAA8B,CAC/B,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG;YAC9B,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC1C,sBAAsB,EAAE,OAAO,CAAC,iBAAiB;SAClD,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CACjB,KAAK,EACL,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,QAAoB,EACpB,KAAa,EACb,kBAA2B;IAE3B,MAAM,UAAU,GAAG,gCAAgC,CACjD,QAAQ,EACR,KAAK,EACL,kBAAkB,CACnB,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,sBAAsB,CAC9B,oDAAoD,EACpD,GAAG,EACH,8BAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG;YAC9B,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC1C,sBAAsB,EAAE,SAAS;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GACpB,QAAQ,CAAC,MAAM,KAAK,YAAY;QAC9B,CAAC,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,QAAQ;YACjE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;YACvD,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,GAAG,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE;YACzE,GAAG,CAAC,UAAU,CAAC,gBAAgB;gBAC7B,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,gBAAgB;gBAClB,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,gBAAgB,EAAE,EAAE;gBAClD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,GAAG,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC;gBACE,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa;gBACjD,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,iBAAiB;aAC/C;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,QAAoB,EACpB,KAAa;IAEb,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,cAAc,GAAiB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACtE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,EAAE;gBACvE,QAAQ,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG;YAC1B,uBAAuB,EAAE,cAAc;SACxC,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAoB,EACpB,KAAa;IAEb,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QACnD,CAAC,CAAC,QAAQ,CAAC,UAAU;QACrB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,EAAE;gBAClE,GAAG,CAAC,OAAO,IAAI,EAAE,gBAAgB,KAAK,QAAQ;oBAC5C,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;oBAC7C,CAAC,CAAC,EAAE,CAAC;gBACP,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;iBACrC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CACnB,KAAa,EACb,OAAe,EACf,SAAuB,EACvB,SAAS,GAAG,EAAE,EACd,UAGI,EAAE;IAEN,OAAO;QACL,KAAK;QACL,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO;YACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,UAAU,EAAE,SAAS;YACrB,GAAG,CAAC,OAAO,CAAC,gBAAgB;gBAC1B,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR;QACD,IAAI,EAAE,IAAI;QACV,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAAwC,EACxC,KAAa,EACb,QAAiC;IAEjC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,GAAsB,EAAE,CAAC;IAClC,IAAI,UAA8B,CAAC;IACnC,IAAI,gBAAwC,CAAC;IAC7C,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;YACzB,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC;YAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,eAAe,GAAG,4BAA4B,CAClD,KAAK,CAAC,QAAQ,CAAC,SAAS,CACzB,CAAC;YACF,MAAM,QAAQ,GAAe;gBAC3B,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB;gBAClC,GAAG,CAAC,eAAe,CAAC,KAAK;oBACvB,CAAC,CAAC;wBACE,CAAC,sCAAsC,CAAC,EAAE,eAAe,CAAC,KAAK;qBAChE;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YACF,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,eAAe,SAAS,CAAC,MAAM,EAAE;gBAC1D,GAAG,CAAC,OAAO,QAAQ,EAAE,sBAAsB,KAAK,QAAQ;oBACtD,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,sBAAsB,EAAE;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ;oBACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,wBAAwB,CAAC;oBACjE,CAAC,CAAC;wBACE,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC7B,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,wBAAwB,CAC5C,CACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,QAAQ,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;oBACzB,SAAS,EAAE,eAAe,CAAC,SAAS;iBACrC;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;gBACvC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,KAAK,CAAC,gBAAgB,EAAE;gBACpD,CAAC,CAAC,gBAAgB,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACpE,IACE,CAAC,aAAa,CAAC,sBAAsB;YACrC,CAAC,aAAa,CAAC,uBAAuB,EACtC,CAAC;YACD,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG;gBAC9B,GAAG,aAAa;gBAChB,sBAAsB,EAAE,SAAS;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE;YACpD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,YAAY;QACrC,UAAU,EAAE,KAAK,CAAC,gBAAgB;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,QAA4B;IAC/C,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,iBAAiB;QACxC,gBAAgB,EAAE,QAAQ,CAAC,UAAU;QACrC,WAAW,EACT,QAAQ,CAAC,iBAAiB,KAAK,SAAS;YACxC,QAAQ,CAAC,UAAU,KAAK,SAAS;YAC/B,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CACjC,mBAAmB,EACnB,wBAAwB,CACzB,CAAC;IACF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,wBAAwB,CACtC,QAAkB;IAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAC3C,IAAI,OAAmB,CAAC;gBACxB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAe,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,WAAW,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;oBAClD,CAAC,CAAC,OAAO,CAAC,UAAU;oBACpB,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC;oBAClD,CAAC,CAAC,gBAAgB,CAAC,KAAK;oBACxB,CAAC,CAAC,EAAE,CAAC;gBACP,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChD,MAAM,IAAI,CAAC,OAAO,KAAK,IAAI;4BACzB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;4BAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9C,CAAC;oBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAC1C,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1C,MAAM;4BACJ,IAAI,EAAE,WAAW;4BACjB,QAAQ,EAAE;gCACR,EAAE,EACA,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;oCACzB,CAAC,CAAC,IAAI,CAAC,EAAE;oCACT,CAAC,CAAC,eAAe,SAAS,EAAE,EAAE;gCAClC,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gCACpD,GAAG,CAAC,OAAO,IAAI,EAAE,gBAAgB,KAAK,QAAQ;oCAC5C,CAAC,CAAC;wCACE,gBAAgB,EAAE;4CAChB,sBAAsB,EAAE,IAAI,CAAC,gBAAgB;yCAC9C;qCACF;oCACH,CAAC,CAAC,EAAE,CAAC;6BACR;yBACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACtD,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,YAAY,GAChB,OAAO,aAAa,CAAC,gBAAgB,KAAK,QAAQ;wBAChD,CAAC,CAAC,aAAa,CAAC,gBAAgB;wBAChC,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,gBAAgB,GACpB,OAAO,aAAa,CAAC,oBAAoB,KAAK,QAAQ;wBACpD,CAAC,CAAC,aAAa,CAAC,oBAAoB;wBACpC,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,WAAW,GACf,OAAO,aAAa,CAAC,eAAe,KAAK,QAAQ;wBAC/C,CAAC,CAAC,aAAa,CAAC,eAAe;wBAC/B,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;4BAC5D,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC;4BAC/C,CAAC,CAAC,SAAS,CAAC;oBAClB,MAAM;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE;qBACvD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAClD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC1D,OAAO;YACL;gBACE,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,EAAE;gBACtE,GAAG,CAAC,OAAO,IAAI,EAAE,gBAAgB,KAAK,QAAQ;oBAC5C,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;oBAC7C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE;oBACR,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,SAAS,EACP,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ;wBAC9B,CAAC,CAAC,EAAE,CAAC,SAAS;wBACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBACnD;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,4BAA4B,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG;YACvB,GAAG,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;YACnC,GAAG,CAAC,eAAe,CAAC,KAAK;gBACvB,CAAC,CAAC;oBACE,CAAC,sCAAsC,CAAC,EAAE,eAAe,CAAC,KAAK;iBAChE;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,OAAO;YACL;gBACE,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,EAAE;gBACnE,GAAG,CAAC,OAAO,IAAI,EAAE,gBAAgB,KAAK,QAAQ;oBAC5C,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;oBAC7C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC1C,CAAC,CAAC,EAAE,gBAAgB,EAAE;oBACtB,CAAC,CAAC,EAAE,CAAC;gBACP,QAAQ,EAAE;oBACR,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,SAAS,EACP,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,KAAK;wBACxD,CAAC,CAAC,EAAE,CAAC,SAAS;wBACd,CAAC,CAAC,eAAe,CAAC,SAAS;iBAChC;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAClD,OAAO;YACL;gBACE,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,YAAY,EAAE,EAAE,CAAC,UAAU,IAAI;oBAC7B,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAIlD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,SAAS,EAAE,KAAmB,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,OAAO,MAAM;gBACX,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;gBACvB,CAAC,CAAC;oBACE,SAAS,EAAE,EAAE;oBACb,KAAK,EAAE,iCAAiC;iBACzC,CAAC;QACR,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,iCAAiC;aACzC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC7D,IAAI,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IACjE,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,OAAO,GACX,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;QAChC,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YACjC,CAAC,CAAC,OAAO,CAAC,KAAK;YACf,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACjC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC;gBAC1D,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAoB;QACvB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;AAChE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAC9B,WAAW,MAAM,CAAC,IAAI,sCAAsC,EAC5D,GAAG,EACH,+BAA+B,CAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA+B;IAC3D,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC9D,MAAM,IAAI,sBAAsB,CAC9B,oCAAoC,EACpC,GAAG,EACH,uBAAuB,CACxB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AACvE,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"workModelProviderService.js","sourceRoot":"","sources":["../../src/services/workModelProviderService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type IncomingMessage } from 'node:http';
2
+ import type { Duplex } from 'node:stream';
3
+ import type { Request, Response } from 'express';
4
+ export declare const WORK_PREVIEW_PROXY_PREFIX = "/api/work/previews";
5
+ interface PreviewRecord {
6
+ preview_status: string;
7
+ preview_url: string | null;
8
+ }
9
+ export type PreviewRecordLookup = (taskId: string) => PreviewRecord | undefined;
10
+ export declare const rewritePreviewText: (content: string, contentType: string, proxyBasePath: string) => string;
11
+ export declare class WorkPreviewProxyService {
12
+ private readonly secret;
13
+ private readonly lookupPreview;
14
+ private readonly upstreamHost;
15
+ constructor(secret?: string, lookupPreview?: PreviewRecordLookup, upstreamHost?: string);
16
+ private signature;
17
+ createPreviewUrl(taskId: string, port: number): string;
18
+ private parseTarget;
19
+ private upstreamRequestHeaders;
20
+ private rewriteLocation;
21
+ private applyResponseHeaders;
22
+ handleHttp: (request: Request, response: Response) => void;
23
+ tryHandleUpgrade(request: IncomingMessage, socket: Duplex, head: Buffer): boolean;
24
+ }
25
+ export declare const workPreviewProxyService: WorkPreviewProxyService;
26
+ export default workPreviewProxyService;
27
+ //# sourceMappingURL=workPreviewProxyService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workPreviewProxyService.d.ts","sourceRoot":"","sources":["../../src/services/workPreviewProxyService.ts"],"names":[],"mappings":"AAkBA,OAAa,EAEX,KAAK,eAAe,EAErB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMjD,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAmF9D,UAAU,aAAa;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;AA0HhF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,aAAa,MAAM,EACnB,eAAe,MAAM,KACpB,MA0DF,CAAC;AAeF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,MAAM,SAAsB,EAC5B,aAAa,GAAE,mBAA0C,EACzD,YAAY,SAAwB;IAGvD,OAAO,CAAC,SAAS;IAOjB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAYtD,OAAO,CAAC,WAAW;IAuDnB,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,oBAAoB;IAiD5B,UAAU,GAAI,SAAS,OAAO,EAAE,UAAU,QAAQ,KAAG,IAAI,CAmGvD;IAEF,gBAAgB,CACd,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO;CAmEX;AAED,eAAO,MAAM,uBAAuB,yBAAgC,CAAC;AACrE,eAAe,uBAAuB,CAAC"}