mediasfu-angular 1.0.1 → 2.0.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 (474) hide show
  1. package/README.md +871 -769
  2. package/dist/README.md +870 -769
  3. package/dist/fesm2022/mediasfu-angular.mjs +13241 -3372
  4. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  5. package/dist/lib/@types/types.d.ts +22 -1
  6. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +36 -0
  7. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +51 -0
  8. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +48 -0
  9. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +62 -0
  10. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +24 -18
  11. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +59 -0
  12. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +20 -0
  13. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +35 -0
  14. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +38 -0
  15. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +24 -40
  16. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +21 -0
  17. package/dist/lib/components/display-components/control-widgets/menu-record-widget.component.d.ts +22 -0
  18. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +23 -0
  19. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +23 -0
  20. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +15 -0
  21. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +27 -0
  22. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +27 -18
  23. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +30 -45
  24. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +19 -17
  25. package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +32 -24
  26. package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +28 -16
  27. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +28 -14
  28. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +43 -22
  29. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +25 -30
  30. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +55 -62
  31. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +19 -23
  32. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +39 -39
  33. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +28 -13
  34. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +29 -23
  35. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +18 -24
  36. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +62 -0
  37. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +28 -17
  38. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +47 -38
  39. package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +35 -22
  40. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +35 -24
  41. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +258 -117
  42. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +254 -117
  43. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +312 -162
  44. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +312 -162
  45. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +310 -162
  46. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +49 -51
  47. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +6 -1
  48. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +5 -0
  49. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +27 -29
  50. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +20 -15
  51. package/dist/lib/components/message-components/message-panel/message-panel.component.d.ts +24 -0
  52. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +34 -0
  53. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +20 -35
  54. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +79 -66
  55. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +19 -1
  56. package/dist/lib/components/misc-components/welcome-page/welcome-page.component.d.ts +15 -0
  57. package/dist/lib/components/participants-components/participant-list/participant-list.component.d.ts +19 -0
  58. package/dist/lib/components/participants-components/participant-list-item/participant-list-item.component.d.ts +19 -0
  59. package/dist/lib/components/participants-components/participant-list-others/participant-list-others.component.d.ts +17 -0
  60. package/dist/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.d.ts +17 -0
  61. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +24 -0
  62. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +27 -0
  63. package/dist/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.d.ts +15 -0
  64. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +12 -0
  65. package/dist/lib/components/recording-components/standard-panel-component/standard-panel-component.component.d.ts +5 -0
  66. package/dist/lib/components/requests-components/render-request-component/render-request-component.component.d.ts +22 -0
  67. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +17 -0
  68. package/dist/lib/components/screenboard-components/screenboard/screenboard.component.d.ts +10 -0
  69. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +11 -0
  70. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +59 -0
  71. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +21 -0
  72. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +49 -0
  73. package/dist/lib/consumers/add-videos-grid.service.d.ts +49 -0
  74. package/dist/lib/consumers/auto-adjust.service.d.ts +26 -0
  75. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +18 -0
  76. package/dist/lib/consumers/change-vids.service.d.ts +131 -66
  77. package/dist/lib/consumers/check-grid.service.d.ts +32 -18
  78. package/dist/lib/consumers/check-permission.service.d.ts +25 -0
  79. package/dist/lib/consumers/check-screen-share.service.d.ts +35 -0
  80. package/dist/lib/consumers/close-and-resize.service.d.ts +102 -0
  81. package/dist/lib/consumers/compare-active-names.service.d.ts +31 -0
  82. package/dist/lib/consumers/compare-screen-states.service.d.ts +35 -0
  83. package/dist/lib/consumers/connect-ips.service.d.ts +42 -0
  84. package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
  85. package/dist/lib/consumers/connect-recv-transport.service.d.ts +33 -0
  86. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +81 -11
  87. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +96 -15
  88. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +101 -11
  89. package/dist/lib/consumers/connect-send-transport.service.d.ts +59 -1
  90. package/dist/lib/consumers/consumer-resume.service.d.ts +36 -0
  91. package/dist/lib/consumers/control-media.service.d.ts +45 -0
  92. package/dist/lib/consumers/create-send-transport.service.d.ts +149 -13
  93. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +100 -13
  94. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +75 -2
  95. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +99 -17
  96. package/dist/lib/consumers/disp-streams.service.d.ts +92 -0
  97. package/dist/lib/consumers/generate-page-content.service.d.ts +47 -0
  98. package/dist/lib/consumers/get-estimate.service.d.ts +50 -0
  99. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +38 -1
  100. package/dist/lib/consumers/get-producers-piped.service.d.ts +33 -0
  101. package/dist/lib/consumers/get-videos.service.d.ts +33 -0
  102. package/dist/lib/consumers/mix-streams.service.d.ts +22 -0
  103. package/dist/lib/consumers/on-screen-changes.service.d.ts +40 -0
  104. package/dist/lib/consumers/prepopulate-user-media.service.d.ts +99 -0
  105. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +29 -0
  106. package/dist/lib/consumers/process-consumer-transports.service.d.ts +37 -0
  107. package/dist/lib/consumers/re-port.service.d.ts +48 -0
  108. package/dist/lib/consumers/re-update-inter.service.d.ts +82 -0
  109. package/dist/lib/consumers/readjust.service.d.ts +50 -0
  110. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +36 -1
  111. package/dist/lib/consumers/receive-room-messages.service.d.ts +27 -0
  112. package/dist/lib/consumers/reorder-streams.service.d.ts +58 -0
  113. package/dist/lib/consumers/request-screen-share.service.d.ts +34 -0
  114. package/dist/lib/consumers/resume-pause-audio-streams.service.d.ts +51 -0
  115. package/dist/lib/consumers/resume-pause-streams.service.d.ts +33 -0
  116. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +76 -7
  117. package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +37 -37
  118. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +33 -0
  119. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +39 -0
  120. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +27 -0
  121. package/dist/lib/consumers/start-share-screen.service.d.ts +40 -0
  122. package/dist/lib/consumers/stop-share-screen.service.d.ts +55 -0
  123. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +148 -11
  124. package/dist/lib/consumers/stream-success-audio.service.d.ts +61 -0
  125. package/dist/lib/consumers/stream-success-screen.service.d.ts +50 -0
  126. package/dist/lib/consumers/stream-success-video.service.d.ts +58 -0
  127. package/dist/lib/consumers/switch-user-audio.service.d.ts +33 -0
  128. package/dist/lib/consumers/switch-user-video-alt.service.d.ts +32 -0
  129. package/dist/lib/consumers/switch-user-video.service.d.ts +47 -0
  130. package/dist/lib/consumers/trigger.service.d.ts +41 -0
  131. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +54 -0
  132. package/dist/lib/consumers/update-participant-audio-decibels.service.d.ts +45 -0
  133. package/dist/lib/methods/background-methods/launch-background.service.d.ts +25 -0
  134. package/dist/lib/methods/breakout-room-methods/breakout-room-updated.service.d.ts +71 -0
  135. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +24 -0
  136. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +24 -0
  137. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +44 -0
  138. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +22 -0
  139. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +75 -0
  140. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +29 -1
  141. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +20 -0
  142. package/dist/lib/methods/media-settings-methods/launch-media-settings.service.d.ts +35 -0
  143. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +22 -0
  144. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +22 -0
  145. package/dist/lib/methods/message-methods/send-message.service.d.ts +49 -0
  146. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +24 -0
  147. package/dist/lib/methods/participants-methods/message-participants.service.d.ts +46 -0
  148. package/dist/lib/methods/participants-methods/mute-participants.service.d.ts +39 -0
  149. package/dist/lib/methods/participants-methods/remove-participants.service.d.ts +45 -0
  150. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +38 -0
  151. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +32 -0
  152. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +34 -0
  153. package/dist/lib/methods/polls-methods/launch-poll.service.d.ts +20 -0
  154. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +31 -0
  155. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +24 -0
  156. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +22 -0
  157. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +63 -0
  158. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +43 -0
  159. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +27 -0
  160. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +44 -0
  161. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +45 -0
  162. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +32 -0
  163. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +53 -0
  164. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +42 -1
  165. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +51 -0
  166. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +25 -0
  167. package/dist/lib/methods/requests-methods/respond-to-requests.service.d.ts +39 -0
  168. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +25 -0
  169. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +42 -0
  170. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +100 -0
  171. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +31 -0
  172. package/dist/lib/methods/stream-methods/click-screen-share.service.d.ts +68 -0
  173. package/dist/lib/methods/stream-methods/click-video.service.d.ts +88 -0
  174. package/dist/lib/methods/stream-methods/switch-audio.service.d.ts +47 -0
  175. package/dist/lib/methods/stream-methods/switch-video-alt.service.d.ts +50 -0
  176. package/dist/lib/methods/stream-methods/switch-video.service.d.ts +56 -0
  177. package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
  178. package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
  179. package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
  180. package/dist/lib/methods/utils/format-number.service.d.ts +26 -14
  181. package/dist/lib/methods/utils/generate-random-messages.service.d.ts +33 -0
  182. package/dist/lib/methods/utils/generate-random-participants.service.d.ts +27 -0
  183. package/dist/lib/methods/utils/generate-random-polls.service.d.ts +26 -0
  184. package/dist/lib/methods/utils/generate-random-request-list.service.d.ts +36 -0
  185. package/dist/lib/methods/utils/generate-random-waiting-room-list.service.d.ts +21 -0
  186. package/dist/lib/methods/utils/get-modal-position.util.d.ts +13 -3
  187. package/dist/lib/methods/utils/get-overlay-position.util.d.ts +13 -3
  188. package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
  189. package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
  190. package/dist/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.d.ts +37 -0
  191. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +55 -0
  192. package/dist/lib/methods/utils/producer/a-params.service.d.ts +37 -0
  193. package/dist/lib/methods/utils/producer/h-params.service.d.ts +50 -0
  194. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +37 -0
  195. package/dist/lib/methods/utils/producer/v-params.service.d.ts +50 -0
  196. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +46 -0
  197. package/dist/lib/methods/utils/sleep.util.d.ts +9 -3
  198. package/dist/lib/methods/utils/sound-player.service.d.ts +21 -0
  199. package/dist/lib/methods/utils/validate-alphanumeric.service.d.ts +16 -0
  200. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +18 -0
  201. package/dist/lib/methods/waiting-methods/respond-to-waiting.service.d.ts +29 -0
  202. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +46 -0
  203. package/dist/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.d.ts +20 -0
  204. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +23 -0
  205. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +31 -0
  206. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +44 -0
  207. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +38 -0
  208. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
  209. package/dist/lib/producers/producer-emits/join-room.service.d.ts +38 -0
  210. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +80 -2
  211. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +78 -2
  212. package/dist/lib/producers/socket-receive-methods/all-waiting-room-members.service.d.ts +27 -0
  213. package/dist/lib/producers/socket-receive-methods/ban-participant.service.d.ts +36 -0
  214. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +37 -0
  215. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +29 -1
  216. package/dist/lib/producers/socket-receive-methods/disconnect.service.d.ts +26 -0
  217. package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +24 -9
  218. package/dist/lib/producers/socket-receive-methods/host-request-response.service.d.ts +31 -48
  219. package/dist/lib/producers/socket-receive-methods/meeting-ended.service.d.ts +29 -0
  220. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +23 -0
  221. package/dist/lib/producers/socket-receive-methods/meeting-time-remaining.service.d.ts +27 -0
  222. package/dist/lib/producers/socket-receive-methods/participant-requested.service.d.ts +31 -0
  223. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +25 -0
  224. package/dist/lib/producers/socket-receive-methods/producer-media-closed.service.d.ts +61 -0
  225. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +62 -0
  226. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +45 -0
  227. package/dist/lib/producers/socket-receive-methods/re-initiate-recording.service.d.ts +29 -0
  228. package/dist/lib/producers/socket-receive-methods/receive-message.service.d.ts +38 -0
  229. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +38 -0
  230. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +62 -0
  231. package/dist/lib/producers/socket-receive-methods/screen-producer-id.service.d.ts +41 -0
  232. package/dist/lib/producers/socket-receive-methods/start-records.service.d.ts +25 -0
  233. package/dist/lib/producers/socket-receive-methods/stopped-recording.service.d.ts +25 -0
  234. package/dist/lib/producers/socket-receive-methods/time-left-recording.service.d.ts +21 -0
  235. package/dist/lib/producers/socket-receive-methods/update-consuming-domains.service.d.ts +42 -0
  236. package/dist/lib/producers/socket-receive-methods/update-media-settings.service.d.ts +30 -0
  237. package/dist/lib/producers/socket-receive-methods/updated-co-host.service.d.ts +40 -0
  238. package/dist/lib/producers/socket-receive-methods/user-waiting.service.d.ts +14 -40
  239. package/dist/lib/sockets/socket-manager.service.d.ts +130 -0
  240. package/dist/public-api.d.ts +11 -1
  241. package/package.json +17 -20
  242. package/dist/esm2022/lib/@types/types.mjs +0 -2
  243. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -763
  244. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -316
  245. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -95
  246. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
  247. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -246
  248. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -73
  249. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -297
  250. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -60
  251. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -94
  252. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -100
  253. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
  254. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -298
  255. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -61
  256. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -43
  257. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -114
  258. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -114
  259. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -36
  260. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -74
  261. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -142
  262. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -265
  263. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -100
  264. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -132
  265. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -119
  266. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -106
  267. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -180
  268. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -120
  269. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -326
  270. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -165
  271. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
  272. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -111
  273. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -328
  274. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -118
  275. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -330
  276. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -95
  277. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -190
  278. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -119
  279. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -209
  280. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4189
  281. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3705
  282. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5024
  283. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5333
  284. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5023
  285. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -85
  286. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -22
  287. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -22
  288. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -132
  289. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -104
  290. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -204
  291. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -243
  292. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -147
  293. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -335
  294. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -113
  295. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -226
  296. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -63
  297. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -120
  298. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -23
  299. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -43
  300. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -100
  301. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -174
  302. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -77
  303. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -121
  304. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -85
  305. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -59
  306. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -130
  307. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -617
  308. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -380
  309. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -142
  310. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -265
  311. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1784
  312. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -296
  313. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -83
  314. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -42
  315. package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -486
  316. package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -79
  317. package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -80
  318. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -71
  319. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -229
  320. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -75
  321. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -63
  322. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -112
  323. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -113
  324. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -46
  325. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -62
  326. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -55
  327. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -86
  328. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -332
  329. package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -68
  330. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -126
  331. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -58
  332. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -45
  333. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -56
  334. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -421
  335. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -59
  336. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -70
  337. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -49
  338. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -46
  339. package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -58
  340. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -73
  341. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -63
  342. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -442
  343. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -72
  344. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -91
  345. package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -66
  346. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -157
  347. package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -123
  348. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -56
  349. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -42
  350. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -181
  351. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -67
  352. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -99
  353. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -70
  354. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -55
  355. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
  356. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -63
  357. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -61
  358. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -51
  359. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -80
  360. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -120
  361. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -132
  362. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -149
  363. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -143
  364. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -202
  365. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -87
  366. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -228
  367. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -125
  368. package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -172
  369. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -81
  370. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -39
  371. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -23
  372. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -112
  373. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -22
  374. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -22
  375. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -60
  376. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -24
  377. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -119
  378. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -28
  379. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -22
  380. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -50
  381. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -22
  382. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -23
  383. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -94
  384. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -23
  385. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -52
  386. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -57
  387. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -62
  388. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -37
  389. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -40
  390. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -49
  391. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -23
  392. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -64
  393. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -45
  394. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -34
  395. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -215
  396. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -82
  397. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -40
  398. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -86
  399. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -89
  400. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -48
  401. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -147
  402. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -74
  403. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -224
  404. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -26
  405. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -45
  406. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -26
  407. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -67
  408. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -178
  409. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -44
  410. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -110
  411. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -183
  412. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -33
  413. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -66
  414. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -76
  415. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -45
  416. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -87
  417. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -99
  418. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -52
  419. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -54
  420. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -38
  421. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -22
  422. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -21
  423. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
  424. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -59
  425. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -260
  426. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -21
  427. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -37
  428. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -24
  429. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -37
  430. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -38
  431. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -11
  432. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -42
  433. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -33
  434. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -23
  435. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -40
  436. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -69
  437. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -24
  438. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -51
  439. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -65
  440. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -232
  441. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -114
  442. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -114
  443. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -155
  444. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -147
  445. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -30
  446. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -40
  447. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -146
  448. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -26
  449. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -38
  450. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -63
  451. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -167
  452. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -44
  453. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -24
  454. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -36
  455. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -32
  456. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -29
  457. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -68
  458. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -90
  459. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -54
  460. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -38
  461. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -96
  462. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -195
  463. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -59
  464. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -45
  465. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -35
  466. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -37
  467. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -36
  468. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -63
  469. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -36
  470. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -56
  471. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -78
  472. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -73
  473. package/dist/esm2022/mediasfu-angular.mjs +0 -5
  474. package/dist/esm2022/public-api.mjs +0 -187
@@ -1,296 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { MiniCard } from '../components/display-components/mini-card/mini-card.component';
3
- import { VideoCard } from '../components/display-components/video-card/video-card.component';
4
- import { AudioCard } from '../components/display-components/audio-card/audio-card.component';
5
- import * as i0 from "@angular/core";
6
- export class AddVideosGrid {
7
- addVideosGrid = async ({ mainGridStreams, altGridStreams, numtoadd, numRows, numCols, actualRows, lastrowcols, removeAltGrid, parameters, }) => {
8
- let { getUpdatedAllParams } = parameters;
9
- parameters = { ...parameters, ...getUpdatedAllParams() };
10
- let { eventType, updateAddAltGrid, ref_participants, islevel, videoAlreadyOn, localStreamVideo, keepBackground, virtualStream, forceFullDisplay, otherGridStreams, updateOtherGridStreams, updateMiniCardsGrid, } = parameters;
11
- let newComponents = [[], []];
12
- let participant;
13
- let remoteProducerId = '';
14
- let participant_ = null;
15
- numtoadd = mainGridStreams.length;
16
- if (removeAltGrid) {
17
- updateAddAltGrid(false);
18
- }
19
- // Add participants to the main grid
20
- for (let i = 0; i < numtoadd; i++) {
21
- participant = mainGridStreams[i];
22
- remoteProducerId = participant.producerId;
23
- let pseudoName = !remoteProducerId || remoteProducerId === '';
24
- if (pseudoName) {
25
- participant_ = participant;
26
- remoteProducerId = await participant.name;
27
- if (Object.prototype.hasOwnProperty.call(participant, 'audioID') &&
28
- participant.audioID != null &&
29
- participant.audioID !== '') {
30
- newComponents[0].push({
31
- component: AudioCard,
32
- inputs: {
33
- name: participant.name,
34
- barColor: 'red',
35
- textColor: 'white',
36
- customStyle: {
37
- backgroundColor: 'transparent',
38
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
39
- },
40
- controlsPosition: 'topLeft',
41
- infoPosition: 'topRight',
42
- showWaveform: true,
43
- roundedImage: true,
44
- parameters,
45
- backgroundColor: 'transparent',
46
- showControls: eventType !== 'chat',
47
- participant,
48
- },
49
- });
50
- }
51
- else {
52
- newComponents[0].push({
53
- component: MiniCard,
54
- inputs: {
55
- initials: participant.name,
56
- fontSize: 20,
57
- customStyle: {
58
- backgroundColor: 'transparent',
59
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
60
- },
61
- },
62
- });
63
- }
64
- }
65
- else {
66
- if (remoteProducerId === 'youyou' || remoteProducerId === 'youyouyou') {
67
- let name = 'You';
68
- if (islevel === '2' && eventType !== 'chat') {
69
- name = 'You (Host)';
70
- }
71
- if (!videoAlreadyOn) {
72
- name = 'You';
73
- if (islevel == '2' && eventType != 'chat') {
74
- name = 'You (Host)';
75
- }
76
- newComponents[0].push({
77
- component: MiniCard,
78
- inputs: {
79
- initials: name,
80
- fontSize: 20,
81
- customStyle: {
82
- backgroundColor: 'transparent',
83
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
84
- },
85
- },
86
- });
87
- }
88
- else {
89
- participant = {
90
- id: 'youyouyou',
91
- stream: keepBackground && virtualStream ? virtualStream : localStreamVideo,
92
- name: 'youyouyou',
93
- muted: true,
94
- };
95
- participant_ = {
96
- id: 'youyou',
97
- videoID: 'youyou',
98
- name: 'youyouyou',
99
- stream: keepBackground && virtualStream ? virtualStream : localStreamVideo,
100
- };
101
- remoteProducerId = 'youyouyou';
102
- newComponents[0].push({
103
- component: VideoCard,
104
- inputs: {
105
- videoStream: participant.stream ? participant.stream : null,
106
- remoteProducerId: participant.stream ? participant.stream.id : null,
107
- eventType,
108
- forceFullDisplay: eventType == 'webinar' ? false : forceFullDisplay,
109
- customStyle: {
110
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
111
- },
112
- participant: participant,
113
- backgroundColor: 'transparent',
114
- showControls: false,
115
- showInfo: false,
116
- name: participant.name,
117
- doMirror: true,
118
- parameters,
119
- },
120
- });
121
- }
122
- }
123
- else {
124
- participant_ = ref_participants.find((obj) => obj.videoID === remoteProducerId);
125
- if (participant_) {
126
- newComponents[0].push({
127
- component: VideoCard,
128
- inputs: {
129
- videoStream: participant.stream ? participant.stream : null,
130
- remoteProducerId,
131
- eventType,
132
- forceFullDisplay,
133
- customStyle: {
134
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
135
- },
136
- participant: participant_,
137
- backgroundColor: 'transparent',
138
- showControls: eventType !== 'chat',
139
- showInfo: true,
140
- name: participant_.name,
141
- doMirror: false,
142
- parameters,
143
- },
144
- });
145
- }
146
- }
147
- }
148
- if (i === numtoadd - 1) {
149
- otherGridStreams[0] = newComponents[0];
150
- await updateMiniCardsGrid({
151
- rows: numRows,
152
- cols: numCols,
153
- defal: true,
154
- actualRows: actualRows,
155
- parameters,
156
- });
157
- updateOtherGridStreams(otherGridStreams);
158
- await updateMiniCardsGrid({
159
- rows: numRows,
160
- cols: numCols,
161
- defal: true,
162
- actualRows,
163
- parameters,
164
- });
165
- }
166
- }
167
- // Handle the alternate grid streams
168
- if (!removeAltGrid) {
169
- for (let i = 0; i < altGridStreams.length; i++) {
170
- participant = altGridStreams[i];
171
- remoteProducerId = participant.producerId;
172
- let participant_;
173
- let pseudoName = false;
174
- //check if there is .name in the participant object and if it is null
175
- if (Object.prototype.hasOwnProperty.call(participant, 'producerId') &&
176
- participant.producerId != null &&
177
- participant.producerId !== '') {
178
- //actual video
179
- pseudoName = false;
180
- }
181
- else {
182
- pseudoName = true;
183
- }
184
- if (pseudoName) {
185
- participant_ = participant;
186
- remoteProducerId = await participant.name;
187
- if (Object.prototype.hasOwnProperty.call(participant, 'audioID') &&
188
- participant.audioID != null &&
189
- participant.audioID !== '') {
190
- newComponents[1].push({
191
- component: AudioCard,
192
- inputs: {
193
- name: participant.name,
194
- barColor: 'red',
195
- textColor: 'white',
196
- customStyle: {
197
- backgroundColor: 'transparent',
198
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
199
- },
200
- controlsPosition: 'topLeft',
201
- infoPosition: 'topRight',
202
- showWaveform: true,
203
- roundedImage: true,
204
- parameters,
205
- backgroundColor: 'transparent',
206
- showControls: eventType !== 'chat',
207
- participant,
208
- },
209
- });
210
- }
211
- else {
212
- newComponents[1].push({
213
- component: MiniCard,
214
- inputs: {
215
- initials: participant.name,
216
- fontSize: 20,
217
- customStyle: {
218
- backgroundColor: 'transparent',
219
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
220
- },
221
- },
222
- });
223
- }
224
- }
225
- else {
226
- participant_ = ref_participants.find((obj) => obj.videoID === remoteProducerId);
227
- newComponents[1].push({
228
- component: VideoCard,
229
- inputs: {
230
- videoStream: participant_ && participant_['stream'] ? participant_['stream'] : null,
231
- remoteProducerId,
232
- eventType,
233
- forceFullDisplay,
234
- customStyle: {
235
- border: eventType !== 'broadcast' ? '2px solid black' : '0px solid black',
236
- },
237
- participant: participant_,
238
- backgroundColor: 'transparent',
239
- showControls: eventType !== 'chat',
240
- showInfo: true,
241
- name: participant.name,
242
- doMirror: false,
243
- parameters,
244
- },
245
- });
246
- }
247
- if (i === numtoadd - 1) {
248
- otherGridStreams[1] = newComponents[1];
249
- await updateMiniCardsGrid({
250
- rows: 1,
251
- cols: lastrowcols,
252
- defal: false,
253
- actualRows,
254
- parameters,
255
- });
256
- updateOtherGridStreams(otherGridStreams);
257
- await updateMiniCardsGrid({
258
- rows: 1,
259
- cols: lastrowcols,
260
- defal: false,
261
- actualRows,
262
- parameters,
263
- });
264
- }
265
- }
266
- }
267
- else {
268
- updateAddAltGrid(false);
269
- otherGridStreams[1] = [];
270
- await updateMiniCardsGrid({
271
- rows: 0,
272
- cols: 0,
273
- defal: false,
274
- actualRows: actualRows,
275
- parameters,
276
- });
277
- updateOtherGridStreams(otherGridStreams);
278
- await updateMiniCardsGrid({
279
- rows: 0,
280
- cols: 0,
281
- defal: false,
282
- actualRows,
283
- parameters,
284
- });
285
- }
286
- };
287
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AddVideosGrid, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
288
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AddVideosGrid, providedIn: 'root' });
289
- }
290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AddVideosGrid, decorators: [{
291
- type: Injectable,
292
- args: [{
293
- providedIn: 'root',
294
- }]
295
- }] });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXZpZGVvcy1ncmlkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29uc3VtZXJzL2FkZC12aWRlb3MtZ3JpZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7O0FBa0Q3RixNQUFNLE9BQU8sYUFBYTtJQUN4QixhQUFhLEdBQUcsS0FBSyxFQUFFLEVBQ3JCLGVBQWUsRUFDZixjQUFjLEVBQ2QsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFdBQVcsRUFDWCxhQUFhLEVBQ2IsVUFBVSxHQUNXLEVBQWlCLEVBQUU7UUFDeEMsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLFVBQVUsR0FBRyxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1FBRXpELElBQUksRUFDRixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixHQUFHLFVBQVUsQ0FBQztRQUVmLElBQUksYUFBYSxHQUF3QyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLFdBQWdCLENBQUM7UUFDckIsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXhCLFFBQVEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBRWxDLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUVELG9DQUFvQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBRTFDLElBQUksVUFBVSxHQUFHLENBQUMsZ0JBQWdCLElBQUksZ0JBQWdCLEtBQUssRUFBRSxDQUFDO1lBRTlELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsWUFBWSxHQUFHLFdBQVcsQ0FBQztnQkFDM0IsZ0JBQWdCLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUUxQyxJQUNFLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO29CQUM1RCxXQUFXLENBQUMsT0FBTyxJQUFJLElBQUk7b0JBQzNCLFdBQVcsQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUMxQixDQUFDO29CQUNELGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ3BCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixNQUFNLEVBQUU7NEJBQ04sSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJOzRCQUN0QixRQUFRLEVBQUUsS0FBSzs0QkFDZixTQUFTLEVBQUUsT0FBTzs0QkFDbEIsV0FBVyxFQUFFO2dDQUNYLGVBQWUsRUFBRSxhQUFhO2dDQUM5QixNQUFNLEVBQUUsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjs2QkFDMUU7NEJBQ0QsZ0JBQWdCLEVBQUUsU0FBUzs0QkFDM0IsWUFBWSxFQUFFLFVBQVU7NEJBQ3hCLFlBQVksRUFBRSxJQUFJOzRCQUNsQixZQUFZLEVBQUUsSUFBSTs0QkFDbEIsVUFBVTs0QkFDVixlQUFlLEVBQUUsYUFBYTs0QkFDOUIsWUFBWSxFQUFFLFNBQVMsS0FBSyxNQUFNOzRCQUNsQyxXQUFXO3lCQUNaO3FCQUNGLENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDcEIsU0FBUyxFQUFFLFFBQVE7d0JBQ25CLE1BQU0sRUFBRTs0QkFDTixRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUk7NEJBQzFCLFFBQVEsRUFBRSxFQUFFOzRCQUNaLFdBQVcsRUFBRTtnQ0FDWCxlQUFlLEVBQUUsYUFBYTtnQ0FDOUIsTUFBTSxFQUFFLFNBQVMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUI7NkJBQzFFO3lCQUNGO3FCQUNGLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksZ0JBQWdCLEtBQUssUUFBUSxJQUFJLGdCQUFnQixLQUFLLFdBQVcsRUFBRSxDQUFDO29CQUN0RSxJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7b0JBQ2pCLElBQUksT0FBTyxLQUFLLEdBQUcsSUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFLENBQUM7d0JBQzVDLElBQUksR0FBRyxZQUFZLENBQUM7b0JBQ3RCLENBQUM7b0JBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNwQixJQUFJLEdBQUcsS0FBSyxDQUFDO3dCQUNiLElBQUksT0FBTyxJQUFJLEdBQUcsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7NEJBQzFDLElBQUksR0FBRyxZQUFZLENBQUM7d0JBQ3RCLENBQUM7d0JBRUQsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs0QkFDcEIsU0FBUyxFQUFFLFFBQVE7NEJBQ25CLE1BQU0sRUFBRTtnQ0FDTixRQUFRLEVBQUUsSUFBSTtnQ0FDZCxRQUFRLEVBQUUsRUFBRTtnQ0FDWixXQUFXLEVBQUU7b0NBQ1gsZUFBZSxFQUFFLGFBQWE7b0NBQzlCLE1BQU0sRUFBRSxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO2lDQUMxRTs2QkFDRjt5QkFDRixDQUFDLENBQUM7b0JBQ0wsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLFdBQVcsR0FBRzs0QkFDWixFQUFFLEVBQUUsV0FBVzs0QkFDZixNQUFNLEVBQUUsY0FBYyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7NEJBQzFFLElBQUksRUFBRSxXQUFXOzRCQUNqQixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO3dCQUNGLFlBQVksR0FBRzs0QkFDYixFQUFFLEVBQUUsUUFBUTs0QkFDWixPQUFPLEVBQUUsUUFBUTs0QkFDakIsSUFBSSxFQUFFLFdBQVc7NEJBQ2pCLE1BQU0sRUFBRSxjQUFjLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjt5QkFDM0UsQ0FBQzt3QkFDRixnQkFBZ0IsR0FBRyxXQUFXLENBQUM7d0JBRS9CLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7NEJBQ3BCLFNBQVMsRUFBRSxTQUFTOzRCQUNwQixNQUFNLEVBQUU7Z0NBQ04sV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0NBQzNELGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO2dDQUNuRSxTQUFTO2dDQUNULGdCQUFnQixFQUFFLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO2dDQUNuRSxXQUFXLEVBQUU7b0NBQ1gsTUFBTSxFQUFFLFNBQVMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUI7aUNBQzFFO2dDQUNELFdBQVcsRUFBRSxXQUFXO2dDQUN4QixlQUFlLEVBQUUsYUFBYTtnQ0FDOUIsWUFBWSxFQUFFLEtBQUs7Z0NBQ25CLFFBQVEsRUFBRSxLQUFLO2dDQUNmLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQ0FDdEIsUUFBUSxFQUFFLElBQUk7Z0NBQ2QsVUFBVTs2QkFDWDt5QkFDRixDQUFDLENBQUM7b0JBQ0wsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sWUFBWSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUNyRixJQUFJLFlBQVksRUFBRSxDQUFDO3dCQUNqQixhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOzRCQUNwQixTQUFTLEVBQUUsU0FBUzs0QkFDcEIsTUFBTSxFQUFFO2dDQUNOLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJO2dDQUMzRCxnQkFBZ0I7Z0NBQ2hCLFNBQVM7Z0NBQ1QsZ0JBQWdCO2dDQUNoQixXQUFXLEVBQUU7b0NBQ1gsTUFBTSxFQUFFLFNBQVMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUI7aUNBQzFFO2dDQUNELFdBQVcsRUFBRSxZQUFZO2dDQUN6QixlQUFlLEVBQUUsYUFBYTtnQ0FDOUIsWUFBWSxFQUFFLFNBQVMsS0FBSyxNQUFNO2dDQUNsQyxRQUFRLEVBQUUsSUFBSTtnQ0FDZCxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7Z0NBQ3ZCLFFBQVEsRUFBRSxLQUFLO2dDQUNmLFVBQVU7NkJBQ1g7eUJBQ0YsQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFdkMsTUFBTSxtQkFBbUIsQ0FBQztvQkFDeEIsSUFBSSxFQUFFLE9BQU87b0JBQ2IsSUFBSSxFQUFFLE9BQU87b0JBQ2IsS0FBSyxFQUFFLElBQUk7b0JBQ1gsVUFBVSxFQUFFLFVBQVU7b0JBQ3RCLFVBQVU7aUJBQ1gsQ0FBQyxDQUFDO2dCQUVILHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sbUJBQW1CLENBQUM7b0JBQ3hCLElBQUksRUFBRSxPQUFPO29CQUNiLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxJQUFJO29CQUNYLFVBQVU7b0JBQ1YsVUFBVTtpQkFDWCxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELG9DQUFvQztRQUNwQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDL0MsV0FBVyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztnQkFFMUMsSUFBSSxZQUFZLENBQUM7Z0JBQ2pCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFFdkIscUVBQXFFO2dCQUNyRSxJQUNFLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO29CQUMvRCxXQUFXLENBQUMsVUFBVSxJQUFJLElBQUk7b0JBQzlCLFdBQVcsQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUM3QixDQUFDO29CQUNELGNBQWM7b0JBQ2QsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDckIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLENBQUM7Z0JBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDZixZQUFZLEdBQUcsV0FBVyxDQUFDO29CQUMzQixnQkFBZ0IsR0FBRyxNQUFNLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBRTFDLElBQ0UsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7d0JBQzVELFdBQVcsQ0FBQyxPQUFPLElBQUksSUFBSTt3QkFDM0IsV0FBVyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQzFCLENBQUM7d0JBQ0QsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs0QkFDcEIsU0FBUyxFQUFFLFNBQVM7NEJBQ3BCLE1BQU0sRUFBRTtnQ0FDTixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7Z0NBQ3RCLFFBQVEsRUFBRSxLQUFLO2dDQUNmLFNBQVMsRUFBRSxPQUFPO2dDQUNsQixXQUFXLEVBQUU7b0NBQ1gsZUFBZSxFQUFFLGFBQWE7b0NBQzlCLE1BQU0sRUFBRSxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO2lDQUMxRTtnQ0FDRCxnQkFBZ0IsRUFBRSxTQUFTO2dDQUMzQixZQUFZLEVBQUUsVUFBVTtnQ0FDeEIsWUFBWSxFQUFFLElBQUk7Z0NBQ2xCLFlBQVksRUFBRSxJQUFJO2dDQUNsQixVQUFVO2dDQUNWLGVBQWUsRUFBRSxhQUFhO2dDQUM5QixZQUFZLEVBQUUsU0FBUyxLQUFLLE1BQU07Z0NBQ2xDLFdBQVc7NkJBQ1o7eUJBQ0YsQ0FBQyxDQUFDO29CQUNMLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOzRCQUNwQixTQUFTLEVBQUUsUUFBUTs0QkFDbkIsTUFBTSxFQUFFO2dDQUNOLFFBQVEsRUFBRSxXQUFXLENBQUMsSUFBSTtnQ0FDMUIsUUFBUSxFQUFFLEVBQUU7Z0NBQ1osV0FBVyxFQUFFO29DQUNYLGVBQWUsRUFBRSxhQUFhO29DQUM5QixNQUFNLEVBQUUsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtpQ0FDMUU7NkJBQ0Y7eUJBQ0YsQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztvQkFDckYsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDcEIsU0FBUyxFQUFFLFNBQVM7d0JBQ3BCLE1BQU0sRUFBRTs0QkFDTixXQUFXLEVBQUUsWUFBWSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJOzRCQUNuRixnQkFBZ0I7NEJBQ2hCLFNBQVM7NEJBQ1QsZ0JBQWdCOzRCQUNoQixXQUFXLEVBQUU7Z0NBQ1gsTUFBTSxFQUFFLFNBQVMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUI7NkJBQzFFOzRCQUNELFdBQVcsRUFBRSxZQUFZOzRCQUN6QixlQUFlLEVBQUUsYUFBYTs0QkFDOUIsWUFBWSxFQUFFLFNBQVMsS0FBSyxNQUFNOzRCQUNsQyxRQUFRLEVBQUUsSUFBSTs0QkFDZCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7NEJBQ3RCLFFBQVEsRUFBRSxLQUFLOzRCQUNmLFVBQVU7eUJBQ1g7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBRUQsSUFBSSxDQUFDLEtBQUssUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN2QixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBRXZDLE1BQU0sbUJBQW1CLENBQUM7d0JBQ3hCLElBQUksRUFBRSxDQUFDO3dCQUNQLElBQUksRUFBRSxXQUFXO3dCQUNqQixLQUFLLEVBQUUsS0FBSzt3QkFDWixVQUFVO3dCQUNWLFVBQVU7cUJBQ1gsQ0FBQyxDQUFDO29CQUVILHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ3pDLE1BQU0sbUJBQW1CLENBQUM7d0JBQ3hCLElBQUksRUFBRSxDQUFDO3dCQUNQLElBQUksRUFBRSxXQUFXO3dCQUNqQixLQUFLLEVBQUUsS0FBSzt3QkFDWixVQUFVO3dCQUNWLFVBQVU7cUJBQ1gsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFekIsTUFBTSxtQkFBbUIsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFVBQVU7YUFDWCxDQUFDLENBQUM7WUFFSCxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sbUJBQW1CLENBQUM7Z0JBQ3hCLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksRUFBRSxDQUFDO2dCQUNQLEtBQUssRUFBRSxLQUFLO2dCQUNaLFVBQVU7Z0JBQ1YsVUFBVTthQUNYLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUM7dUdBclVTLGFBQWE7MkdBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWluaUNhcmQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy9taW5pLWNhcmQvbWluaS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWRlb0NhcmQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy92aWRlby1jYXJkL3ZpZGVvLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1ZGlvQ2FyZCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL2F1ZGlvLWNhcmQvYXVkaW8tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUGFydGljaXBhbnQsXG4gIFN0cmVhbSxcbiAgVXBkYXRlTWluaUNhcmRzR3JpZFR5cGUsXG4gIFVwZGF0ZU1pbmlDYXJkc0dyaWRQYXJhbWV0ZXJzLFxuICBBdWRpb0NhcmRQYXJhbWV0ZXJzLFxuICBFdmVudFR5cGUsXG4gIEN1c3RvbU1lZGlhQ29tcG9uZW50LFxufSBmcm9tICcuLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFkZFZpZGVvc0dyaWRQYXJhbWV0ZXJzXG4gIGV4dGVuZHMgVXBkYXRlTWluaUNhcmRzR3JpZFBhcmFtZXRlcnMsXG4gICAgQXVkaW9DYXJkUGFyYW1ldGVycyB7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xuICB1cGRhdGVBZGRBbHRHcmlkOiAoYWRkQWx0R3JpZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgcmVmX3BhcnRpY2lwYW50czogUGFydGljaXBhbnRbXTtcbiAgaXNsZXZlbDogc3RyaW5nO1xuICB2aWRlb0FscmVhZHlPbjogYm9vbGVhbjtcbiAgbG9jYWxTdHJlYW1WaWRlbzogTWVkaWFTdHJlYW0gfCBudWxsO1xuICBrZWVwQmFja2dyb3VuZDogYm9vbGVhbjtcbiAgdmlydHVhbFN0cmVhbTogTWVkaWFTdHJlYW0gfCBudWxsO1xuICBmb3JjZUZ1bGxEaXNwbGF5OiBib29sZWFuO1xuICBvdGhlckdyaWRTdHJlYW1zOiBDdXN0b21NZWRpYUNvbXBvbmVudFtdW107XG4gIHVwZGF0ZU90aGVyR3JpZFN0cmVhbXM6IChvdGhlckdyaWRTdHJlYW1zOiBDdXN0b21NZWRpYUNvbXBvbmVudFtdW10pID0+IHZvaWQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIHVwZGF0ZU1pbmlDYXJkc0dyaWQ6IFVwZGF0ZU1pbmlDYXJkc0dyaWRUeXBlO1xuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBBZGRWaWRlb3NHcmlkUGFyYW1ldGVycztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZFZpZGVvc0dyaWRPcHRpb25zIHtcbiAgbWFpbkdyaWRTdHJlYW1zOiAoU3RyZWFtIHwgUGFydGljaXBhbnQpW107XG4gIGFsdEdyaWRTdHJlYW1zOiAoU3RyZWFtIHwgUGFydGljaXBhbnQpW107XG4gIG51bXRvYWRkOiBudW1iZXI7XG4gIG51bVJvd3M6IG51bWJlcjtcbiAgbnVtQ29sczogbnVtYmVyO1xuICBhY3R1YWxSb3dzOiBudW1iZXI7XG4gIGxhc3Ryb3djb2xzOiBudW1iZXI7XG4gIHJlbW92ZUFsdEdyaWQ6IGJvb2xlYW47XG4gIHBhcmFtZXRlcnM6IEFkZFZpZGVvc0dyaWRQYXJhbWV0ZXJzO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBBZGRWaWRlb3NHcmlkVHlwZSA9IChvcHRpb25zOiBBZGRWaWRlb3NHcmlkT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFkZFZpZGVvc0dyaWQge1xuICBhZGRWaWRlb3NHcmlkID0gYXN5bmMgKHtcbiAgICBtYWluR3JpZFN0cmVhbXMsXG4gICAgYWx0R3JpZFN0cmVhbXMsXG4gICAgbnVtdG9hZGQsXG4gICAgbnVtUm93cyxcbiAgICBudW1Db2xzLFxuICAgIGFjdHVhbFJvd3MsXG4gICAgbGFzdHJvd2NvbHMsXG4gICAgcmVtb3ZlQWx0R3JpZCxcbiAgICBwYXJhbWV0ZXJzLFxuICB9OiBBZGRWaWRlb3NHcmlkT3B0aW9ucyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGxldCB7IGdldFVwZGF0ZWRBbGxQYXJhbXMgfSA9IHBhcmFtZXRlcnM7XG4gICAgcGFyYW1ldGVycyA9IHsgLi4ucGFyYW1ldGVycywgLi4uZ2V0VXBkYXRlZEFsbFBhcmFtcygpIH07XG5cbiAgICBsZXQge1xuICAgICAgZXZlbnRUeXBlLFxuICAgICAgdXBkYXRlQWRkQWx0R3JpZCxcbiAgICAgIHJlZl9wYXJ0aWNpcGFudHMsXG4gICAgICBpc2xldmVsLFxuICAgICAgdmlkZW9BbHJlYWR5T24sXG4gICAgICBsb2NhbFN0cmVhbVZpZGVvLFxuICAgICAga2VlcEJhY2tncm91bmQsXG4gICAgICB2aXJ0dWFsU3RyZWFtLFxuICAgICAgZm9yY2VGdWxsRGlzcGxheSxcbiAgICAgIG90aGVyR3JpZFN0cmVhbXMsXG4gICAgICB1cGRhdGVPdGhlckdyaWRTdHJlYW1zLFxuICAgICAgdXBkYXRlTWluaUNhcmRzR3JpZCxcbiAgICB9ID0gcGFyYW1ldGVycztcblxuICAgIGxldCBuZXdDb21wb25lbnRzOiB7IGNvbXBvbmVudDogYW55OyBpbnB1dHM6IGFueSB9W11bXSA9IFtbXSwgW11dO1xuICAgIGxldCBwYXJ0aWNpcGFudDogYW55O1xuICAgIGxldCByZW1vdGVQcm9kdWNlcklkID0gJyc7XG4gICAgbGV0IHBhcnRpY2lwYW50XyA9IG51bGw7XG5cbiAgICBudW10b2FkZCA9IG1haW5HcmlkU3RyZWFtcy5sZW5ndGg7XG5cbiAgICBpZiAocmVtb3ZlQWx0R3JpZCkge1xuICAgICAgdXBkYXRlQWRkQWx0R3JpZChmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIHBhcnRpY2lwYW50cyB0byB0aGUgbWFpbiBncmlkXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW10b2FkZDsgaSsrKSB7XG4gICAgICBwYXJ0aWNpcGFudCA9IG1haW5HcmlkU3RyZWFtc1tpXTtcbiAgICAgIHJlbW90ZVByb2R1Y2VySWQgPSBwYXJ0aWNpcGFudC5wcm9kdWNlcklkO1xuXG4gICAgICBsZXQgcHNldWRvTmFtZSA9ICFyZW1vdGVQcm9kdWNlcklkIHx8IHJlbW90ZVByb2R1Y2VySWQgPT09ICcnO1xuXG4gICAgICBpZiAocHNldWRvTmFtZSkge1xuICAgICAgICBwYXJ0aWNpcGFudF8gPSBwYXJ0aWNpcGFudDtcbiAgICAgICAgcmVtb3RlUHJvZHVjZXJJZCA9IGF3YWl0IHBhcnRpY2lwYW50Lm5hbWU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJ0aWNpcGFudCwgJ2F1ZGlvSUQnKSAmJlxuICAgICAgICAgIHBhcnRpY2lwYW50LmF1ZGlvSUQgIT0gbnVsbCAmJlxuICAgICAgICAgIHBhcnRpY2lwYW50LmF1ZGlvSUQgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgIG5ld0NvbXBvbmVudHNbMF0ucHVzaCh7XG4gICAgICAgICAgICBjb21wb25lbnQ6IEF1ZGlvQ2FyZCxcbiAgICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgICBuYW1lOiBwYXJ0aWNpcGFudC5uYW1lLFxuICAgICAgICAgICAgICBiYXJDb2xvcjogJ3JlZCcsXG4gICAgICAgICAgICAgIHRleHRDb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgICAgY3VzdG9tU3R5bGU6IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBldmVudFR5cGUgIT09ICdicm9hZGNhc3QnID8gJzJweCBzb2xpZCBibGFjaycgOiAnMHB4IHNvbGlkIGJsYWNrJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY29udHJvbHNQb3NpdGlvbjogJ3RvcExlZnQnLFxuICAgICAgICAgICAgICBpbmZvUG9zaXRpb246ICd0b3BSaWdodCcsXG4gICAgICAgICAgICAgIHNob3dXYXZlZm9ybTogdHJ1ZSxcbiAgICAgICAgICAgICAgcm91bmRlZEltYWdlOiB0cnVlLFxuICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgIHNob3dDb250cm9sczogZXZlbnRUeXBlICE9PSAnY2hhdCcsXG4gICAgICAgICAgICAgIHBhcnRpY2lwYW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdDb21wb25lbnRzWzBdLnB1c2goe1xuICAgICAgICAgICAgY29tcG9uZW50OiBNaW5pQ2FyZCxcbiAgICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgICBpbml0aWFsczogcGFydGljaXBhbnQubmFtZSxcbiAgICAgICAgICAgICAgZm9udFNpemU6IDIwLFxuICAgICAgICAgICAgICBjdXN0b21TdHlsZToge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICBib3JkZXI6IGV2ZW50VHlwZSAhPT0gJ2Jyb2FkY2FzdCcgPyAnMnB4IHNvbGlkIGJsYWNrJyA6ICcwcHggc29saWQgYmxhY2snLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHJlbW90ZVByb2R1Y2VySWQgPT09ICd5b3V5b3UnIHx8IHJlbW90ZVByb2R1Y2VySWQgPT09ICd5b3V5b3V5b3UnKSB7XG4gICAgICAgICAgbGV0IG5hbWUgPSAnWW91JztcbiAgICAgICAgICBpZiAoaXNsZXZlbCA9PT0gJzInICYmIGV2ZW50VHlwZSAhPT0gJ2NoYXQnKSB7XG4gICAgICAgICAgICBuYW1lID0gJ1lvdSAoSG9zdCknO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghdmlkZW9BbHJlYWR5T24pIHtcbiAgICAgICAgICAgIG5hbWUgPSAnWW91JztcbiAgICAgICAgICAgIGlmIChpc2xldmVsID09ICcyJyAmJiBldmVudFR5cGUgIT0gJ2NoYXQnKSB7XG4gICAgICAgICAgICAgIG5hbWUgPSAnWW91IChIb3N0KSc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG5ld0NvbXBvbmVudHNbMF0ucHVzaCh7XG4gICAgICAgICAgICAgIGNvbXBvbmVudDogTWluaUNhcmQsXG4gICAgICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgICAgIGluaXRpYWxzOiBuYW1lLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMCxcbiAgICAgICAgICAgICAgICBjdXN0b21TdHlsZToge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBldmVudFR5cGUgIT09ICdicm9hZGNhc3QnID8gJzJweCBzb2xpZCBibGFjaycgOiAnMHB4IHNvbGlkIGJsYWNrJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcnRpY2lwYW50ID0ge1xuICAgICAgICAgICAgICBpZDogJ3lvdXlvdXlvdScsXG4gICAgICAgICAgICAgIHN0cmVhbToga2VlcEJhY2tncm91bmQgJiYgdmlydHVhbFN0cmVhbSA/IHZpcnR1YWxTdHJlYW0gOiBsb2NhbFN0cmVhbVZpZGVvLFxuICAgICAgICAgICAgICBuYW1lOiAneW91eW91eW91JyxcbiAgICAgICAgICAgICAgbXV0ZWQ6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcGFydGljaXBhbnRfID0ge1xuICAgICAgICAgICAgICBpZDogJ3lvdXlvdScsXG4gICAgICAgICAgICAgIHZpZGVvSUQ6ICd5b3V5b3UnLFxuICAgICAgICAgICAgICBuYW1lOiAneW91eW91eW91JyxcbiAgICAgICAgICAgICAgc3RyZWFtOiBrZWVwQmFja2dyb3VuZCAmJiB2aXJ0dWFsU3RyZWFtID8gdmlydHVhbFN0cmVhbSA6IGxvY2FsU3RyZWFtVmlkZW8sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVtb3RlUHJvZHVjZXJJZCA9ICd5b3V5b3V5b3UnO1xuXG4gICAgICAgICAgICBuZXdDb21wb25lbnRzWzBdLnB1c2goe1xuICAgICAgICAgICAgICBjb21wb25lbnQ6IFZpZGVvQ2FyZCxcbiAgICAgICAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgICAgICAgdmlkZW9TdHJlYW06IHBhcnRpY2lwYW50LnN0cmVhbSA/IHBhcnRpY2lwYW50LnN0cmVhbSA6IG51bGwsXG4gICAgICAgICAgICAgICAgcmVtb3RlUHJvZHVjZXJJZDogcGFydGljaXBhbnQuc3RyZWFtID8gcGFydGljaXBhbnQuc3RyZWFtLmlkIDogbnVsbCxcbiAgICAgICAgICAgICAgICBldmVudFR5cGUsXG4gICAgICAgICAgICAgICAgZm9yY2VGdWxsRGlzcGxheTogZXZlbnRUeXBlID09ICd3ZWJpbmFyJyA/IGZhbHNlIDogZm9yY2VGdWxsRGlzcGxheSxcbiAgICAgICAgICAgICAgICBjdXN0b21TdHlsZToge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBldmVudFR5cGUgIT09ICdicm9hZGNhc3QnID8gJzJweCBzb2xpZCBibGFjaycgOiAnMHB4IHNvbGlkIGJsYWNrJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhcnRpY2lwYW50OiBwYXJ0aWNpcGFudCxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgc2hvd0NvbnRyb2xzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzaG93SW5mbzogZmFsc2UsXG4gICAgICAgICAgICAgICAgbmFtZTogcGFydGljaXBhbnQubmFtZSxcbiAgICAgICAgICAgICAgICBkb01pcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhcnRpY2lwYW50XyA9IHJlZl9wYXJ0aWNpcGFudHMuZmluZCgob2JqOiBhbnkpID0+IG9iai52aWRlb0lEID09PSByZW1vdGVQcm9kdWNlcklkKTtcbiAgICAgICAgICBpZiAocGFydGljaXBhbnRfKSB7XG4gICAgICAgICAgICBuZXdDb21wb25lbnRzWzBdLnB1c2goe1xuICAgICAgICAgICAgICBjb21wb25lbnQ6IFZpZGVvQ2FyZCxcbiAgICAgICAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgICAgICAgdmlkZW9TdHJlYW06IHBhcnRpY2lwYW50LnN0cmVhbSA/IHBhcnRpY2lwYW50LnN0cmVhbSA6IG51bGwsXG4gICAgICAgICAgICAgICAgcmVtb3RlUHJvZHVjZXJJZCxcbiAgICAgICAgICAgICAgICBldmVudFR5cGUsXG4gICAgICAgICAgICAgICAgZm9yY2VGdWxsRGlzcGxheSxcbiAgICAgICAgICAgICAgICBjdXN0b21TdHlsZToge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBldmVudFR5cGUgIT09ICdicm9hZGNhc3QnID8gJzJweCBzb2xpZCBibGFjaycgOiAnMHB4IHNvbGlkIGJsYWNrJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhcnRpY2lwYW50OiBwYXJ0aWNpcGFudF8sXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgIHNob3dDb250cm9sczogZXZlbnRUeXBlICE9PSAnY2hhdCcsXG4gICAgICAgICAgICAgICAgc2hvd0luZm86IHRydWUsXG4gICAgICAgICAgICAgICAgbmFtZTogcGFydGljaXBhbnRfLm5hbWUsXG4gICAgICAgICAgICAgICAgZG9NaXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGkgPT09IG51bXRvYWRkIC0gMSkge1xuICAgICAgICBvdGhlckdyaWRTdHJlYW1zWzBdID0gbmV3Q29tcG9uZW50c1swXTtcblxuICAgICAgICBhd2FpdCB1cGRhdGVNaW5pQ2FyZHNHcmlkKHtcbiAgICAgICAgICByb3dzOiBudW1Sb3dzLFxuICAgICAgICAgIGNvbHM6IG51bUNvbHMsXG4gICAgICAgICAgZGVmYWw6IHRydWUsXG4gICAgICAgICAgYWN0dWFsUm93czogYWN0dWFsUm93cyxcbiAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICB9KTtcblxuICAgICAgICB1cGRhdGVPdGhlckdyaWRTdHJlYW1zKG90aGVyR3JpZFN0cmVhbXMpO1xuICAgICAgICBhd2FpdCB1cGRhdGVNaW5pQ2FyZHNHcmlkKHtcbiAgICAgICAgICByb3dzOiBudW1Sb3dzLFxuICAgICAgICAgIGNvbHM6IG51bUNvbHMsXG4gICAgICAgICAgZGVmYWw6IHRydWUsXG4gICAgICAgICAgYWN0dWFsUm93cyxcbiAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgdGhlIGFsdGVybmF0ZSBncmlkIHN0cmVhbXNcbiAgICBpZiAoIXJlbW92ZUFsdEdyaWQpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWx0R3JpZFN0cmVhbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcGFydGljaXBhbnQgPSBhbHRHcmlkU3RyZWFtc1tpXTtcbiAgICAgICAgcmVtb3RlUHJvZHVjZXJJZCA9IHBhcnRpY2lwYW50LnByb2R1Y2VySWQ7XG5cbiAgICAgICAgbGV0IHBhcnRpY2lwYW50XztcbiAgICAgICAgbGV0IHBzZXVkb05hbWUgPSBmYWxzZTtcblxuICAgICAgICAvL2NoZWNrIGlmIHRoZXJlIGlzIC5uYW1lIGluIHRoZSBwYXJ0aWNpcGFudCBvYmplY3QgYW5kIGlmIGl0IGlzIG51bGxcbiAgICAgICAgaWYgKFxuICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJ0aWNpcGFudCwgJ3Byb2R1Y2VySWQnKSAmJlxuICAgICAgICAgIHBhcnRpY2lwYW50LnByb2R1Y2VySWQgIT0gbnVsbCAmJlxuICAgICAgICAgIHBhcnRpY2lwYW50LnByb2R1Y2VySWQgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgIC8vYWN0dWFsIHZpZGVvXG4gICAgICAgICAgcHNldWRvTmFtZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBzZXVkb05hbWUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBzZXVkb05hbWUpIHtcbiAgICAgICAgICBwYXJ0aWNpcGFudF8gPSBwYXJ0aWNpcGFudDtcbiAgICAgICAgICByZW1vdGVQcm9kdWNlcklkID0gYXdhaXQgcGFydGljaXBhbnQubmFtZTtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJ0aWNpcGFudCwgJ2F1ZGlvSUQnKSAmJlxuICAgICAgICAgICAgcGFydGljaXBhbnQuYXVkaW9JRCAhPSBudWxsICYmXG4gICAgICAgICAgICBwYXJ0aWNpcGFudC5hdWRpb0lEICE9PSAnJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgbmV3Q29tcG9uZW50c1sxXS5wdXNoKHtcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBBdWRpb0NhcmQsXG4gICAgICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgICAgIG5hbWU6IHBhcnRpY2lwYW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgYmFyQ29sb3I6ICdyZWQnLFxuICAgICAgICAgICAgICAgIHRleHRDb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgICAgICBjdXN0b21TdHlsZToge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBldmVudFR5cGUgIT09ICdicm9hZGNhc3QnID8gJzJweCBzb2xpZCBibGFjaycgOiAnMHB4IHNvbGlkIGJsYWNrJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbnRyb2xzUG9zaXRpb246ICd0b3BMZWZ0JyxcbiAgICAgICAgICAgICAgICBpbmZvUG9zaXRpb246ICd0b3BSaWdodCcsXG4gICAgICAgICAgICAgICAgc2hvd1dhdmVmb3JtOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJvdW5kZWRJbWFnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICBzaG93Q29udHJvbHM6IGV2ZW50VHlwZSAhPT0gJ2NoYXQnLFxuICAgICAgICAgICAgICAgIHBhcnRpY2lwYW50LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0NvbXBvbmVudHNbMV0ucHVzaCh7XG4gICAgICAgICAgICAgIGNvbXBvbmVudDogTWluaUNhcmQsXG4gICAgICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgICAgIGluaXRpYWxzOiBwYXJ0aWNpcGFudC5uYW1lLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMCxcbiAgICAgICAgICAgICAgICBjdXN0b21TdHlsZToge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBldmVudFR5cGUgIT09ICdicm9hZGNhc3QnID8gJzJweCBzb2xpZCBibGFjaycgOiAnMHB4IHNvbGlkIGJsYWNrJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhcnRpY2lwYW50XyA9IHJlZl9wYXJ0aWNpcGFudHMuZmluZCgob2JqOiBhbnkpID0+IG9iai52aWRlb0lEID09PSByZW1vdGVQcm9kdWNlcklkKTtcbiAgICAgICAgICBuZXdDb21wb25lbnRzWzFdLnB1c2goe1xuICAgICAgICAgICAgY29tcG9uZW50OiBWaWRlb0NhcmQsXG4gICAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgICAgdmlkZW9TdHJlYW06IHBhcnRpY2lwYW50XyAmJiBwYXJ0aWNpcGFudF9bJ3N0cmVhbSddID8gcGFydGljaXBhbnRfWydzdHJlYW0nXSA6IG51bGwsXG4gICAgICAgICAgICAgIHJlbW90ZVByb2R1Y2VySWQsXG4gICAgICAgICAgICAgIGV2ZW50VHlwZSxcbiAgICAgICAgICAgICAgZm9yY2VGdWxsRGlzcGxheSxcbiAgICAgICAgICAgICAgY3VzdG9tU3R5bGU6IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IGV2ZW50VHlwZSAhPT0gJ2Jyb2FkY2FzdCcgPyAnMnB4IHNvbGlkIGJsYWNrJyA6ICcwcHggc29saWQgYmxhY2snLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBwYXJ0aWNpcGFudDogcGFydGljaXBhbnRfLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgIHNob3dDb250cm9sczogZXZlbnRUeXBlICE9PSAnY2hhdCcsXG4gICAgICAgICAgICAgIHNob3dJbmZvOiB0cnVlLFxuICAgICAgICAgICAgICBuYW1lOiBwYXJ0aWNpcGFudC5uYW1lLFxuICAgICAgICAgICAgICBkb01pcnJvcjogZmFsc2UsXG4gICAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGkgPT09IG51bXRvYWRkIC0gMSkge1xuICAgICAgICAgIG90aGVyR3JpZFN0cmVhbXNbMV0gPSBuZXdDb21wb25lbnRzWzFdO1xuXG4gICAgICAgICAgYXdhaXQgdXBkYXRlTWluaUNhcmRzR3JpZCh7XG4gICAgICAgICAgICByb3dzOiAxLFxuICAgICAgICAgICAgY29sczogbGFzdHJvd2NvbHMsXG4gICAgICAgICAgICBkZWZhbDogZmFsc2UsXG4gICAgICAgICAgICBhY3R1YWxSb3dzLFxuICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHVwZGF0ZU90aGVyR3JpZFN0cmVhbXMob3RoZXJHcmlkU3RyZWFtcyk7XG4gICAgICAgICAgYXdhaXQgdXBkYXRlTWluaUNhcmRzR3JpZCh7XG4gICAgICAgICAgICByb3dzOiAxLFxuICAgICAgICAgICAgY29sczogbGFzdHJvd2NvbHMsXG4gICAgICAgICAgICBkZWZhbDogZmFsc2UsXG4gICAgICAgICAgICBhY3R1YWxSb3dzLFxuICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGVBZGRBbHRHcmlkKGZhbHNlKTtcbiAgICAgIG90aGVyR3JpZFN0cmVhbXNbMV0gPSBbXTtcblxuICAgICAgYXdhaXQgdXBkYXRlTWluaUNhcmRzR3JpZCh7XG4gICAgICAgIHJvd3M6IDAsXG4gICAgICAgIGNvbHM6IDAsXG4gICAgICAgIGRlZmFsOiBmYWxzZSxcbiAgICAgICAgYWN0dWFsUm93czogYWN0dWFsUm93cyxcbiAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgIH0pO1xuXG4gICAgICB1cGRhdGVPdGhlckdyaWRTdHJlYW1zKG90aGVyR3JpZFN0cmVhbXMpO1xuICAgICAgYXdhaXQgdXBkYXRlTWluaUNhcmRzR3JpZCh7XG4gICAgICAgIHJvd3M6IDAsXG4gICAgICAgIGNvbHM6IDAsXG4gICAgICAgIGRlZmFsOiBmYWxzZSxcbiAgICAgICAgYWN0dWFsUm93cyxcbiAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -1,83 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class AutoAdjust {
4
- /**
5
- * Adjusts values based on the provided options.
6
- *
7
- * @param {AutoAdjustOptions} options - The options for auto adjustment.
8
- * @param {number} options.n - The number of participants.
9
- * @param {string} options.eventType - The type of event (e.g., 'broadcast', 'chat', 'conference').
10
- * @param {boolean} options.shareScreenStarted - Indicates if screen sharing has started.
11
- * @param {boolean} options.shared - Indicates if something is shared.
12
- *
13
- * @returns {Promise<number[]>} A promise that resolves to an array containing the adjusted values.
14
- */
15
- async autoAdjust({ n, eventType, shareScreenStarted, shared, }) {
16
- // Default values
17
- let val1 = 6;
18
- let val2 = 12 - val1;
19
- // Calculate percentage values
20
- // Adjust values based on eventType and other conditions
21
- if (eventType === 'broadcast') {
22
- val1 = 0;
23
- val2 = 12 - val1;
24
- }
25
- else if (eventType === 'chat' ||
26
- (eventType === 'conference' && !(shareScreenStarted || shared))) {
27
- val1 = 12;
28
- val2 = 12 - val1;
29
- }
30
- else {
31
- if (shareScreenStarted || shared) {
32
- val2 = 10;
33
- val1 = 12 - val2;
34
- }
35
- else {
36
- // Adjust values based on the number of participants (n)
37
- if (n === 0) {
38
- val1 = 1;
39
- val2 = 12 - val1;
40
- }
41
- else if (n >= 1 && n < 4) {
42
- val1 = 4;
43
- val2 = 12 - val1;
44
- }
45
- else if (n >= 4 && n < 6) {
46
- val1 = 6;
47
- val2 = 12 - val1;
48
- }
49
- else if (n >= 6 && n < 9) {
50
- val1 = 6;
51
- val2 = 12 - val1;
52
- }
53
- else if (n >= 9 && n < 12) {
54
- val1 = 6;
55
- val2 = 12 - val1;
56
- }
57
- else if (n >= 12 && n < 20) {
58
- val1 = 8;
59
- val2 = 12 - val1;
60
- }
61
- else if (n >= 20 && n < 50) {
62
- val1 = 8;
63
- val2 = 12 - val1;
64
- }
65
- else {
66
- val1 = 10;
67
- val2 = 12 - val1;
68
- }
69
- }
70
- }
71
- // Return an array with adjusted values
72
- return [val1, val2];
73
- }
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AutoAdjust, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
75
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AutoAdjust, providedIn: 'root' });
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AutoAdjust, decorators: [{
78
- type: Injectable,
79
- args: [{
80
- providedIn: 'root',
81
- }]
82
- }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1hZGp1c3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb25zdW1lcnMvYXV0by1hZGp1c3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWUzQyxNQUFNLE9BQU8sVUFBVTtJQUNyQjs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUNmLENBQUMsRUFDRCxTQUFTLEVBQ1Qsa0JBQWtCLEVBQ2xCLE1BQU0sR0FDWTtRQUNsQixpQkFBaUI7UUFDakIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUVyQiw4QkFBOEI7UUFFOUIsd0RBQXdEO1FBQ3hELElBQUksU0FBUyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzlCLElBQUksR0FBRyxDQUFDLENBQUM7WUFDVCxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNuQixDQUFDO2FBQU0sSUFDTCxTQUFTLEtBQUssTUFBTTtZQUNwQixDQUFDLFNBQVMsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxDQUFDLEVBQy9ELENBQUM7WUFDRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1YsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLGtCQUFrQixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNWLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUM7aUJBQU0sQ0FBQztnQkFDTix3REFBd0Q7Z0JBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNaLElBQUksR0FBRyxDQUFDLENBQUM7b0JBQ1QsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7cUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxHQUFHLENBQUMsQ0FBQztvQkFDVCxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDbkIsQ0FBQztxQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUMzQixJQUFJLEdBQUcsQ0FBQyxDQUFDO29CQUNULElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixDQUFDO3FCQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzNCLElBQUksR0FBRyxDQUFDLENBQUM7b0JBQ1QsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7cUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxHQUFHLENBQUMsQ0FBQztvQkFDVCxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDbkIsQ0FBQztxQkFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUM3QixJQUFJLEdBQUcsQ0FBQyxDQUFDO29CQUNULElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixDQUFDO3FCQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQzdCLElBQUksR0FBRyxDQUFDLENBQUM7b0JBQ1QsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNWLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCx1Q0FBdUM7UUFDdkMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDO3VHQXRFVSxVQUFVOzJHQUFWLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50VHlwZSB9IGZyb20gJy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0FkanVzdE9wdGlvbnMge1xuICBuOiBudW1iZXI7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xuICBzaGFyZVNjcmVlblN0YXJ0ZWQ6IGJvb2xlYW47XG4gIHNoYXJlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQXV0b0FkanVzdFR5cGUgPSAob3B0aW9uczogQXV0b0FkanVzdE9wdGlvbnMpID0+IFByb21pc2U8bnVtYmVyW10+O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0FkanVzdCB7XG4gIC8qKlxuICAgKiBBZGp1c3RzIHZhbHVlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3B0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHtBdXRvQWRqdXN0T3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBhdXRvIGFkanVzdG1lbnQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLm4gLSBUaGUgbnVtYmVyIG9mIHBhcnRpY2lwYW50cy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgKGUuZy4sICdicm9hZGNhc3QnLCAnY2hhdCcsICdjb25mZXJlbmNlJykuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5zaGFyZVNjcmVlblN0YXJ0ZWQgLSBJbmRpY2F0ZXMgaWYgc2NyZWVuIHNoYXJpbmcgaGFzIHN0YXJ0ZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5zaGFyZWQgLSBJbmRpY2F0ZXMgaWYgc29tZXRoaW5nIGlzIHNoYXJlZC5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8bnVtYmVyW10+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBjb250YWluaW5nIHRoZSBhZGp1c3RlZCB2YWx1ZXMuXG4gICAqL1xuICBhc3luYyBhdXRvQWRqdXN0KHtcbiAgICBuLFxuICAgIGV2ZW50VHlwZSxcbiAgICBzaGFyZVNjcmVlblN0YXJ0ZWQsXG4gICAgc2hhcmVkLFxuICB9OiBBdXRvQWRqdXN0T3B0aW9ucyk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICAvLyBEZWZhdWx0IHZhbHVlc1xuICAgIGxldCB2YWwxID0gNjtcbiAgICBsZXQgdmFsMiA9IDEyIC0gdmFsMTtcblxuICAgIC8vIENhbGN1bGF0ZSBwZXJjZW50YWdlIHZhbHVlc1xuXG4gICAgLy8gQWRqdXN0IHZhbHVlcyBiYXNlZCBvbiBldmVudFR5cGUgYW5kIG90aGVyIGNvbmRpdGlvbnNcbiAgICBpZiAoZXZlbnRUeXBlID09PSAnYnJvYWRjYXN0Jykge1xuICAgICAgdmFsMSA9IDA7XG4gICAgICB2YWwyID0gMTIgLSB2YWwxO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBldmVudFR5cGUgPT09ICdjaGF0JyB8fFxuICAgICAgKGV2ZW50VHlwZSA9PT0gJ2NvbmZlcmVuY2UnICYmICEoc2hhcmVTY3JlZW5TdGFydGVkIHx8IHNoYXJlZCkpXG4gICAgKSB7XG4gICAgICB2YWwxID0gMTI7XG4gICAgICB2YWwyID0gMTIgLSB2YWwxO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc2hhcmVTY3JlZW5TdGFydGVkIHx8IHNoYXJlZCkge1xuICAgICAgICB2YWwyID0gMTA7XG4gICAgICAgIHZhbDEgPSAxMiAtIHZhbDI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBZGp1c3QgdmFsdWVzIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcGFydGljaXBhbnRzIChuKVxuICAgICAgICBpZiAobiA9PT0gMCkge1xuICAgICAgICAgIHZhbDEgPSAxO1xuICAgICAgICAgIHZhbDIgPSAxMiAtIHZhbDE7XG4gICAgICAgIH0gZWxzZSBpZiAobiA+PSAxICYmIG4gPCA0KSB7XG4gICAgICAgICAgdmFsMSA9IDQ7XG4gICAgICAgICAgdmFsMiA9IDEyIC0gdmFsMTtcbiAgICAgICAgfSBlbHNlIGlmIChuID49IDQgJiYgbiA8IDYpIHtcbiAgICAgICAgICB2YWwxID0gNjtcbiAgICAgICAgICB2YWwyID0gMTIgLSB2YWwxO1xuICAgICAgICB9IGVsc2UgaWYgKG4gPj0gNiAmJiBuIDwgOSkge1xuICAgICAgICAgIHZhbDEgPSA2O1xuICAgICAgICAgIHZhbDIgPSAxMiAtIHZhbDE7XG4gICAgICAgIH0gZWxzZSBpZiAobiA+PSA5ICYmIG4gPCAxMikge1xuICAgICAgICAgIHZhbDEgPSA2O1xuICAgICAgICAgIHZhbDIgPSAxMiAtIHZhbDE7XG4gICAgICAgIH0gZWxzZSBpZiAobiA+PSAxMiAmJiBuIDwgMjApIHtcbiAgICAgICAgICB2YWwxID0gODtcbiAgICAgICAgICB2YWwyID0gMTIgLSB2YWwxO1xuICAgICAgICB9IGVsc2UgaWYgKG4gPj0gMjAgJiYgbiA8IDUwKSB7XG4gICAgICAgICAgdmFsMSA9IDg7XG4gICAgICAgICAgdmFsMiA9IDEyIC0gdmFsMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWwxID0gMTA7XG4gICAgICAgICAgdmFsMiA9IDEyIC0gdmFsMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldHVybiBhbiBhcnJheSB3aXRoIGFkanVzdGVkIHZhbHVlc1xuICAgIHJldHVybiBbdmFsMSwgdmFsMl07XG4gIH1cbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CalculateRowsAndColumns {
4
- /**
5
- * Calculates the number of rows and columns needed to display a given number of items in a grid.
6
- *
7
- * @param {CalculateRowsAndColumnsOptions} options - The options for calculating rows and columns.
8
- * @param {number} options.n - The number of items to display.
9
- * @returns {[number, number]} A tuple containing the number of rows and columns.
10
- */
11
- calculateRowsAndColumns({ n }) {
12
- // Calculate the square root of n
13
- const sqrt = Math.sqrt(n);
14
- // Initialize columns based on the floor of the square root
15
- let cols = Math.floor(sqrt);
16
- // Calculate the number of rows needed to display n videos
17
- let rows = Math.ceil(n / cols);
18
- // Calculate the product of rows and columns
19
- let prod = rows * cols;
20
- // Adjust rows and columns until the product is greater than or equal to n
21
- while (prod < n) {
22
- if (cols < rows) {
23
- cols++;
24
- }
25
- else {
26
- rows++;
27
- }
28
- prod = rows * cols;
29
- }
30
- // Return an array with the calculated number of rows and columns
31
- return [rows, cols];
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalculateRowsAndColumns, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalculateRowsAndColumns, providedIn: 'root' });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalculateRowsAndColumns, decorators: [{
37
- type: Injectable,
38
- args: [{
39
- providedIn: 'root',
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXJvd3MtYW5kLWNvbHVtbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb25zdW1lcnMvY2FsY3VsYXRlLXJvd3MtYW5kLWNvbHVtbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWMzQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDOzs7Ozs7T0FNRztJQUNILHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxFQUFrQztRQUMzRCxpQ0FBaUM7UUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUxQiwyREFBMkQ7UUFDM0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QiwwREFBMEQ7UUFDMUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFL0IsNENBQTRDO1FBQzVDLElBQUksSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7UUFFdkIsMEVBQTBFO1FBQzFFLE9BQU8sSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hCLElBQUksSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsQ0FBQztZQUNULENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEVBQUUsQ0FBQztZQUNULENBQUM7WUFDRCxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDO1FBRUQsaUVBQWlFO1FBQ2pFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQzt1R0FqQ1UsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYWxjdWxhdGVSb3dzQW5kQ29sdW1uc09wdGlvbnMge1xuICBuOiBudW1iZXI7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIENhbGN1bGF0ZVJvd3NBbmRDb2x1bW5zVHlwZSA9IChcbiAgb3B0aW9uczogQ2FsY3VsYXRlUm93c0FuZENvbHVtbnNPcHRpb25zLFxuKSA9PiBbbnVtYmVyLCBudW1iZXJdO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlUm93c0FuZENvbHVtbnMge1xuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMgbmVlZGVkIHRvIGRpc3BsYXkgYSBnaXZlbiBudW1iZXIgb2YgaXRlbXMgaW4gYSBncmlkLlxuICAgKlxuICAgKiBAcGFyYW0ge0NhbGN1bGF0ZVJvd3NBbmRDb2x1bW5zT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBjYWxjdWxhdGluZyByb3dzIGFuZCBjb2x1bW5zLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5uIC0gVGhlIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5LlxuICAgKiBAcmV0dXJucyB7W251bWJlciwgbnVtYmVyXX0gQSB0dXBsZSBjb250YWluaW5nIHRoZSBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1ucy5cbiAgICovXG4gIGNhbGN1bGF0ZVJvd3NBbmRDb2x1bW5zKHsgbiB9OiBDYWxjdWxhdGVSb3dzQW5kQ29sdW1uc09wdGlvbnMpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAvLyBDYWxjdWxhdGUgdGhlIHNxdWFyZSByb290IG9mIG5cbiAgICBjb25zdCBzcXJ0ID0gTWF0aC5zcXJ0KG4pO1xuXG4gICAgLy8gSW5pdGlhbGl6ZSBjb2x1bW5zIGJhc2VkIG9uIHRoZSBmbG9vciBvZiB0aGUgc3F1YXJlIHJvb3RcbiAgICBsZXQgY29scyA9IE1hdGguZmxvb3Ioc3FydCk7XG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiByb3dzIG5lZWRlZCB0byBkaXNwbGF5IG4gdmlkZW9zXG4gICAgbGV0IHJvd3MgPSBNYXRoLmNlaWwobiAvIGNvbHMpO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHRoZSBwcm9kdWN0IG9mIHJvd3MgYW5kIGNvbHVtbnNcbiAgICBsZXQgcHJvZCA9IHJvd3MgKiBjb2xzO1xuXG4gICAgLy8gQWRqdXN0IHJvd3MgYW5kIGNvbHVtbnMgdW50aWwgdGhlIHByb2R1Y3QgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIG5cbiAgICB3aGlsZSAocHJvZCA8IG4pIHtcbiAgICAgIGlmIChjb2xzIDwgcm93cykge1xuICAgICAgICBjb2xzKys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByb3dzKys7XG4gICAgICB9XG4gICAgICBwcm9kID0gcm93cyAqIGNvbHM7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIGFuIGFycmF5IHdpdGggdGhlIGNhbGN1bGF0ZWQgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnNcbiAgICByZXR1cm4gW3Jvd3MsIGNvbHNdO1xuICB9XG59XG4iXX0=