@lilaquadrat/studio 10.0.0-beta.9 → 10.1.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 (244) hide show
  1. package/eslint.config.js +146 -0
  2. package/lib/fastify-plugins.d.ts +6 -0
  3. package/lib/fastify-plugins.js +7 -0
  4. package/lib/fastify-plugins.js.map +1 -0
  5. package/lib/helpers.d.ts +4 -2
  6. package/lib/helpers.js +13 -2
  7. package/lib/helpers.js.map +1 -1
  8. package/lib/main.d.ts +1 -3
  9. package/lib/main.js +7 -3
  10. package/lib/main.js.map +1 -1
  11. package/lib/models.d.ts +4 -4
  12. package/lib/models.js +4 -4
  13. package/lib/models.js.map +1 -1
  14. package/lib/services.d.ts +5 -5
  15. package/lib/services.js +5 -13
  16. package/lib/services.js.map +1 -1
  17. package/lib/src/Immutable.class.d.ts +8 -1
  18. package/lib/src/Immutable.class.js +52 -8
  19. package/lib/src/Immutable.class.js.map +1 -1
  20. package/lib/src/ShareClientFactory.class.d.ts +1 -3
  21. package/lib/src/ShareClientFactory.class.js +1 -9
  22. package/lib/src/ShareClientFactory.class.js.map +1 -1
  23. package/lib/src/classes/models.class.js.map +1 -1
  24. package/lib/src/classes/modelv2.class.d.ts +2 -0
  25. package/lib/src/classes/modelv2.class.js +1 -1
  26. package/lib/src/classes/modelv2.class.js.map +1 -1
  27. package/lib/src/classes/mongo.class.js +4 -14
  28. package/lib/src/classes/mongo.class.js.map +1 -1
  29. package/lib/src/functions/handleError.d.ts +2 -3
  30. package/lib/src/functions/handleError.js +3 -16
  31. package/lib/src/functions/handleError.js.map +1 -1
  32. package/lib/src/functions/optionsHelper.d.ts +4 -4
  33. package/lib/src/functions/optionsHelper.js +5 -4
  34. package/lib/src/functions/optionsHelper.js.map +1 -1
  35. package/lib/src/functions/respondCode.d.ts +2 -1
  36. package/lib/src/functions/respondCode.js +1 -1
  37. package/lib/src/functions/respondCode.js.map +1 -1
  38. package/lib/src/helpers/ControllerHelper.d.ts +73 -0
  39. package/lib/src/helpers/ControllerHelper.js +242 -0
  40. package/lib/src/helpers/ControllerHelper.js.map +1 -0
  41. package/lib/src/helpers/EnvMapper.js +1 -0
  42. package/lib/src/helpers/EnvMapper.js.map +1 -0
  43. package/lib/src/helpers/auth0config.d.ts +6 -0
  44. package/lib/src/helpers/auth0config.js +23 -0
  45. package/lib/src/helpers/auth0config.js.map +1 -0
  46. package/lib/src/helpers/authPlugin.d.ts +29 -0
  47. package/lib/src/helpers/authPlugin.js +77 -0
  48. package/lib/src/helpers/authPlugin.js.map +1 -0
  49. package/lib/src/helpers/cacheHelper.d.ts +69 -0
  50. package/lib/src/helpers/cacheHelper.js +235 -0
  51. package/lib/src/helpers/cacheHelper.js.map +1 -0
  52. package/lib/src/helpers/createSasToken.d.ts +0 -2
  53. package/lib/src/helpers/createSasToken.js +35 -32
  54. package/lib/src/helpers/createSasToken.js.map +1 -1
  55. package/lib/src/helpers/getSecrets.d.ts +1 -1
  56. package/lib/src/helpers/getSecrets.js +10 -12
  57. package/lib/src/helpers/getSecrets.js.map +1 -1
  58. package/lib/src/helpers/limiterPlugin.d.ts +9 -0
  59. package/lib/src/helpers/limiterPlugin.js +72 -0
  60. package/lib/src/helpers/limiterPlugin.js.map +1 -0
  61. package/lib/src/helpers/loggingPlugin.d.ts +30 -0
  62. package/lib/src/helpers/loggingPlugin.js +87 -0
  63. package/lib/src/helpers/loggingPlugin.js.map +1 -0
  64. package/lib/src/helpers/queryAssertionPlugin.d.ts +3 -0
  65. package/lib/src/helpers/queryAssertionPlugin.js +20 -0
  66. package/lib/src/helpers/queryAssertionPlugin.js.map +1 -0
  67. package/lib/src/helpers/safeObjectId.d.ts +1 -1
  68. package/lib/src/helpers/safeObjectId.js +5 -1
  69. package/lib/src/helpers/safeObjectId.js.map +1 -1
  70. package/lib/src/helpers/storageSdkFactory.d.ts +2 -0
  71. package/lib/src/helpers/storageSdkFactory.js +11 -0
  72. package/lib/src/helpers/storageSdkFactory.js.map +1 -0
  73. package/lib/src/helpers/studioAppPlugin.d.ts +3 -0
  74. package/lib/src/helpers/studioAppPlugin.js +16 -0
  75. package/lib/src/helpers/studioAppPlugin.js.map +1 -0
  76. package/lib/src/logger.js +40 -2
  77. package/lib/src/logger.js.map +1 -1
  78. package/lib/src/models/access.model.d.ts +14 -3
  79. package/lib/src/models/access.model.js +7 -9
  80. package/lib/src/models/access.model.js.map +1 -1
  81. package/lib/src/models/customers.model.js +14 -4
  82. package/lib/src/models/customers.model.js.map +1 -1
  83. package/lib/src/models/design.model.d.ts +4 -0
  84. package/lib/src/models/design.model.js +58 -0
  85. package/lib/src/models/design.model.js.map +1 -0
  86. package/lib/src/models/domain.model.js +1 -1
  87. package/lib/src/models/domain.model.js.map +1 -1
  88. package/lib/src/models/editor.model.js +7 -0
  89. package/lib/src/models/editor.model.js.map +1 -1
  90. package/lib/src/models/emailLimit.model.d.ts +4 -0
  91. package/lib/src/models/emailLimit.model.js +31 -0
  92. package/lib/src/models/emailLimit.model.js.map +1 -0
  93. package/lib/src/models/hosting.model.js +1 -3
  94. package/lib/src/models/hosting.model.js.map +1 -1
  95. package/lib/src/models/hostingSettings.model.js +6 -4
  96. package/lib/src/models/hostingSettings.model.js.map +1 -1
  97. package/lib/src/models/invoice.model.d.ts +4 -0
  98. package/lib/src/models/invoice.model.js +235 -0
  99. package/lib/src/models/invoice.model.js.map +1 -0
  100. package/lib/src/models/mailFrom.model.js +51 -10
  101. package/lib/src/models/mailFrom.model.js.map +1 -1
  102. package/lib/src/models/project.model.js +2 -4
  103. package/lib/src/models/project.model.js.map +1 -1
  104. package/lib/src/models/publish-method.model.js +79 -430
  105. package/lib/src/models/publish-method.model.js.map +1 -1
  106. package/lib/src/models/publish.model.js +6 -0
  107. package/lib/src/models/publish.model.js.map +1 -1
  108. package/lib/src/models/storage.model.js +23 -5
  109. package/lib/src/models/storage.model.js.map +1 -1
  110. package/lib/src/models/structure.model.js +40 -0
  111. package/lib/src/models/structure.model.js.map +1 -1
  112. package/lib/src/models/upload.model.js +38 -2
  113. package/lib/src/models/upload.model.js.map +1 -1
  114. package/lib/src/prompts/textGeneration.js +88 -0
  115. package/lib/src/prompts/textGeneration.js.map +1 -1
  116. package/lib/src/prompts/textGenerationMulti.js +78 -44
  117. package/lib/src/prompts/textGenerationMulti.js.map +1 -1
  118. package/lib/src/services/access.service.d.ts +132 -33
  119. package/lib/src/services/access.service.js +270 -92
  120. package/lib/src/services/access.service.js.map +1 -1
  121. package/lib/src/services/ai.service.d.ts +4 -3
  122. package/lib/src/services/ai.service.js +22 -29
  123. package/lib/src/services/ai.service.js.map +1 -1
  124. package/lib/src/services/auth.service.d.ts +11 -0
  125. package/lib/src/services/auth.service.js +70 -0
  126. package/lib/src/services/auth.service.js.map +1 -0
  127. package/lib/src/services/conf.service.d.ts +3 -31
  128. package/lib/src/services/conf.service.js +58 -167
  129. package/lib/src/services/conf.service.js.map +1 -1
  130. package/lib/src/services/customers.service.d.ts +8 -4
  131. package/lib/src/services/customers.service.js +34 -7
  132. package/lib/src/services/customers.service.js.map +1 -1
  133. package/lib/src/services/designs.service.d.ts +7 -0
  134. package/lib/src/services/designs.service.js +10 -0
  135. package/lib/src/services/designs.service.js.map +1 -0
  136. package/lib/src/services/domains.service.d.ts +18 -84
  137. package/lib/src/services/domains.service.js +91 -583
  138. package/lib/src/services/domains.service.js.map +1 -1
  139. package/lib/src/services/editor.service.d.ts +4 -0
  140. package/lib/src/services/editor.service.js +28 -0
  141. package/lib/src/services/editor.service.js.map +1 -1
  142. package/lib/src/services/emailLimit.service.d.ts +21 -0
  143. package/lib/src/services/emailLimit.service.js +51 -0
  144. package/lib/src/services/emailLimit.service.js.map +1 -0
  145. package/lib/src/services/hosting.service.d.ts +12 -24
  146. package/lib/src/services/hosting.service.js +32 -122
  147. package/lib/src/services/hosting.service.js.map +1 -1
  148. package/lib/src/services/hostingAdmin.service.d.ts +1 -1
  149. package/lib/src/services/hostingAdmin.service.js +2 -2
  150. package/lib/src/services/hostingAdmin.service.js.map +1 -1
  151. package/lib/src/services/import.service.d.ts +6 -22
  152. package/lib/src/services/import.service.js +63 -65
  153. package/lib/src/services/import.service.js.map +1 -1
  154. package/lib/src/services/invoices.service.d.ts +30 -0
  155. package/lib/src/services/invoices.service.js +265 -0
  156. package/lib/src/services/invoices.service.js.map +1 -0
  157. package/lib/src/services/jetstream.service.d.ts +5 -3
  158. package/lib/src/services/jetstream.service.js +63 -7
  159. package/lib/src/services/jetstream.service.js.map +1 -1
  160. package/lib/src/services/listParticipants.service.d.ts +3 -5
  161. package/lib/src/services/listParticipants.service.js +76 -16
  162. package/lib/src/services/listParticipants.service.js.map +1 -1
  163. package/lib/src/services/mailFrom.service.d.ts +14 -1
  164. package/lib/src/services/mailFrom.service.js +59 -0
  165. package/lib/src/services/mailFrom.service.js.map +1 -1
  166. package/lib/src/services/me.service.d.ts +23 -12
  167. package/lib/src/services/me.service.js +65 -88
  168. package/lib/src/services/me.service.js.map +1 -1
  169. package/lib/src/services/publish.service.d.ts +6 -8
  170. package/lib/src/services/publish.service.js +34 -32
  171. package/lib/src/services/publish.service.js.map +1 -1
  172. package/lib/src/services/publishData.service.d.ts +10 -7
  173. package/lib/src/services/publishData.service.js +32 -75
  174. package/lib/src/services/publishData.service.js.map +1 -1
  175. package/lib/src/services/spamAnalasys.service.d.ts +4 -4
  176. package/lib/src/services/spamAnalasys.service.js +36 -44
  177. package/lib/src/services/spamAnalasys.service.js.map +1 -1
  178. package/lib/src/services/storage.service.d.ts +68 -39
  179. package/lib/src/services/storage.service.js +382 -209
  180. package/lib/src/services/storage.service.js.map +1 -1
  181. package/lib/src/services/structures.service.d.ts +8 -1
  182. package/lib/src/services/structures.service.js +26 -1
  183. package/lib/src/services/structures.service.js.map +1 -1
  184. package/lib/src/services/upload.service.d.ts +8 -1
  185. package/lib/src/services/upload.service.js +76 -3
  186. package/lib/src/services/upload.service.js.map +1 -1
  187. package/lib/tests/groupStructuresByModel.spec.d.ts +1 -0
  188. package/lib/tests/groupStructuresByModel.spec.js +33 -0
  189. package/lib/tests/groupStructuresByModel.spec.js.map +1 -0
  190. package/lib/tests/listParticipantsServiceJoin.spec.d.ts +1 -0
  191. package/lib/tests/listParticipantsServiceJoin.spec.js +151 -0
  192. package/lib/tests/listParticipantsServiceJoin.spec.js.map +1 -0
  193. package/lib/tests/storageServiceHandleFile.spec.d.ts +1 -0
  194. package/lib/tests/storageServiceHandleFile.spec.js +94 -0
  195. package/lib/tests/storageServiceHandleFile.spec.js.map +1 -0
  196. package/lib/tests/storageServiceToken.spec.d.ts +1 -0
  197. package/lib/tests/storageServiceToken.spec.js +104 -0
  198. package/lib/tests/storageServiceToken.spec.js.map +1 -0
  199. package/lib/tests/uploadServiceCreate.spec.d.ts +1 -0
  200. package/lib/tests/uploadServiceCreate.spec.js +81 -0
  201. package/lib/tests/uploadServiceCreate.spec.js.map +1 -0
  202. package/package.json +30 -26
  203. package/lib/src/AzureBlobStorage.share.d.ts +0 -19
  204. package/lib/src/AzureBlobStorage.share.js +0 -162
  205. package/lib/src/AzureBlobStorage.share.js.map +0 -1
  206. package/lib/src/AzureFileStorage.share.d.ts +0 -22
  207. package/lib/src/AzureFileStorage.share.js +0 -139
  208. package/lib/src/AzureFileStorage.share.js.map +0 -1
  209. package/lib/src/AzureVault.d.ts +0 -14
  210. package/lib/src/AzureVault.js +0 -28
  211. package/lib/src/AzureVault.js.map +0 -1
  212. package/lib/src/dns.challenge.class.d.ts +0 -17
  213. package/lib/src/dns.challenge.class.js +0 -41
  214. package/lib/src/dns.challenge.class.js.map +0 -1
  215. package/lib/src/http.challenge.class.d.ts +0 -33
  216. package/lib/src/http.challenge.class.js +0 -58
  217. package/lib/src/http.challenge.class.js.map +0 -1
  218. package/lib/src/models/certificate-action.model.d.ts +0 -5
  219. package/lib/src/models/certificate-action.model.js +0 -230
  220. package/lib/src/models/certificate-action.model.js.map +0 -1
  221. package/lib/src/models/certificate.model.d.ts +0 -4
  222. package/lib/src/models/certificate.model.js +0 -96
  223. package/lib/src/models/certificate.model.js.map +0 -1
  224. package/lib/src/models/editorBase.model.d.ts +0 -4
  225. package/lib/src/models/editorBase.model.js +0 -39
  226. package/lib/src/models/editorBase.model.js.map +0 -1
  227. package/lib/src/services/certificates.service.js +0 -199
  228. package/lib/src/services/certificates.service.js.map +0 -1
  229. package/lib/src/services/certificatesAction.service.d.ts +0 -0
  230. package/lib/src/services/certificatesAction.service.js +0 -237
  231. package/lib/src/services/certificatesAction.service.js.map +0 -1
  232. package/lib/src/services/editorBase.service.d.ts +0 -46
  233. package/lib/src/services/editorBase.service.js +0 -161
  234. package/lib/src/services/editorBase.service.js.map +0 -1
  235. package/lib/src/services/handleFile.service.d.ts +0 -9
  236. package/lib/src/services/handleFile.service.js +0 -45
  237. package/lib/src/services/handleFile.service.js.map +0 -1
  238. package/lib/src/services/media.service.d.ts +0 -35
  239. package/lib/src/services/media.service.js +0 -418
  240. package/lib/src/services/media.service.js.map +0 -1
  241. package/lib/src/services/share.service.d.ts +0 -6
  242. package/lib/src/services/share.service.js +0 -4
  243. package/lib/src/services/share.service.js.map +0 -1
  244. /package/lib/src/{services/certificates.service.d.ts → helpers/EnvMapper.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/services/storage.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/services/storage.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAYpB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,cAAe,SAAQ,SAAkB;IAMpD,YAAY,OAAqD;QAE/D,KAAK,EAAE,CAAC;QANV,UAAK,GAAG,YAAY,CAAC;QAOnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAEzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,cAAc,CACZ,YAAoB,IAAI,EACxB,MASC;QAGD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC;QAEhC,0CAA0C;QAC1C,IAAI,OAAO,GAAG,GAAG,OAAO,EAAE,CAAC;QAE3B,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAE7C,wDAAwD;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChE,OAAO,IAAI,IAAI,YAAY,EAAE,CAAC;QAEhC,CAAC;QAED,oCAAoC;QACpC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;QAE3C,8DAA8D;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE1D,OAAO;YACL,KAAK;YACL,SAAS;YACT,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,OAAO;SACnB,CAAC;IAEJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,mBAAmB,CACjB,KAAa,EACb,WASC;QAGD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC;QAErD,IAAI,OAAe,CAAC;QAEpB,+BAA+B;QAC/B,IAAI,CAAC;YAEH,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9D,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC7E,OAAO,KAAK,CAAC;QAEf,CAAC;QAED,gEAAgE;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAE1B,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QAEf,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAExD,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErF,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;YAEpC,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACxD,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;gBACnD,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;aAC5C,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QAEf,CAAC;QAED,oDAAoD;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,gCAAgC;QAChC,yDAAyD;QAEzD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAErB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QAEf,CAAC;QAED,6BAA6B;QAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAE1B,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QAEf,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC;YAEhC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBACnD,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;gBAC/C,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC9B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QAEf,CAAC;QAED,oDAAoD;QACpD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAErB,IAAI,WASH,CAAC;YAEF,IAAI,CAAC;gBAEH,4CAA4C;gBAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrE,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAEvC,CAAC;YAAC,MAAM,CAAC;gBAEP,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAC9E,OAAO,KAAK,CAAC;YAEf,CAAC;YAED,mDAAmD;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEjB,OAAO,CAAC,KAAK,CAAC,oEAAoE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBACrG,OAAO,KAAK,CAAC;YAEf,CAAC;YAED,gDAAgD;YAChD,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;gBAEpE,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpH,OAAO,KAAK,CAAC;YAEf,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;gBAEvE,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvH,OAAO,KAAK,CAAC;YAEf,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;gBAEvE,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvH,OAAO,KAAK,CAAC;YAEf,CAAC;YACD,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;gBAE3D,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3G,OAAO,KAAK,CAAC;YAEf,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;gBAEpE,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpH,OAAO,KAAK,CAAC;YAEf,CAAC;YACD,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAE1E,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1H,OAAO,KAAK,CAAC;YAEf,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;gBAE9D,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9G,OAAO,KAAK,CAAC;YAEf,CAAC;YAED,+EAA+E;YAC/E,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAEvF,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjH,OAAO,KAAK,CAAC;YAEf,CAAC;QAEH,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YAEvB,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;QAEf,CAAC;QAED,OAAO,IAAI,CAAC;IAEd,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAAgB,EAChB,OAA0B,EAC1B,YAAoB,IAAI,EACxB,MAMC;QAGD,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAExD,sDAAsD;QACtD,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;YACzB,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;YAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;YAC3C,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG;YAC/B,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM;YACxC,GAAG,EAAE,MAAM,EAAE,GAAG;SACjB,CAAC;QAEF,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE9D,yBAAyB;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzF,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,UAAU,SAAS,CAAC,KAAK,EAAE,CAAC;QAE/G,OAAO;YACL,GAAG;YACH,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC;IAEJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,gBAA0B,EAC1B,KAAa,EACb,IAA+B;QAG/B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAE3C;;WAEG;QACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEhE,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAErD;;;WAGG;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEhF,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAExB,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAE/B,CAAC;QAED,uBAAuB;QACvB,wDAAwD;QACxD,2BAA2B;QAE3B,yBAAyB;QAEzB,EAAE;QACF,yDAAyD;QACzD,kDAAkD;QAClD,sHAAsH;QACtH,wCAAwC;QACxC,WAAW;QAEX,2DAA2D;QAE3D,2CAA2C;QAC3C,oCAAoC;QAEpC,MAAM;QAEN,IAAI;QAEJ,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7F;;UAEE;QACF,IAAI,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAEvD,MAAM,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM,gBAAgB,CAAC,OAAO,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;QAEzE,CAAC;QAED,OAAO,YAAY,CAAC;IAEtB,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,OAA+B;QAEtD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,GAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1F,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAsD,EACtD,KAAyB,EACzB,UAAoB,EACpB,IAAgC,EAChC,OAA+B;QAG/B,MAAM,WAAW,GAAG,IAAI,KAAK,QAAQ,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3C,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAExB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBAErB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAEtD,CAAC;iBAAM,CAAC;gBAEN,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAE7D,CAAC;QAEH,CAAC;aAAM,IAAG,IAAI,KAAK,MAAM,EAAE,CAAC;YAE1B,MAAM,WAAW,GAAG,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,QAAQ,CAAC,IAA6B,EAAE,WAAW,CAAC,CAAC;QAE7D,CAAC;aAAM,CAAC;YAEN,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAc,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAE/D,CAAC;QAED,OAAO,WAAW,CAAC;IAErB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,UAAoB,EAAE,OAAe;QAExE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpE,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,OAAO,WAAW,CAAC;IAErB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAsB,EAAE,UAAkB;QAEvE,MAAM,WAAW,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,KAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE7D,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YAEjC,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1D,CAAC;QAED,WAAW,CAAC,GAAG,EAAE,CAAC;QAElB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE1C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAElC,CAAC,CAAC,CAAC;IAEL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,KAAsB,EAAE,UAAkB;QAE9E,MAAM,WAAW,GAAG,KAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE3C,MAAM,YAAY,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAE3E,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAE/B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEjF,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAE/B,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAE1D,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;gBAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjD,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,KAAK,CACd;oBACE,sBAAsB,KAAK,CAAC,OAAO,EAAE;oBACrC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC7C,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;oBACzC,SAAS,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;iBACnH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAC9B,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE9B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEnE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAE1B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEpC,CAAC;qBAAM,CAAC;oBAEN,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjD,YAAY,CAAC,OAAO,EAAE,CAAC;oBAEvB,MAAM,CAAC,IAAI,KAAK,CACd;wBACE,oBAAoB;wBACpB,QAAQ,IAAI,EAAE;wBACd,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;wBACvC,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;wBACzC,SAAS,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;qBACnH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAC9B,CAAC,CAAC;gBAEL,CAAC;YAEH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAEjC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAE5D,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAElD,IAAI,CAAC;gBAEH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAExC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YAE3D,CAAC;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YAEb,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAExE,CAAC;IAEH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAoB;QAExC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;QAE9D,IAAI,CAAC;YAEH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAEvD,OAAO,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAE9C,CAAC;QAEH,CAAC;IAEH,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,QAAgB,EAAE,OAAgB;QAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3C;;WAEG;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC;QAE1B,gFAAgF;QAChF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9B,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAErC,CAAC;IAED,UAAU,CAAC,QAAgB,EAAE,KAAa;QAExC,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAErE,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAEvD,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAY;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1D,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,QAAwB;QAElD,MAAM,WAAW,GAAkB,QAAQ,IAAI,EAAE,CAAC;QAElD,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEvC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEpB,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC5D,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAElC,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC5D,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAElC,CAAC;QAEH,CAAC;QAED,OAAO,WAAW,CAAC;IAErB,CAAC;IAED,KAAK,CAAC,GAAG,CACP,MAcC,EACD,KAAuC;QAGvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzE,MAAM,SAAS,GAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAEhG,IAAI,IAAI;YAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,IAAI,QAAQ;YAAE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5C,IAAI,OAAO,EAAE,MAAM;YAAE,SAAS,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAE1D,IAAI,IAAc,CAAC;QAEnB,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;YAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAE/B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEtB,CAAC;iBAAM,CAAC;gBAEN,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAEpB,CAAC;YAED,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAE7C,CAAC;QAED,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAElB,SAAS,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAE/D,CAAC;QAED,MAAM,qBAAqB,GAAU,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,eAAe,CAAC;YAC9E,CAAC,CAAC;gBACA,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE;gBACrG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE;gBACtE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;gBACtH,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;aAChC;YACD,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,MAA+D,CAAC;QAEpE,+EAA+E;QAC/E,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;YAExB,oGAAoG;YACpG,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;gBAElB,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;gBACvF,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBAE7E,SAAS,CAAC,GAAG,GAAG;oBACd,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,cAAc;oBACxC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,aAAa,EAAE,EAAE,EAAE,EAAE,sBAAsB;iBACpE,CAAC;YAEJ,CAAC;YAED,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,SAAS,CAAgD;gBACtF;oBACE,MAAM,EAAE,SAAS;iBAClB;gBACD,GAAG,qBAAqB;gBACxB;oBACE,MAAM,EAAE;wBACN,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;wBAC7B,IAAI,EAAE;4BACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;4BACtB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE;4BAC3B,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE;4BAC9B,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;4BACzB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;yBACjC;qBACF;iBACF;gBACD;oBACE,QAAQ,EAAE;wBACR,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE;wBAC3C,IAAI,EAAE,CAAC;wBACP,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;qBAC1B;iBACF;aACF,CAAC;iBACC,OAAO,EAAE;iBACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzD,CAAC;QAED,iFAAiF;QACjF,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAE9C,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC;YAExE,IAAI,WAAW,EAAE,CAAC;gBAEhB,wCAAwC;gBACxC,SAAS,CAAC,GAAG,GAAG;oBACd,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;oBAC9B,EAAE,MAAM,EAAE,IAAI,EAAE;oBAChB,EAAE,MAAM,EAAE,EAAE,EAAE;iBACf,CAAC;YAEJ,CAAC;iBAAM,CAAC;gBAEN,+CAA+C;gBAC/C,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAElC,CAAC;YAED,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,SAAS,CAAgD;gBACtF;oBACE,MAAM,EAAE,SAAS;iBAClB;gBACD,GAAG,qBAAqB;gBACxB;oBACE,MAAM,EAAE;wBACN,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;wBAC7B,IAAI,EAAE;4BACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;4BACtB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE;4BAC3B,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE;4BAC9B,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;4BACzB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;yBACjC;qBACF;iBACF;gBACD;oBACE,QAAQ,EAAE;wBACR,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE;wBAC3C,IAAI,EAAE,CAAC;wBACP,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;qBAC1B;iBACF;aACF,CAAC;iBACC,OAAO,EAAE;iBACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzD,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YAEZ,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC;YAExE,IAAI,WAAW,EAAE,CAAC;gBAEhB,oEAAoE;gBACpE,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,SAAS,CAA8C;oBACpF;wBACE,MAAM,EAAE,SAAS;qBAClB;oBACD,GAAG,qBAAqB;oBACxB;wBACE,UAAU,EAAE;4BACV,yDAAyD;4BACzD,kBAAkB,EAAE;gCAClB,KAAK,EAAE;oCACL,EAAE,EAAE;wCACF,GAAG,EAAE;4CACH,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;4CAC1B,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;4CACxB,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE;yCAC3C;qCACF;oCACD,IAAI,EAAE,IAAI,EAAE,iCAAiC;oCAC7C,IAAI,EAAE;wCACJ,kCAAkC;wCAClC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;qCAChD;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,sBAAsB;gCAChE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;gCACtB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE;gCAC3B,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE;gCAC9B,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE;gCAChD,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;6BACjC;4BACD,OAAO,EAAE;gCACP,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;gCACjD,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,EAAE,sBAAsB;gCAClE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;gCACrB;oCACE,QAAQ,EAAE;wCACR,GAAG,EAAE,CAAC;wCACN,MAAM,EAAE,MAAM;wCACd,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;qCAC7B;iCACF;6BACF;4BACD,QAAQ,EAAE;gCACR,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE;gCACxC,EAAE,MAAM,EAAE,KAAK,EAAE;6BAClB;yBACF;qBACF;oBACD;wBACE,QAAQ,EAAE;4BACR,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE;4BAC3C,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;4BAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;yBAC9D;qBACF;iBACF,CAAC;qBACC,OAAO,EAAE;qBACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzD,CAAC;iBAAM,CAAC;gBAEN,2DAA2D;gBAC3D,MAAM,MAAM,GAAG,KAAM,CAAC,MAAgB,CAAC;gBACvC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;gBACrE,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBAE7E,gEAAgE;gBAChE,MAAM,YAAY,GAAG;oBACnB,GAAG,SAAS;oBACZ,GAAG,EAAE;wBACH,EAAE,MAAM,EAAE,EAAE,oBAAoB;wBAChC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,aAAa,EAAE,EAAE,EAAE,EAAE,qCAAqC;qBACnF;iBACF,CAAC;gBAEF,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,SAAS,CAA8C;oBACpF;wBACE,MAAM,EAAE,YAAY;qBACrB;oBACD,GAAG,qBAAqB;oBACxB;wBACE,UAAU,EAAE;4BACV,wDAAwD;4BACxD,kBAAkB,EAAE;gCAClB,KAAK,EAAE;oCACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;oCAChC,IAAI,EAAE,IAAI,EAAE,sBAAsB;oCAClC,IAAI,EAAE;wCACJ,qCAAqC;wCACrC,YAAY,EAAE;4CACZ,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;4CACvE,CAAC;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,uBAAuB;gCACjE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;gCACtB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE;gCAC3B,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE;gCAC9B,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE;gCAChD,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;6BACjC;4BACD,OAAO,EAAE;gCACP,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;gCACjD,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,EAAE,sBAAsB;gCAClE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;gCACrB;oCACE,QAAQ,EAAE;wCACR,GAAG,EAAE,CAAC;wCACN,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE;wCAC9C,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;qCAC7B;iCACF;6BACF;4BACD,QAAQ,EAAE;gCACR,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE;gCACxC,EAAE,MAAM,EAAE,KAAK,EAAE;6BAClB;yBACF;qBACF;oBACD;wBACE,QAAQ,EAAE;4BACR,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE;4BAC3C,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;4BAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;yBAC9D;qBACF;iBACF,CAAC;qBACC,OAAO,EAAE;qBACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzD,CAAC;QAEH,CAAC;QAED,OAAO,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAElD,CAAC;IAED;;;;;;;;;;OAUG;IACH,WAAW,CACT,OAAe,EACf,OAAgB,EAChB,GAAY,EACZ,MAAe,EACf,KAAuC;QAGvC,MAAM,KAAK,GAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAE5F,uDAAuD;QACvD,IAAI,MAAM,EAAE,CAAC;YAEX,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;YACrE,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YAE7E,iEAAiE;YACjE,KAAK,CAAC,GAAG,GAAG;gBACV,EAAE,MAAM,EAAE,EAAE,cAAc;gBAC1B,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,aAAa,EAAE,EAAE,EAAE,EAAE,sBAAsB;aACpE,CAAC;QAEJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,YAAY,GAAU,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAErD,2CAA2C;QAC3C,IAAI,KAAK,EAAE,CAAC;YAEV,IAAI,KAAK,CAAC,IAAI;gBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,KAAK;gBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAE9D,CAAC;QAED,YAAY,CAAC,IAAI,CACf,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAC7B,CAAC;QAEF,OAAO,YAAY,CAAC,EAAE,CAAC,SAAS,CAAkD;YAChF;gBACE,MAAM,EAAE,KAAK;aACd;YACD;gBACE,MAAM,EAAE;oBACN,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAC7B,IAAI,EAAE,YAAY;iBACnB;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE;oBAC3C,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;iBAC1B;aACF;SACF,CAAC;aACC,OAAO,EAAE;aACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAEnE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAe,EAAE,MAAc;QAE5D,IAAI,WAAW,GAAoB,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,UAAU,GAAG,WAAW,CAAC;QAC7B,IAAI,WAAW,GAAa,EAAE,CAAC;QAE/B,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAE9B,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAErC,WAAW,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtE,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE9B,CAAC;aAAM,CAAC;YAEN,WAAW,GAAG,IAAI,MAAM,CAAC,oBAAoB,WAAW,KAAK,CAAC,CAAC;QAEjE,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;aACvK,OAAO,EAAE,CAAA;QAEZ,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAEvE,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,QAAgB;QAEvD,OAAO,YAAY,CAAC,EAAE,CAAC,SAAS,CAAQ;YACtC;gBACE,MAAM,EAAE;oBACN,OAAO;oBACP,OAAO;oBACP,EAAE,EAAE,QAAQ;iBACb;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,iBAAiB;oBACrB,GAAG,EAAE;wBACH,GAAG,EAAE,iBAAiB;wBACtB,OAAO,EAAE,UAAU;wBACnB,OAAO,EAAE,UAAU;qBACpB;oBACD,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE;oCACJ;wCACE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;qCAClC;oCACD;wCACE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;qCAC1C;oCACD;wCACE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;qCAC1C;iCACF;6BACF;yBACF;wBACD;4BACE,QAAQ,EAAE;gCACR,EAAE,EAAE,CAAC;gCACL,OAAO,EAAE,CAAC;6BACX;yBACF;qBACF;iBACF;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,kBAAkB;oBACxB,0BAA0B,EAAE,IAAI;iBACjC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,qBAAqB,EAAE,kBAAkB;iBAC1C;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,eAAe,EAAE,CAAC;iBACnB;aACF;SACF,CAAC;aACC,OAAO,EAAE;aACT,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,OAAe,EAAE,EAAY;QAEpD,OAAO,YAAY,CAAC,EAAE,CAAC,SAAS,CAAQ;YACtC;gBACE,MAAM,EAAE;oBACN,OAAO;oBACP,OAAO;oBACP,gBAAgB,EAAE,EAAE;iBACrB;aACF;YACD;gBACE,gBAAgB,EAAE;oBAChB,WAAW,EAAE,iBAAiB;oBAC9B,MAAM,EAAE;wBACN,qBAAqB,EAAE,CAAC,CAAC;qBAC1B;oBACD,MAAM,EAAE;wBACN,iBAAiB,EAAE;4BACjB,MAAM,EAAE,EAAE;4BACV,MAAM,EAAE;gCACN,SAAS,EAAE;oCACT,WAAW,EAAE,WAAW;iCACzB;6BACF;yBACF;qBACF;iBACF;aACF;YACD;gBACE,MAAM,EAAE,CAAC;aACV;SACF,CAAC;aACC,OAAO,EAAE;aACT,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAgB,EAAE,MAA0B,EAAE,GAAW,EAAE,QAA8B,EAAE,IAA0B,EAAE,OAAyD;QAErL,MAAM,KAAK,GAA4B;YACrC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;YACR,MAAM;YACN,GAAG;SACJ,CAAC;QAEF,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE5B,OAAO,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;aACzC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAE3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,GAAW,EACX,QAA8B,EAC9B,IAA0B,EAC1B,OAAyD;QAGzD,OAAO,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG;YACH,OAAO;YACP,QAAQ;YACR,IAAI;SACL,CAAC,CAAC;IAEL,CAAC;IAED,aAAa,CAAC,SAAoB,EAAE,MAAuB,EAAE,IAAY;QAEvE,MAAM,WAAW,GAAsC,EAAE,CAAC;QAC1D,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAE7B,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBAE/C,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC;oBAAE,OAAO;gBACjE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;oBAAE,OAAO;gBAE/B,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEvD,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAE1B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IAErB,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,WAAmB;QAEpD,OAAO,QAAQ,GAAG,WAAW,CAAC;IAEhC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAe,EAAE,QAAmB;QAEzD,MAAM,KAAK,GAA4B;YACrC,OAAO;YACP,OAAO;YACP,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3B,CAAC;QAEF,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAExC,MAAM,WAAW,GAAG;YAClB;gBACE,MAAM,EAAE,KAAK;aACd;YACD;gBACE,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE;wBACJ,IAAI,EAAE,gBAAgB;qBACvB;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC;qBACR;iBACF;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;iBACT;aACF;SACF,CAAC;QAEF,OAAO,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;aACpD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAe,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtE,CAAC;IAED,eAAe,CAAC,UAAoB,EAAE,OAA0B;QAE9D,OAAO,YAAY,CAAC,EAAE,CAAC,OAAO,CAAqB,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAC,UAAU,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,EAAC,CAAC,CAAC;IAEvJ,CAAC;IAED,iBAAiB,CAAC,QAAgB,EAAE,GAAW,EAAE,QAA8B,EAAE,IAA0B,EAAE,OAAgB;QAE3H,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,KAAK,GAA4B;YACrC,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,MAAM,EAAE,cAAc,CAAC,SAAS;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG;SACJ,CAAC;QAEF,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE5B,OAAO,YAAY,CAAC,EAAE,CAAC,OAAO,CAC5B,KAAK,EACL;YACE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;SACrC,CACF,CAAC;IAEJ,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,MAA0B,EAAE,GAAW,EAAE,QAA8B,EAAE,IAA0B,EAAE,OAA0B;QAE7J,MAAM,KAAK,GAA4B;YACrC,QAAQ;YACR,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG;SACJ,CAAC;QAEF,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE5B,OAAO,YAAY,CAAC,EAAE,CAAC,OAAO,CAC5B,KAAK,CACN,CAAC;IAEJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAoB,EAAE,QAAkB,EAAE,OAAyC;QAEzG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE/H,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEhD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;IAEzE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAoB,EAAE,OAAyC;QAE9E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAErH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEhD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;IAEzE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAkB,EAAE,OAAyC;QAEnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9H,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAEpB,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAErD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEzD,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,MAAM,CAAC,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC;YAEvE,CAAC,CAAC,CAAC,CAAC;QAEN,CAAC;IAEH,CAAC;CAEF;AACD,eAAe,IAAI,cAAc,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAA4B;IACpD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAA8B;CACzD,CAAC,CAAC"}
@@ -9,6 +9,7 @@ export declare class StructureService extends Immutable<Structure> {
9
9
  getByModel(model: Structure['model'], options: Options): Promise<import("mongodb").WithId<Structure>[]>;
10
10
  listByModels(models: string[], filter: {
11
11
  search?: string;
12
+ types?: Structure['type'][];
12
13
  } | undefined, options: UserAppWithOptions & SkipLimitSort): Promise<{
13
14
  all: number;
14
15
  data: any[] | undefined;
@@ -18,6 +19,12 @@ export declare class StructureService extends Immutable<Structure> {
18
19
  createValidator(data: Record<string, any>, required: string[], structures: Structure[], baseSchema?: SchemaObject): ValidateFunction;
19
20
  byInternalId(id: ObjectIdString, options: Options): Promise<import("mongodb").WithId<Structure> | null>;
20
21
  byMultipleInternalIds(ids: ObjectIdString[], options: Options): Promise<BasicData<Structure>[]>;
22
+ getAssetIds(options: Options & {
23
+ search?: string;
24
+ }): Promise<{
25
+ id: string;
26
+ title: string;
27
+ }[]>;
21
28
  createSchema(structures: Structure[], required: string[], baseSchema?: SchemaObject): {
22
29
  type: string;
23
30
  properties: Record<string, any>;
@@ -33,7 +40,7 @@ export declare class StructureService extends Immutable<Structure> {
33
40
  structuresByModel: Record<string, Structure[]>;
34
41
  structuresInputByModel: Record<string, Record<string, any>>;
35
42
  };
36
- updateWithType(internalId: ObjectId, body: Structure, userId: string, reason: HistoryReason, app: string): Promise<import("mongodb").UpdateResult<BasicData<Structure>>>;
43
+ updateWithType(internalId: ObjectId, body: Structure, userId: string, reason: HistoryReason, app: string): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
37
44
  }
38
45
  declare const _default: StructureService;
39
46
  export default _default;
@@ -34,6 +34,9 @@ export class StructureService extends Immutable {
34
34
  { $expr: { $eq: ['$company', options.company] } },
35
35
  ],
36
36
  };
37
+ if (filter?.types?.length) {
38
+ match.$and.push({ type: { $in: filter.types } });
39
+ }
37
40
  // Handle model matching based on input
38
41
  if (models && models.length > 0) {
39
42
  const modelsSelectOr = [];
@@ -153,6 +156,26 @@ export class StructureService extends Immutable {
153
156
  ] };
154
157
  return this.model.db.find(query).toArray();
155
158
  }
159
+ async getAssetIds(options) {
160
+ const query = {
161
+ company: options.company,
162
+ project: options.project,
163
+ assetId: { $exists: true },
164
+ };
165
+ if (options.search) {
166
+ query.title = { $regex: options.search, $options: 'i' };
167
+ }
168
+ const structures = await this.model.db.find(query, { projection: { assetId: 1, title: 1, question: 1 } }).toArray();
169
+ const seen = new Set();
170
+ const result = [];
171
+ for (const structure of structures) {
172
+ if (structure.assetId && !seen.has(structure.assetId)) {
173
+ seen.add(structure.assetId);
174
+ result.push({ id: structure.assetId, title: structure.title || structure.question || '' });
175
+ }
176
+ }
177
+ return result;
178
+ }
156
179
  // async getAllStructures(options: { company: string }) {
157
180
  // return this.model.db.find({
158
181
  // company: options.company,
@@ -240,7 +263,9 @@ export class StructureService extends Immutable {
240
263
  if (!structuresInputByModel[structure.model])
241
264
  structuresInputByModel[structure.model] = {};
242
265
  structuresByModel[structure.model].push(structure);
243
- structuresInputByModel[structure.model][structure.id] = data[structure.id];
266
+ if (data[structure.id] !== undefined) {
267
+ structuresInputByModel[structure.model][structure.id] = data[structure.id];
268
+ }
244
269
  }
245
270
  });
246
271
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"structures.service.js","sourceRoot":"","sources":["../../../src/services/structures.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structures.service.js","sourceRoot":"","sources":["../../../src/services/structures.service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import { ObjectId } from 'mongodb';
2
2
  import { Upload, UserAppOptionsRequired, Stored } from '@lilaquadrat/interfaces';
3
3
  export declare class UploadService {
4
+ validApps: string[];
4
5
  single(uploadInternalId: ObjectId): Promise<import("mongodb").WithId<Upload> | null>;
5
- create(filename: string, size: number, chunks: number, mimetype: string, app: string, customer: string | undefined, list: string | undefined, options: UserAppOptionsRequired & Upload['options']): Promise<ObjectId | undefined>;
6
+ create(filename: string, size: number, chunks: number, mimetype: string, app: string, customer: ObjectId | undefined, list: ObjectId | undefined, options: UserAppOptionsRequired & Upload['options'] & {
7
+ source?: 'members';
8
+ }): Promise<ObjectId | undefined>;
6
9
  addPathToUpload(internalId: ObjectId, index: number, path: string): Promise<Stored<Upload>>;
7
10
  setState(internalId: ObjectId, state: Upload['state']): Promise<import("mongodb").UpdateResult<Upload>>;
8
11
  exists(company: string, project: string | undefined, filename: string): Promise<boolean>;
12
+ countActiveByAssetId(assetId: string, app: string, customer: ObjectId | undefined, list: ObjectId | undefined, options: {
13
+ company: string;
14
+ project: string | undefined;
15
+ }): Promise<number>;
9
16
  }
10
17
  declare const _default: UploadService;
11
18
  export default _default;
@@ -3,15 +3,32 @@ import ImmutableError from '../classes/errors/Immutable.error.js';
3
3
  import filenameHelper from '../helpers/filenameHelper.js';
4
4
  import cleanObject from '../helpers/cleanObject.js';
5
5
  import StorageService from './storage.service.js';
6
+ import EditorService from './editor.service.js';
7
+ import StructuresService from './structures.service.js';
8
+ import listParticipantsService from './listParticipants.service.js';
6
9
  export class UploadService {
10
+ constructor() {
11
+ this.validApps = ['listsParticipants', 'customers', 'media', 'internal', 'html'];
12
+ }
7
13
  async single(uploadInternalId) {
8
14
  return UploadModel.db.findOne({ _id: uploadInternalId, state: { $ne: 'finished' } });
9
15
  }
10
16
  async create(filename, size, chunks, mimetype, app, customer, list, options) {
11
17
  const filenameObject = filenameHelper(filename);
12
- if (options.overwrite !== true && await StorageService.exists(filenameObject.filename, filenameObject.directory, app, options)) {
18
+ const validationModel = options.source === 'members'
19
+ ? 'create-members'
20
+ : 'create';
21
+ if (!this.validApps.includes(app)) {
22
+ throw new Error('APP_NOT_ALLOWED');
23
+ }
24
+ if (options.overwrite !== true && await StorageService.exists(filenameObject.filename, filenameObject.directory, app, customer, list, options)) {
13
25
  throw new Error('FILE_EXISTS');
14
26
  }
27
+ if (list && customer) {
28
+ const customerInList = await listParticipantsService.participantInList(list, customer, options);
29
+ if (!customerInList)
30
+ throw new Error('CUSTOMER_NOT_IN_LIST');
31
+ }
15
32
  const content = cleanObject({
16
33
  filename: filenameObject.filename,
17
34
  prefix: filenameObject.directory,
@@ -29,22 +46,67 @@ export class UploadService {
29
46
  options: {
30
47
  thumbnails: options.thumbnails,
31
48
  overwrite: options.overwrite,
49
+ contentId: options.contentId,
50
+ structureId: options.structureInternalId,
51
+ moduleUuid: options.moduleUuid
32
52
  },
33
53
  });
34
54
  const selectQuery = cleanObject({
35
55
  filename: filenameObject.filename,
36
- prefix: filenameObject.directory,
37
56
  company: options.company,
38
57
  project: options.project,
39
58
  list,
40
59
  customer,
41
60
  app,
42
61
  });
43
- const validation = UploadModel.validate(content, 'create');
62
+ if (filenameObject.directory === undefined) {
63
+ selectQuery.prefix = { $exists: false };
64
+ }
65
+ else {
66
+ selectQuery.prefix = filenameObject.directory;
67
+ }
68
+ const validation = UploadModel.validate(content, validationModel);
44
69
  if (!validation) {
45
70
  console.error(UploadModel.compiledTypes.create.errors);
46
71
  throw new ImmutableError('VALIDATION_FAILED', UploadModel.compiledTypes.create.errors);
47
72
  }
73
+ if (options.source === 'members') {
74
+ if (options.contentId && options.structureInternalId && options.moduleUuid) {
75
+ const editor = await EditorService.getById(options.contentId, options);
76
+ const contentModule = editor.modules.find((single) => single.uuid === options.moduleUuid);
77
+ const structure = await StructuresService.byInternalId(options.structureInternalId?.toString(), options);
78
+ if (!editor)
79
+ throw new Error('CONTENT_NOT_FOUND');
80
+ if (!contentModule)
81
+ throw new Error('CONTENT_MODULE_NOT_FOUND');
82
+ if (!structure || structure.type !== 'file')
83
+ throw new Error('STRUCTURE_NOT_FOUND');
84
+ if (!structure.allowedMimeTypes?.includes(content.mimetype))
85
+ throw new Error('MIMETYPE_NOT_ALLOWED');
86
+ if (content.size > structure.maxFileSize)
87
+ throw new Error('FILESIZE_EXCEEDED');
88
+ if (structure.model === 'customers') {
89
+ delete selectQuery.project;
90
+ delete selectQuery.list;
91
+ delete content.project;
92
+ delete content.list;
93
+ }
94
+ if (structure.assetId) {
95
+ content.assetId = structure.assetId;
96
+ if (structure.max !== undefined) {
97
+ const [stored, active] = await Promise.all([
98
+ StorageService.countByAssetId(structure.assetId, app, customer, list, options),
99
+ this.countActiveByAssetId(structure.assetId, app, customer, list, options),
100
+ ]);
101
+ if (stored + active >= structure.max)
102
+ throw new Error('FILE_LIMIT_EXCEEDED');
103
+ }
104
+ }
105
+ }
106
+ else {
107
+ throw new Error('CONTENT_NOT_FOUND');
108
+ }
109
+ }
48
110
  const insert = await UploadModel.db.findOneAndUpdate(selectQuery, { $set: content }, { upsert: true, returnDocument: 'after' });
49
111
  return insert?._id;
50
112
  }
@@ -60,6 +122,17 @@ export class UploadService {
60
122
  })
61
123
  .then((exists) => exists >= 1);
62
124
  }
125
+ async countActiveByAssetId(assetId, app, customer, list, options) {
126
+ return UploadModel.db.countDocuments({
127
+ company: options.company,
128
+ project: options.project,
129
+ app,
130
+ assetId,
131
+ customer,
132
+ list,
133
+ state: { $in: ['uploading', 'waiting', 'processing'] },
134
+ });
135
+ }
63
136
  }
64
137
  export default new UploadService();
65
138
  //# sourceMappingURL=upload.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.service.js","sourceRoot":"","sources":["../../../src/services/upload.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.service.js","sourceRoot":"","sources":["../../../src/services/upload.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ import { StructureService } from '../src/services/structures.service';
2
+ const service = new StructureService();
3
+ const structures = [
4
+ { id: 'fieldA', model: 'customers', type: 'string' },
5
+ { id: 'fieldB', model: 'customers', type: 'string' },
6
+ ];
7
+ describe('groupStructuresByModel', () => {
8
+ it('only includes fields that are present in the input data', () => {
9
+ /**
10
+ * simulate a join where the user only filled fieldA and left fieldB blank
11
+ * (fieldB key is absent from the submitted form data)
12
+ */
13
+ const inputData = { fieldA: 'hello' };
14
+ const { structuresInputByModel } = service.groupStructuresByModel(structures, inputData);
15
+ expect(Object.keys(structuresInputByModel.customers)).toEqual(['fieldA']);
16
+ expect(structuresInputByModel.customers).not.toHaveProperty('fieldB');
17
+ });
18
+ it('does not overwrite existing customer data when a field is absent from input', () => {
19
+ const existingCustomer = { fieldA: 'old', fieldB: 'existing value' };
20
+ const inputData = { fieldA: 'new' };
21
+ const { structuresInputByModel } = service.groupStructuresByModel(structures, inputData);
22
+ /**
23
+ * this spread mirrors what membersJoin and getOrCreateByEmail do:
24
+ * { ...customer, ...structuresInputByModel.customers }
25
+ *
26
+ * BUG: structuresInputByModel.customers currently contains { fieldA: 'new', fieldB: undefined }
27
+ * so fieldB gets silently wiped from the merged object
28
+ */
29
+ const merged = { ...existingCustomer, ...structuresInputByModel.customers };
30
+ expect(merged.fieldB).toBe('existing value');
31
+ });
32
+ });
33
+ //# sourceMappingURL=groupStructuresByModel.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupStructuresByModel.spec.js","sourceRoot":"","sources":["../../tests/groupStructuresByModel.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAGtE,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAEvC,MAAM,UAAU,GAA2B;IACzC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAA0B;IAC5E,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAA0B;CAC7E,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAEtC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAEjE;;;WAGG;QACH,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEzF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QAErF,MAAM,gBAAgB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAEpC,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEzF;;;;;;WAMG;QACH,MAAM,MAAM,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,CAAC;QAE5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE/C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,151 @@
1
+ import { jest, describe, it, expect, beforeEach, afterEach } from '@jest/globals';
2
+ import { ObjectId } from 'mongodb';
3
+ import listParticipantsService from '../src/services/listParticipants.service';
4
+ import listsService from '../src/services/lists.service';
5
+ import customersService from '../src/services/customers.service';
6
+ import spamAnalasysService from '../src/services/spamAnalasys.service';
7
+ import editorService from '../src/services/editor.service';
8
+ import { JetStreamService } from '../src/services/jetstream.service';
9
+ const LIST_ID = new ObjectId('507f1f77bcf86cd799439011');
10
+ const CUSTOMER_ID = new ObjectId('507f1f77bcf86cd799439012');
11
+ const PARENT_ID = new ObjectId('507f1f77bcf86cd799439013');
12
+ const baseOptions = {
13
+ user: 'user-1',
14
+ app: 'app-1',
15
+ company: 'lilaquadrat',
16
+ project: 'homepage',
17
+ uuid: 'uuid-1',
18
+ parentId: PARENT_ID.toString(),
19
+ };
20
+ const baseList = {
21
+ _id: LIST_ID,
22
+ company: 'lilaquadrat',
23
+ project: 'homepage',
24
+ name: 'list',
25
+ mode: 'contact',
26
+ state: 'open',
27
+ agreements: [],
28
+ participants: { available: true },
29
+ categories: [
30
+ { _id: new ObjectId(), id: 'cat-a', name: 'A', amount: 2 },
31
+ { _id: new ObjectId(), id: 'cat-b', name: 'B' },
32
+ ],
33
+ };
34
+ const baseEditor = {
35
+ modules: [{ uuid: 'uuid-1', type: 'contact-module', categories: [] }],
36
+ genericData: {},
37
+ };
38
+ const basePerson = { email: 'a@b.de', name: 'last', prename: 'first' };
39
+ const baseCustomer = { _id: CUSTOMER_ID, email: 'a@b.de' };
40
+ describe('ListParticipantsService.join', () => {
41
+ let listsSingleSpy;
42
+ let editorByIdSpy;
43
+ let checkEmailSpy;
44
+ let getOrCreateSpy;
45
+ let singleWithoutLookupSpy;
46
+ let addParticipantSpy;
47
+ let sendEmailSpy;
48
+ let publishSpy;
49
+ let hasSlotSpy;
50
+ beforeEach(() => {
51
+ listsSingleSpy = jest.spyOn(listsService, 'single').mockResolvedValue(baseList);
52
+ editorByIdSpy = jest.spyOn(editorService, 'getById').mockResolvedValue(baseEditor);
53
+ checkEmailSpy = jest.spyOn(spamAnalasysService, 'checkEmailDns').mockResolvedValue(true);
54
+ getOrCreateSpy = jest.spyOn(customersService, 'getOrCreateByEmail').mockResolvedValue({ customer: baseCustomer });
55
+ singleWithoutLookupSpy = jest.spyOn(listParticipantsService, 'singleWithoutLookup').mockResolvedValue(null);
56
+ addParticipantSpy = jest.spyOn(listParticipantsService, 'addParticipantViaObject').mockResolvedValue({ _id: new ObjectId() });
57
+ sendEmailSpy = jest.spyOn(listParticipantsService, 'sendStateAndAudienceAwareEmail').mockResolvedValue(undefined);
58
+ publishSpy = jest.spyOn(JetStreamService.prototype, 'publish').mockResolvedValue({});
59
+ hasSlotSpy = jest.spyOn(listParticipantsService, 'hasOpenSlotForCategory').mockResolvedValue(true);
60
+ });
61
+ afterEach(() => {
62
+ jest.restoreAllMocks();
63
+ });
64
+ it('throws LIST_NOT_FOUND when list missing', async () => {
65
+ listsSingleSpy.mockResolvedValue(undefined);
66
+ await expect(listParticipantsService.join(LIST_ID, basePerson, undefined, 'cat-a', [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions)).rejects.toThrow('LIST_NOT_FOUND');
67
+ });
68
+ it('throws LIST_NO_SPOT_AVAILABLE when list has no available slots', async () => {
69
+ listsSingleSpy.mockResolvedValue({ ...baseList, participants: { available: false } });
70
+ await expect(listParticipantsService.join(LIST_ID, basePerson, undefined, 'cat-a', [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions)).rejects.toThrow('LIST_NO_SPOT_AVAILABLE');
71
+ });
72
+ it('throws LIST_CATEGORY_NO_SPOT_AVAILABLE when category has no slot', async () => {
73
+ hasSlotSpy.mockResolvedValue(false);
74
+ await expect(listParticipantsService.join(LIST_ID, basePerson, undefined, 'cat-a', [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions)).rejects.toThrow('LIST_CATEGORY_NO_SPOT_AVAILABLE');
75
+ expect(hasSlotSpy).toHaveBeenCalledWith(LIST_ID, 'cat-a', baseOptions);
76
+ expect(addParticipantSpy).not.toHaveBeenCalled();
77
+ });
78
+ it('skips category check when no category provided', async () => {
79
+ const result = await listParticipantsService.join(LIST_ID, basePerson, undefined, undefined, [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions);
80
+ expect(hasSlotSpy).not.toHaveBeenCalled();
81
+ expect(result).toBe(baseCustomer);
82
+ });
83
+ it('joins successfully when category has slot', async () => {
84
+ const result = await listParticipantsService.join(LIST_ID, basePerson, 'hi', 'cat-a', [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions);
85
+ expect(hasSlotSpy).toHaveBeenCalledWith(LIST_ID, 'cat-a', baseOptions);
86
+ expect(addParticipantSpy).toHaveBeenCalled();
87
+ expect(result).toBe(baseCustomer);
88
+ });
89
+ it('throws PARENT_NOT_FOUND when parentId missing', async () => {
90
+ const opts = { ...baseOptions, parentId: undefined };
91
+ await expect(listParticipantsService.join(LIST_ID, basePerson, undefined, undefined, [{ id: 'contact-dsgvo', accepted: true }], {}, opts)).rejects.toThrow('PARENT_NOT_FOUND');
92
+ });
93
+ it('throws EMAIL_INVALID when person has no email', async () => {
94
+ await expect(listParticipantsService.join(LIST_ID, { name: 'x', prename: 'y' }, undefined, undefined, [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions)).rejects.toThrow('EMAIL_INVALID');
95
+ });
96
+ it('throws LIST_CANNOT_JOIN when participant is blocked', async () => {
97
+ singleWithoutLookupSpy.mockResolvedValue({ state: 'blocked' });
98
+ await expect(listParticipantsService.join(LIST_ID, basePerson, undefined, undefined, [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions)).rejects.toThrow('LIST_CANNOT_JOIN');
99
+ });
100
+ it('throws LIST_UNIQUE_CUSTOMER_CONFIRMED on unique list when participant exists', async () => {
101
+ listsSingleSpy.mockResolvedValue({ ...baseList, participants: { available: true, unique: true } });
102
+ singleWithoutLookupSpy.mockResolvedValue({ state: 'enlisted' });
103
+ await expect(listParticipantsService.join(LIST_ID, basePerson, undefined, undefined, [{ id: 'contact-dsgvo', accepted: true }], {}, baseOptions)).rejects.toThrow('LIST_UNIQUE_CUSTOMER_CONFIRMED');
104
+ });
105
+ });
106
+ describe('ListParticipantsService.joinManually', () => {
107
+ let listsSingleSpy;
108
+ let customerExistsSpy;
109
+ let createSpy;
110
+ const manualOptions = { user: 'user-1', app: 'app-1', company: 'lilaquadrat', project: 'homepage' };
111
+ beforeEach(() => {
112
+ listsSingleSpy = jest.spyOn(listsService, 'single').mockResolvedValue(baseList);
113
+ customerExistsSpy = jest.spyOn(customersService, 'customerExists').mockResolvedValue(true);
114
+ createSpy = jest.spyOn(listParticipantsService, 'create').mockResolvedValue({ _id: new ObjectId() });
115
+ });
116
+ afterEach(() => {
117
+ jest.restoreAllMocks();
118
+ });
119
+ it('throws LIST_NOT_FOUND when list missing', async () => {
120
+ listsSingleSpy.mockResolvedValue(undefined);
121
+ await expect(listParticipantsService.joinManually(LIST_ID, CUSTOMER_ID, 'cat-a', 'enlisted', undefined, manualOptions)).rejects.toThrow('LIST_NOT_FOUND');
122
+ });
123
+ it('throws CUSTOMER_NOT_FOUND when customer missing', async () => {
124
+ customerExistsSpy.mockResolvedValue(false);
125
+ await expect(listParticipantsService.joinManually(LIST_ID, CUSTOMER_ID, 'cat-a', 'enlisted', undefined, manualOptions)).rejects.toThrow('CUSTOMER_NOT_FOUND');
126
+ });
127
+ it('throws LIST_CATEGORY_NOT_FOUND when category not in list', async () => {
128
+ await expect(listParticipantsService.joinManually(LIST_ID, CUSTOMER_ID, 'cat-missing', 'enlisted', undefined, manualOptions)).rejects.toThrow('LIST_CATEGORY_NOT_FOUND');
129
+ });
130
+ it('throws LIST_CATEGORY_NOT_FOUND when state missing', async () => {
131
+ await expect(listParticipantsService.joinManually(LIST_ID, CUSTOMER_ID, 'cat-a', undefined, undefined, manualOptions)).rejects.toThrow('LIST_CATEGORY_NOT_FOUND');
132
+ });
133
+ it('creates participant on success', async () => {
134
+ await listParticipantsService.joinManually(LIST_ID, CUSTOMER_ID, 'cat-a', 'enlisted', 'note', manualOptions);
135
+ expect(createSpy).toHaveBeenCalled();
136
+ const [participant, user, app, , , partial] = createSpy.mock.calls[0];
137
+ expect(participant).toMatchObject({
138
+ list: LIST_ID,
139
+ user: CUSTOMER_ID,
140
+ category: 'cat-a',
141
+ note: 'note',
142
+ state: 'enlisted',
143
+ company: 'lilaquadrat',
144
+ project: 'homepage',
145
+ });
146
+ expect(user).toBe('user-1');
147
+ expect(app).toBe('app-1');
148
+ expect(partial).toBe('create-manually');
149
+ });
150
+ });
151
+ //# sourceMappingURL=listParticipantsServiceJoin.spec.js.map