twilio-video 2.34.0 → 2.36.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 (419) hide show
  1. package/.release.json +1 -2
  2. package/CHANGELOG.md +46 -0
  3. package/README.md +10 -11
  4. package/dist/twilio-video.js +29918 -32994
  5. package/dist/twilio-video.min.js +2 -23
  6. package/es5/cancelableroompromise.js +4 -4
  7. package/es5/cancelableroompromise.js.map +1 -1
  8. package/es5/connect.js +86 -90
  9. package/es5/connect.js.map +1 -1
  10. package/es5/createlocaltrack.js +26 -10
  11. package/es5/createlocaltrack.js.map +1 -1
  12. package/es5/createlocaltracks.js +111 -195
  13. package/es5/createlocaltracks.js.map +1 -1
  14. package/es5/data/receiver.js +16 -34
  15. package/es5/data/receiver.js.map +1 -1
  16. package/es5/data/sender.js +28 -47
  17. package/es5/data/sender.js.map +1 -1
  18. package/es5/data/transceiver.js +6 -24
  19. package/es5/data/transceiver.js.map +1 -1
  20. package/es5/data/transport.js +18 -37
  21. package/es5/data/transport.js.map +1 -1
  22. package/es5/encodingparameters.js +14 -33
  23. package/es5/encodingparameters.js.map +1 -1
  24. package/es5/eventemitter.js +2 -2
  25. package/es5/eventemitter.js.map +1 -1
  26. package/es5/eventtarget.js +12 -40
  27. package/es5/eventtarget.js.map +1 -1
  28. package/es5/index.js +21 -32
  29. package/es5/index.js.map +1 -1
  30. package/es5/insights/applicationmonitor.js +16 -18
  31. package/es5/insights/applicationmonitor.js.map +1 -1
  32. package/es5/insights/computepressuremonitor.js +33 -79
  33. package/es5/insights/computepressuremonitor.js.map +1 -1
  34. package/es5/insights/events/application.js +9 -10
  35. package/es5/insights/events/application.js.map +1 -1
  36. package/es5/insights/events/getusermedia.js +9 -10
  37. package/es5/insights/events/getusermedia.js.map +1 -1
  38. package/es5/insights/events/network.js +14 -16
  39. package/es5/insights/events/network.js.map +1 -1
  40. package/es5/insights/events/peerconnection.js +31 -44
  41. package/es5/insights/events/peerconnection.js.map +1 -1
  42. package/es5/insights/events/quality.js +13 -14
  43. package/es5/insights/events/quality.js.map +1 -1
  44. package/es5/insights/events/room.js +12 -13
  45. package/es5/insights/events/room.js.map +1 -1
  46. package/es5/insights/events/system.js +6 -7
  47. package/es5/insights/events/system.js.map +1 -1
  48. package/es5/insights/events/track.js +15 -18
  49. package/es5/insights/events/track.js.map +1 -1
  50. package/es5/insights/monitorregistry.js +10 -12
  51. package/es5/insights/monitorregistry.js.map +1 -1
  52. package/es5/insights/networkmonitor.js +17 -18
  53. package/es5/insights/networkmonitor.js.map +1 -1
  54. package/es5/insights/resourcemonitor.js +15 -17
  55. package/es5/insights/resourcemonitor.js.map +1 -1
  56. package/es5/insights/statsmonitor.js +100 -172
  57. package/es5/insights/statsmonitor.js.map +1 -1
  58. package/es5/insights/telemetry.js +40 -47
  59. package/es5/insights/telemetry.js.map +1 -1
  60. package/es5/localparticipant.js +122 -148
  61. package/es5/localparticipant.js.map +1 -1
  62. package/es5/media/track/audiotrack.js +11 -28
  63. package/es5/media/track/audiotrack.js.map +1 -1
  64. package/es5/media/track/capturevideoframes.js +21 -37
  65. package/es5/media/track/capturevideoframes.js.map +1 -1
  66. package/es5/media/track/es5/localaudiotrack.js +3 -3
  67. package/es5/media/track/es5/localaudiotrack.js.map +1 -1
  68. package/es5/media/track/es5/localdatatrack.js +3 -3
  69. package/es5/media/track/es5/localdatatrack.js.map +1 -1
  70. package/es5/media/track/es5/localvideotrack.js +3 -3
  71. package/es5/media/track/es5/localvideotrack.js.map +1 -1
  72. package/es5/media/track/index.js +17 -36
  73. package/es5/media/track/index.js.map +1 -1
  74. package/es5/media/track/localaudiotrack.js +80 -105
  75. package/es5/media/track/localaudiotrack.js.map +1 -1
  76. package/es5/media/track/localaudiotrackpublication.js +8 -25
  77. package/es5/media/track/localaudiotrackpublication.js.map +1 -1
  78. package/es5/media/track/localdatatrack.js +11 -30
  79. package/es5/media/track/localdatatrack.js.map +1 -1
  80. package/es5/media/track/localdatatrackpublication.js +8 -25
  81. package/es5/media/track/localdatatrackpublication.js.map +1 -1
  82. package/es5/media/track/localmediatrack.js +104 -129
  83. package/es5/media/track/localmediatrack.js.map +1 -1
  84. package/es5/media/track/localtrackpublication.js +24 -82
  85. package/es5/media/track/localtrackpublication.js.map +1 -1
  86. package/es5/media/track/localvideotrack.js +87 -112
  87. package/es5/media/track/localvideotrack.js.map +1 -1
  88. package/es5/media/track/localvideotrackpublication.js +8 -25
  89. package/es5/media/track/localvideotrackpublication.js.map +1 -1
  90. package/es5/media/track/mediatrack.js +71 -95
  91. package/es5/media/track/mediatrack.js.map +1 -1
  92. package/es5/media/track/noisecancellationimpl.js +71 -131
  93. package/es5/media/track/noisecancellationimpl.js.map +1 -1
  94. package/es5/media/track/receiver.js +5 -22
  95. package/es5/media/track/receiver.js.map +1 -1
  96. package/es5/media/track/remoteaudiotrack.js +16 -33
  97. package/es5/media/track/remoteaudiotrack.js.map +1 -1
  98. package/es5/media/track/remoteaudiotrackpublication.js +8 -25
  99. package/es5/media/track/remoteaudiotrackpublication.js.map +1 -1
  100. package/es5/media/track/remotedatatrack.js +18 -61
  101. package/es5/media/track/remotedatatrack.js.map +1 -1
  102. package/es5/media/track/remotedatatrackpublication.js +8 -25
  103. package/es5/media/track/remotedatatrackpublication.js.map +1 -1
  104. package/es5/media/track/remotemediatrack.js +36 -80
  105. package/es5/media/track/remotemediatrack.js.map +1 -1
  106. package/es5/media/track/remotetrackpublication.js +30 -48
  107. package/es5/media/track/remotetrackpublication.js.map +1 -1
  108. package/es5/media/track/remotevideotrack.js +94 -133
  109. package/es5/media/track/remotevideotrack.js.map +1 -1
  110. package/es5/media/track/remotevideotrackpublication.js +8 -25
  111. package/es5/media/track/remotevideotrackpublication.js.map +1 -1
  112. package/es5/media/track/sender.js +46 -83
  113. package/es5/media/track/sender.js.map +1 -1
  114. package/es5/media/track/trackpublication.js +17 -35
  115. package/es5/media/track/trackpublication.js.map +1 -1
  116. package/es5/media/track/transceiver.js +12 -30
  117. package/es5/media/track/transceiver.js.map +1 -1
  118. package/es5/media/track/videoprocessoreventobserver.js +47 -65
  119. package/es5/media/track/videoprocessoreventobserver.js.map +1 -1
  120. package/es5/media/track/videotrack.js +103 -124
  121. package/es5/media/track/videotrack.js.map +1 -1
  122. package/es5/networkqualityconfiguration.js +12 -48
  123. package/es5/networkqualityconfiguration.js.map +1 -1
  124. package/es5/noisecancellation/legacy-plugin-adapter.js +36 -0
  125. package/es5/noisecancellation/legacy-plugin-adapter.js.map +1 -0
  126. package/es5/noisecancellation/plugin.js +3 -0
  127. package/es5/noisecancellation/plugin.js.map +1 -0
  128. package/es5/noisecancellationadapter.js +93 -132
  129. package/es5/noisecancellationadapter.js.map +1 -1
  130. package/es5/participant.js +126 -179
  131. package/es5/participant.js.map +1 -1
  132. package/es5/preflight/getCombinedConnectionStats.js +44 -95
  133. package/es5/preflight/getCombinedConnectionStats.js.map +1 -1
  134. package/es5/preflight/getturncredentials.js +13 -13
  135. package/es5/preflight/getturncredentials.js.map +1 -1
  136. package/es5/preflight/makestat.js +4 -29
  137. package/es5/preflight/makestat.js.map +1 -1
  138. package/es5/preflight/mos.js +5 -5
  139. package/es5/preflight/mos.js.map +1 -1
  140. package/es5/preflight/preflighttest.js +240 -381
  141. package/es5/preflight/preflighttest.js.map +1 -1
  142. package/es5/preflight/syntheticaudio.js +8 -8
  143. package/es5/preflight/syntheticaudio.js.map +1 -1
  144. package/es5/preflight/syntheticvideo.js +13 -14
  145. package/es5/preflight/syntheticvideo.js.map +1 -1
  146. package/es5/preflight/timer.js +9 -10
  147. package/es5/preflight/timer.js.map +1 -1
  148. package/es5/queueingeventemitter.js +16 -60
  149. package/es5/queueingeventemitter.js.map +1 -1
  150. package/es5/remoteparticipant.js +33 -76
  151. package/es5/remoteparticipant.js.map +1 -1
  152. package/es5/room.js +89 -169
  153. package/es5/room.js.map +1 -1
  154. package/es5/signaling/index.js +36 -55
  155. package/es5/signaling/index.js.map +1 -1
  156. package/es5/signaling/localparticipant.js +18 -37
  157. package/es5/signaling/localparticipant.js.map +1 -1
  158. package/es5/signaling/localtrackpublication.js +28 -51
  159. package/es5/signaling/localtrackpublication.js.map +1 -1
  160. package/es5/signaling/participant.js +37 -63
  161. package/es5/signaling/participant.js.map +1 -1
  162. package/es5/signaling/recording.js +11 -29
  163. package/es5/signaling/recording.js.map +1 -1
  164. package/es5/signaling/remoteparticipant.js +6 -24
  165. package/es5/signaling/remoteparticipant.js.map +1 -1
  166. package/es5/signaling/remotetrackpublication.js +27 -53
  167. package/es5/signaling/remotetrackpublication.js.map +1 -1
  168. package/es5/signaling/room.js +40 -59
  169. package/es5/signaling/room.js.map +1 -1
  170. package/es5/signaling/track.js +52 -90
  171. package/es5/signaling/track.js.map +1 -1
  172. package/es5/signaling/v2/cancelableroomsignalingpromise.js +46 -46
  173. package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
  174. package/es5/signaling/v2/dominantspeakersignaling.js +18 -40
  175. package/es5/signaling/v2/dominantspeakersignaling.js.map +1 -1
  176. package/es5/signaling/v2/icebox.js +12 -13
  177. package/es5/signaling/v2/icebox.js.map +1 -1
  178. package/es5/signaling/v2/iceconnectionmonitor.js +28 -32
  179. package/es5/signaling/v2/iceconnectionmonitor.js.map +1 -1
  180. package/es5/signaling/v2/index.js +12 -31
  181. package/es5/signaling/v2/index.js.map +1 -1
  182. package/es5/signaling/v2/localparticipant.js +65 -85
  183. package/es5/signaling/v2/localparticipant.js.map +1 -1
  184. package/es5/signaling/v2/localtrackpublication.js +21 -39
  185. package/es5/signaling/v2/localtrackpublication.js.map +1 -1
  186. package/es5/signaling/v2/mediasignaling.js +25 -48
  187. package/es5/signaling/v2/mediasignaling.js.map +1 -1
  188. package/es5/signaling/v2/networkqualitymonitor.js +50 -97
  189. package/es5/signaling/v2/networkqualitymonitor.js.map +1 -1
  190. package/es5/signaling/v2/networkqualitysignaling.js +56 -88
  191. package/es5/signaling/v2/networkqualitysignaling.js.map +1 -1
  192. package/es5/signaling/v2/peerconnection.js +523 -648
  193. package/es5/signaling/v2/peerconnection.js.map +1 -1
  194. package/es5/signaling/v2/peerconnectionmanager.js +111 -167
  195. package/es5/signaling/v2/peerconnectionmanager.js.map +1 -1
  196. package/es5/signaling/v2/publisherhintsignaling.js +22 -42
  197. package/es5/signaling/v2/publisherhintsignaling.js.map +1 -1
  198. package/es5/signaling/v2/recording.js +8 -26
  199. package/es5/signaling/v2/recording.js.map +1 -1
  200. package/es5/signaling/v2/remoteparticipant.js +25 -43
  201. package/es5/signaling/v2/remoteparticipant.js.map +1 -1
  202. package/es5/signaling/v2/remotetrackpublication.js +7 -24
  203. package/es5/signaling/v2/remotetrackpublication.js.map +1 -1
  204. package/es5/signaling/v2/renderhintssignaling.js +40 -61
  205. package/es5/signaling/v2/renderhintssignaling.js.map +1 -1
  206. package/es5/signaling/v2/room.js +216 -280
  207. package/es5/signaling/v2/room.js.map +1 -1
  208. package/es5/signaling/v2/trackprioritysignaling.js +11 -29
  209. package/es5/signaling/v2/trackprioritysignaling.js.map +1 -1
  210. package/es5/signaling/v2/trackswitchoffsignaling.js +10 -28
  211. package/es5/signaling/v2/trackswitchoffsignaling.js.map +1 -1
  212. package/es5/signaling/v2/transcriptionsignaling.js +8 -26
  213. package/es5/signaling/v2/transcriptionsignaling.js.map +1 -1
  214. package/es5/signaling/v2/twilioconnectiontransport.js +62 -82
  215. package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
  216. package/es5/statemachine.js +75 -121
  217. package/es5/statemachine.js.map +1 -1
  218. package/es5/stats/average.js +2 -2
  219. package/es5/stats/average.js.map +1 -1
  220. package/es5/stats/icereport.js +11 -12
  221. package/es5/stats/icereport.js.map +1 -1
  222. package/es5/stats/icereportfactory.js +8 -9
  223. package/es5/stats/icereportfactory.js.map +1 -1
  224. package/es5/stats/localaudiotrackstats.js +6 -24
  225. package/es5/stats/localaudiotrackstats.js.map +1 -1
  226. package/es5/stats/localtrackstats.js +6 -24
  227. package/es5/stats/localtrackstats.js.map +1 -1
  228. package/es5/stats/localvideotrackstats.js +9 -27
  229. package/es5/stats/localvideotrackstats.js.map +1 -1
  230. package/es5/stats/networkqualityaudiostats.js +5 -22
  231. package/es5/stats/networkqualityaudiostats.js.map +1 -1
  232. package/es5/stats/networkqualitybandwidthstats.js +3 -5
  233. package/es5/stats/networkqualitybandwidthstats.js.map +1 -1
  234. package/es5/stats/networkqualityfractionloststats.js +3 -5
  235. package/es5/stats/networkqualityfractionloststats.js.map +1 -1
  236. package/es5/stats/networkqualitylatencystats.js +3 -5
  237. package/es5/stats/networkqualitylatencystats.js.map +1 -1
  238. package/es5/stats/networkqualitymediastats.js +5 -7
  239. package/es5/stats/networkqualitymediastats.js.map +1 -1
  240. package/es5/stats/networkqualityrecvstats.js +5 -22
  241. package/es5/stats/networkqualityrecvstats.js.map +1 -1
  242. package/es5/stats/networkqualitysendorrecvstats.js +6 -8
  243. package/es5/stats/networkqualitysendorrecvstats.js.map +1 -1
  244. package/es5/stats/networkqualitysendstats.js +5 -22
  245. package/es5/stats/networkqualitysendstats.js.map +1 -1
  246. package/es5/stats/networkqualitystats.js +5 -7
  247. package/es5/stats/networkqualitystats.js.map +1 -1
  248. package/es5/stats/networkqualityvideostats.js +5 -22
  249. package/es5/stats/networkqualityvideostats.js.map +1 -1
  250. package/es5/stats/peerconnectionreport.js +13 -14
  251. package/es5/stats/peerconnectionreport.js.map +1 -1
  252. package/es5/stats/peerconnectionreportfactory.js +89 -185
  253. package/es5/stats/peerconnectionreportfactory.js.map +1 -1
  254. package/es5/stats/receiverreport.js +28 -46
  255. package/es5/stats/receiverreport.js.map +1 -1
  256. package/es5/stats/receiverreportfactory.js +11 -29
  257. package/es5/stats/receiverreportfactory.js.map +1 -1
  258. package/es5/stats/remoteaudiotrackstats.js +6 -24
  259. package/es5/stats/remoteaudiotrackstats.js.map +1 -1
  260. package/es5/stats/remotetrackstats.js +6 -24
  261. package/es5/stats/remotetrackstats.js.map +1 -1
  262. package/es5/stats/remotevideotrackstats.js +7 -25
  263. package/es5/stats/remotevideotrackstats.js.map +1 -1
  264. package/es5/stats/senderorreceiverreport.js +3 -4
  265. package/es5/stats/senderorreceiverreport.js.map +1 -1
  266. package/es5/stats/senderorreceiverreportfactory.js +3 -4
  267. package/es5/stats/senderorreceiverreportfactory.js.map +1 -1
  268. package/es5/stats/senderreport.js +20 -38
  269. package/es5/stats/senderreport.js.map +1 -1
  270. package/es5/stats/senderreportfactory.js +11 -29
  271. package/es5/stats/senderreportfactory.js.map +1 -1
  272. package/es5/stats/statsreport.js +11 -12
  273. package/es5/stats/statsreport.js.map +1 -1
  274. package/es5/stats/sum.js +1 -1
  275. package/es5/stats/sum.js.map +1 -1
  276. package/es5/stats/trackstats.js +3 -4
  277. package/es5/stats/trackstats.js.map +1 -1
  278. package/es5/transceiver.js +8 -26
  279. package/es5/transceiver.js.map +1 -1
  280. package/es5/twilioconnection.js +166 -223
  281. package/es5/twilioconnection.js.map +1 -1
  282. package/es5/util/asyncvar.js +12 -14
  283. package/es5/util/asyncvar.js.map +1 -1
  284. package/es5/util/backoff.js +14 -16
  285. package/es5/util/backoff.js.map +1 -1
  286. package/es5/util/browserdetection.js +19 -35
  287. package/es5/util/browserdetection.js.map +1 -1
  288. package/es5/util/cancelablepromise.js +30 -57
  289. package/es5/util/cancelablepromise.js.map +1 -1
  290. package/es5/util/constants.js +13 -13
  291. package/es5/util/constants.js.map +1 -1
  292. package/es5/util/detectsilentaudio.js +10 -10
  293. package/es5/util/detectsilentaudio.js.map +1 -1
  294. package/es5/util/detectsilentvideo.js +12 -12
  295. package/es5/util/detectsilentvideo.js.map +1 -1
  296. package/es5/util/documentvisibilitymonitor.js +34 -41
  297. package/es5/util/documentvisibilitymonitor.js.map +1 -1
  298. package/es5/util/dynamicimport.js +13 -7
  299. package/es5/util/dynamicimport.js.map +1 -1
  300. package/es5/util/eventobserver.js +19 -39
  301. package/es5/util/eventobserver.js.map +1 -1
  302. package/es5/util/filter.js +11 -12
  303. package/es5/util/filter.js.map +1 -1
  304. package/es5/util/index.js +96 -165
  305. package/es5/util/index.js.map +1 -1
  306. package/es5/util/insightspublisher/index.js +48 -78
  307. package/es5/util/insightspublisher/index.js.map +1 -1
  308. package/es5/util/insightspublisher/null.js +9 -10
  309. package/es5/util/insightspublisher/null.js.map +1 -1
  310. package/es5/util/localmediarestartdeferreds.js +10 -11
  311. package/es5/util/localmediarestartdeferreds.js.map +1 -1
  312. package/es5/util/log.js +44 -70
  313. package/es5/util/log.js.map +1 -1
  314. package/es5/util/movingaveragedelta.js +12 -13
  315. package/es5/util/movingaveragedelta.js.map +1 -1
  316. package/es5/util/networkmonitor.js +26 -30
  317. package/es5/util/networkmonitor.js.map +1 -1
  318. package/es5/util/nullobserver.js +22 -48
  319. package/es5/util/nullobserver.js.map +1 -1
  320. package/es5/util/sdp/index.js +109 -134
  321. package/es5/util/sdp/index.js.map +1 -1
  322. package/es5/util/sdp/issue8329.js +56 -57
  323. package/es5/util/sdp/issue8329.js.map +1 -1
  324. package/es5/util/sdp/simulcast.js +55 -73
  325. package/es5/util/sdp/simulcast.js.map +1 -1
  326. package/es5/util/sdp/trackmatcher.js +14 -15
  327. package/es5/util/sdp/trackmatcher.js.map +1 -1
  328. package/es5/util/sid.js +5 -5
  329. package/es5/util/sid.js.map +1 -1
  330. package/es5/util/support.js +13 -16
  331. package/es5/util/support.js.map +1 -1
  332. package/es5/util/timeout.js +28 -39
  333. package/es5/util/timeout.js.map +1 -1
  334. package/es5/util/timeoutpromise.js +38 -84
  335. package/es5/util/timeoutpromise.js.map +1 -1
  336. package/es5/util/twilio-video-errors.js +277 -457
  337. package/es5/util/twilio-video-errors.js.map +1 -1
  338. package/es5/util/twilioerror.js +13 -57
  339. package/es5/util/twilioerror.js.map +1 -1
  340. package/es5/util/twiliowarning.js +1 -1
  341. package/es5/util/twiliowarning.js.map +1 -1
  342. package/es5/util/validate.js +13 -15
  343. package/es5/util/validate.js.map +1 -1
  344. package/es5/vendor/inherits.js +3 -5
  345. package/es5/vendor/inherits.js.map +1 -1
  346. package/es5/webaudio/audiocontext.js +8 -9
  347. package/es5/webaudio/audiocontext.js.map +1 -1
  348. package/es5/webaudio/detectsilence.js +9 -9
  349. package/es5/webaudio/detectsilence.js.map +1 -1
  350. package/es5/webaudio/workaround180748.js +15 -13
  351. package/es5/webaudio/workaround180748.js.map +1 -1
  352. package/es5/webrtc/getstats.js +242 -448
  353. package/es5/webrtc/getstats.js.map +1 -1
  354. package/es5/webrtc/getusermedia.js +1 -2
  355. package/es5/webrtc/getusermedia.js.map +1 -1
  356. package/es5/webrtc/index.js +1 -17
  357. package/es5/webrtc/index.js.map +1 -1
  358. package/es5/webrtc/rtcpeerconnection/chrome.js +102 -295
  359. package/es5/webrtc/rtcpeerconnection/chrome.js.map +1 -1
  360. package/es5/webrtc/rtcpeerconnection/firefox.js +69 -146
  361. package/es5/webrtc/rtcpeerconnection/firefox.js.map +1 -1
  362. package/es5/webrtc/rtcpeerconnection/index.js +1 -1
  363. package/es5/webrtc/rtcpeerconnection/index.js.map +1 -1
  364. package/es5/webrtc/rtcpeerconnection/safari.js +110 -192
  365. package/es5/webrtc/rtcpeerconnection/safari.js.map +1 -1
  366. package/es5/webrtc/rtcrtpsender.js +3 -4
  367. package/es5/webrtc/rtcrtpsender.js.map +1 -1
  368. package/es5/webrtc/util/index.js +28 -63
  369. package/es5/webrtc/util/index.js.map +1 -1
  370. package/es5/webrtc/util/latch.js +21 -28
  371. package/es5/webrtc/util/latch.js.map +1 -1
  372. package/es5/webrtc/util/sdp.js +41 -211
  373. package/es5/webrtc/util/sdp.js.map +1 -1
  374. package/karma/makeconf.js +48 -6
  375. package/lib/connect.js +0 -1
  376. package/lib/createlocaltrack.js +19 -3
  377. package/lib/createlocaltracks.ts +2 -2
  378. package/lib/localparticipant.js +0 -1
  379. package/lib/media/track/mediatrack.js +0 -2
  380. package/lib/media/track/noisecancellationimpl.ts +11 -5
  381. package/lib/noisecancellation/legacy-plugin-adapter.ts +54 -0
  382. package/lib/noisecancellation/plugin.ts +14 -0
  383. package/lib/noisecancellationadapter.ts +52 -50
  384. package/lib/preflight/getCombinedConnectionStats.ts +1 -1
  385. package/lib/preflight/getturncredentials.ts +2 -2
  386. package/lib/preflight/preflighttest.ts +3 -3
  387. package/lib/signaling/v2/peerconnection.js +2 -4
  388. package/lib/util/dynamicimport.js +10 -4
  389. package/lib/util/sdp/index.js +1 -2
  390. package/lib/util/sdp/issue8329.js +0 -2
  391. package/lib/util/support.js +4 -7
  392. package/lib/webrtc/getstats.js +6 -21
  393. package/lib/webrtc/index.js +0 -16
  394. package/lib/webrtc/rtcpeerconnection/chrome.js +13 -123
  395. package/lib/webrtc/rtcpeerconnection/firefox.js +5 -6
  396. package/lib/webrtc/rtcpeerconnection/safari.js +9 -19
  397. package/lib/webrtc/util/sdp.js +13 -194
  398. package/package.json +17 -14
  399. package/rollup.config.mjs +85 -0
  400. package/tsconfig.json +5 -5
  401. package/es5/webrtc/mediastream.js +0 -11
  402. package/es5/webrtc/mediastream.js.map +0 -1
  403. package/es5/webrtc/mediastreamtrack.js +0 -11
  404. package/es5/webrtc/mediastreamtrack.js.map +0 -1
  405. package/es5/webrtc/rtcicecandidate.js +0 -11
  406. package/es5/webrtc/rtcicecandidate.js.map +0 -1
  407. package/es5/webrtc/rtcsessiondescription/chrome.js +0 -43
  408. package/es5/webrtc/rtcsessiondescription/chrome.js.map +0 -1
  409. package/es5/webrtc/rtcsessiondescription/firefox.js +0 -4
  410. package/es5/webrtc/rtcsessiondescription/firefox.js.map +0 -1
  411. package/es5/webrtc/rtcsessiondescription/index.js +0 -22
  412. package/es5/webrtc/rtcsessiondescription/index.js.map +0 -1
  413. package/lib/webrtc/mediastream.js +0 -10
  414. package/lib/webrtc/mediastreamtrack.js +0 -10
  415. package/lib/webrtc/rtcicecandidate.js +0 -10
  416. package/lib/webrtc/rtcsessiondescription/chrome.js +0 -39
  417. package/lib/webrtc/rtcsessiondescription/firefox.js +0 -4
  418. package/lib/webrtc/rtcsessiondescription/index.js +0 -21
  419. package/src/twilio-video.js +0 -16
@@ -1,29 +1,14 @@
1
1
  'use strict';
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var StateMachine = require('../../statemachine');
18
- var TwilioConnection = require('../../twilioconnection');
19
- var DefaultBackoff = require('../../util/backoff');
20
- var reconnectBackoffConfig = require('../../util/constants').reconnectBackoffConfig;
21
- var Timeout = require('../../util/timeout');
22
- var _a = require('../../util/constants'), SDK_NAME = _a.SDK_NAME, SDK_VERSION = _a.SDK_VERSION, SDP_FORMAT = _a.SDP_FORMAT;
23
- var _b = require('../../util'), createBandwidthProfilePayload = _b.createBandwidthProfilePayload, createMediaSignalingPayload = _b.createMediaSignalingPayload, createMediaWarningsPayload = _b.createMediaWarningsPayload, createSubscribePayload = _b.createSubscribePayload, getUserAgent = _b.getUserAgent, isNonArrayObject = _b.isNonArrayObject;
24
- var _c = require('../../util/twilio-video-errors'), createTwilioError = _c.createTwilioError, RoomCompletedError = _c.RoomCompletedError, SignalingConnectionError = _c.SignalingConnectionError, SignalingServerBusyError = _c.SignalingServerBusyError;
25
- var ICE_VERSION = 1;
26
- var RSP_VERSION = 2;
2
+ const StateMachine = require('../../statemachine');
3
+ const TwilioConnection = require('../../twilioconnection');
4
+ const DefaultBackoff = require('../../util/backoff');
5
+ const { reconnectBackoffConfig } = require('../../util/constants');
6
+ const Timeout = require('../../util/timeout');
7
+ const { SDK_NAME, SDK_VERSION, SDP_FORMAT } = require('../../util/constants');
8
+ const { createBandwidthProfilePayload, createMediaSignalingPayload, createMediaWarningsPayload, createSubscribePayload, getUserAgent, isNonArrayObject } = require('../../util');
9
+ const { createTwilioError, RoomCompletedError, SignalingConnectionError, SignalingServerBusyError, } = require('../../util/twilio-video-errors');
10
+ const ICE_VERSION = 1;
11
+ const RSP_VERSION = 2;
27
12
  /*
28
13
  TwilioConnectionTransport States
29
14
  ----------------
@@ -47,7 +32,7 @@ TwilioConnectionTransport States
47
32
  +------------------------------+
48
33
 
49
34
  */
50
- var states = {
35
+ const states = {
51
36
  connecting: [
52
37
  'connected',
53
38
  'disconnected'
@@ -69,8 +54,7 @@ var states = {
69
54
  * @emits TwilioConnectionTransport#connected
70
55
  * @emits TwilioConnectionTransport#message
71
56
  */
72
- var TwilioConnectionTransport = /** @class */ (function (_super) {
73
- __extends(TwilioConnectionTransport, _super);
57
+ class TwilioConnectionTransport extends StateMachine {
74
58
  /**
75
59
  * Construct a {@link TwilioConnectionTransport}.
76
60
  * @param {?string} name
@@ -80,19 +64,18 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
80
64
  * @param {string} wsServer
81
65
  * @param {object} [options]
82
66
  */
83
- function TwilioConnectionTransport(name, accessToken, localParticipant, peerConnectionManager, wsServer, options) {
84
- var _this = this;
67
+ constructor(name, accessToken, localParticipant, peerConnectionManager, wsServer, options) {
85
68
  options = Object.assign({
86
69
  Backoff: DefaultBackoff,
87
- TwilioConnection: TwilioConnection,
70
+ TwilioConnection,
88
71
  iceServers: null,
89
72
  trackPriority: true,
90
73
  trackSwitchOff: true,
91
74
  renderHints: true,
92
75
  userAgent: getUserAgent()
93
76
  }, options);
94
- _this = _super.call(this, 'connecting', states) || this;
95
- Object.defineProperties(_this, {
77
+ super('connecting', states);
78
+ Object.defineProperties(this, {
96
79
  _accessToken: {
97
80
  value: accessToken
98
81
  },
@@ -179,15 +162,14 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
179
162
  value: wsServer
180
163
  }
181
164
  });
182
- setupTransport(_this);
183
- return _this;
165
+ setupTransport(this);
184
166
  }
185
167
  /**
186
168
  * Create a Connect, Sync or Disconnect RSP message.
187
169
  * @private
188
170
  * @returns {?object}
189
171
  */
190
- TwilioConnectionTransport.prototype._createConnectOrSyncOrDisconnectMessage = function () {
172
+ _createConnectOrSyncOrDisconnectMessage() {
191
173
  if (this.state === 'connected') {
192
174
  return null;
193
175
  }
@@ -198,15 +180,15 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
198
180
  version: RSP_VERSION
199
181
  };
200
182
  }
201
- var type = {
183
+ const type = {
202
184
  connecting: 'connect',
203
185
  syncing: 'sync'
204
186
  }[this.state];
205
- var message = {
187
+ const message = {
206
188
  name: this._name,
207
189
  participant: this._localParticipant.getState(),
208
190
  peer_connections: this._peerConnectionManager.getStates(),
209
- type: type,
191
+ type,
210
192
  version: RSP_VERSION
211
193
  };
212
194
  if (message.type === 'connect') {
@@ -235,36 +217,36 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
235
217
  message.session = this._session;
236
218
  }
237
219
  return message;
238
- };
220
+ }
239
221
  /**
240
222
  * Create an "ice" message.
241
223
  * @private
242
224
  */
243
- TwilioConnectionTransport.prototype._createIceMessage = function () {
225
+ _createIceMessage() {
244
226
  return {
245
227
  edge: 'roaming', // roaming here means use same edge as signaling.
246
228
  token: this._accessToken,
247
229
  type: 'ice',
248
230
  version: ICE_VERSION
249
231
  };
250
- };
232
+ }
251
233
  /**
252
234
  * Send a Connect, Sync or Disconnect RSP message.
253
235
  * @private
254
236
  */
255
- TwilioConnectionTransport.prototype._sendConnectOrSyncOrDisconnectMessage = function () {
256
- var message = this._createConnectOrSyncOrDisconnectMessage();
237
+ _sendConnectOrSyncOrDisconnectMessage() {
238
+ const message = this._createConnectOrSyncOrDisconnectMessage();
257
239
  if (message) {
258
240
  this._twilioConnection.sendMessage(message);
259
241
  }
260
- };
242
+ }
261
243
  /**
262
244
  * Disconnect the {@link TwilioConnectionTransport}. Returns true if calling the method resulted
263
245
  * in disconnection.
264
246
  * @param {TwilioError} [error]
265
247
  * @returns {boolean}
266
248
  */
267
- TwilioConnectionTransport.prototype.disconnect = function (error) {
249
+ disconnect(error) {
268
250
  if (this.state !== 'disconnected') {
269
251
  this.preempt('disconnected', null, [error]);
270
252
  this._sendConnectOrSyncOrDisconnectMessage();
@@ -272,14 +254,14 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
272
254
  return true;
273
255
  }
274
256
  return false;
275
- };
257
+ }
276
258
  /**
277
259
  * Publish an RSP Update. Returns true if calling the method resulted in
278
260
  * publishing (or eventually publishing) the update.
279
261
  * @param {object} update
280
262
  * @returns {boolean}
281
263
  */
282
- TwilioConnectionTransport.prototype.publish = function (update) {
264
+ publish(update) {
283
265
  switch (this.state) {
284
266
  case 'connected':
285
267
  this._twilioConnection.sendMessage(Object.assign({
@@ -296,7 +278,7 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
296
278
  default:
297
279
  return false;
298
280
  }
299
- };
281
+ }
300
282
  /**
301
283
  * Publish (or queue) an event to the Insights gateway.
302
284
  * @param {string} group - Event group name
@@ -305,30 +287,30 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
305
287
  * @param {object} payload - Event payload
306
288
  * @returns {void}
307
289
  */
308
- TwilioConnectionTransport.prototype.publishEvent = function (group, name, level, payload) {
309
- this._eventObserver.emit('event', { group: group, name: name, level: level, payload: payload });
310
- };
290
+ publishEvent(group, name, level, payload) {
291
+ this._eventObserver.emit('event', { group, name, level, payload });
292
+ }
311
293
  /**
312
294
  * Sync the {@link TwilioConnectionTransport}. Returns true if calling the method resulted in
313
295
  * syncing.
314
296
  * @returns {boolean}
315
297
  */
316
- TwilioConnectionTransport.prototype.sync = function () {
298
+ sync() {
317
299
  if (this.state === 'connected') {
318
300
  this.preempt('syncing');
319
301
  this._sendConnectOrSyncOrDisconnectMessage();
320
302
  return true;
321
303
  }
322
304
  return false;
323
- };
305
+ }
324
306
  /**
325
307
  * @private
326
308
  * @returns {void}
327
309
  */
328
- TwilioConnectionTransport.prototype._setSession = function (session, sessionTimeout) {
310
+ _setSession(session, sessionTimeout) {
329
311
  this._session = session;
330
312
  this._sessionTimeoutMS = sessionTimeout * 1000;
331
- };
313
+ }
332
314
  /**
333
315
  * Determines if we should attempt reconnect.
334
316
  * returns a Promise to wait on before attempting to
@@ -336,8 +318,7 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
336
318
  * @private
337
319
  * @returns {Promise<void>}
338
320
  */
339
- TwilioConnectionTransport.prototype._getReconnectTimer = function () {
340
- var _this = this;
321
+ _getReconnectTimer() {
341
322
  if (this._sessionTimeoutMS === 0) {
342
323
  // this means either we have never connected.
343
324
  // or we timed out while trying to reconnect
@@ -346,35 +327,34 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
346
327
  }
347
328
  // start session timer
348
329
  if (!this._sessionTimer) {
349
- this._sessionTimer = new Timeout(function () {
330
+ this._sessionTimer = new Timeout(() => {
350
331
  // ensure that _clearReconnectTimer wasn't
351
332
  // called while we were waiting.
352
- if (_this._sessionTimer) {
333
+ if (this._sessionTimer) {
353
334
  // do not allow any more reconnect attempts.
354
- _this._sessionTimeoutMS = 0;
335
+ this._sessionTimeoutMS = 0;
355
336
  }
356
337
  }, this._sessionTimeoutMS);
357
338
  }
358
339
  // return promise that waits with exponential backoff.
359
- return new Promise(function (resolve) {
360
- _this._reconnectBackoff.backoff(resolve);
340
+ return new Promise(resolve => {
341
+ this._reconnectBackoff.backoff(resolve);
361
342
  });
362
- };
343
+ }
363
344
  /**
364
345
  * clears the session reconnect timer.
365
346
  *
366
347
  * @private
367
348
  * @returns {void}
368
349
  */
369
- TwilioConnectionTransport.prototype._clearReconnectTimer = function () {
350
+ _clearReconnectTimer() {
370
351
  this._reconnectBackoff.reset();
371
352
  if (this._sessionTimer) {
372
353
  this._sessionTimer.clear();
373
354
  this._sessionTimer = null;
374
355
  }
375
- };
376
- return TwilioConnectionTransport;
377
- }(StateMachine));
356
+ }
357
+ }
378
358
  /**
379
359
  * @event TwilioConnectionTransport#connected
380
360
  * @param {object} initialState
@@ -384,8 +364,8 @@ var TwilioConnectionTransport = /** @class */ (function (_super) {
384
364
  * @param {object} peerConnections
385
365
  */
386
366
  function reducePeerConnections(peerConnections) {
387
- return Array.from(peerConnections.reduce(function (peerConnectionsById, update) {
388
- var reduced = peerConnectionsById.get(update.id) || update;
367
+ return Array.from(peerConnections.reduce((peerConnectionsById, update) => {
368
+ const reduced = peerConnectionsById.get(update.id) || update;
389
369
  // First, reduce the top-level `description` property.
390
370
  if (!reduced.description && update.description) {
391
371
  reduced.description = update.description;
@@ -410,7 +390,7 @@ function reducePeerConnections(peerConnections) {
410
390
  }, new Map()).values());
411
391
  }
412
392
  function reduceUpdates(updates) {
413
- return updates.reduce(function (reduced, update) {
393
+ return updates.reduce((reduced, update) => {
414
394
  // First, reduce the top-level `participant` property.
415
395
  if (!reduced.participant && update.participant) {
416
396
  reduced.participant = update.participant;
@@ -439,14 +419,14 @@ function setupTransport(transport) {
439
419
  if (transport._twilioConnection) {
440
420
  transport._twilioConnection.removeListener('message', handleMessage);
441
421
  }
442
- var _iceServersStatus = transport._iceServersStatus, _options = transport._options, _wsServer = transport._wsServer, state = transport.state;
443
- var TwilioConnection = _options.TwilioConnection;
444
- var twilioConnection = new TwilioConnection(_wsServer, Object.assign({
422
+ const { _iceServersStatus, _options, _wsServer, state } = transport;
423
+ const { TwilioConnection } = _options;
424
+ const twilioConnection = new TwilioConnection(_wsServer, Object.assign({
445
425
  helloBody: state === 'connecting' && _iceServersStatus === 'acquire'
446
426
  ? transport._createIceMessage()
447
427
  : transport._createConnectOrSyncOrDisconnectMessage()
448
428
  }, _options));
449
- twilioConnection.once('close', function (reason) {
429
+ twilioConnection.once('close', reason => {
450
430
  if (reason === TwilioConnection.CloseReason.LOCAL) {
451
431
  disconnect();
452
432
  }
@@ -465,9 +445,9 @@ function setupTransport(transport) {
465
445
  transport.disconnect();
466
446
  return;
467
447
  }
468
- var reconnectTimer = transport._getReconnectTimer();
448
+ const reconnectTimer = transport._getReconnectTimer();
469
449
  if (!reconnectTimer) {
470
- var twilioError = error.message === TwilioConnection.CloseReason.BUSY
450
+ const twilioError = error.message === TwilioConnection.CloseReason.BUSY
471
451
  ? new SignalingServerBusyError()
472
452
  : new SignalingConnectionError();
473
453
  transport.disconnect(twilioError);
@@ -507,7 +487,7 @@ function setupTransport(transport) {
507
487
  case 'connecting':
508
488
  switch (message.type) {
509
489
  case 'iced':
510
- transport._options.onIced(message.ice_servers).then(function () {
490
+ transport._options.onIced(message.ice_servers).then(() => {
511
491
  transport._sendConnectOrSyncOrDisconnectMessage();
512
492
  });
513
493
  return;
@@ -557,11 +537,11 @@ function setupTransport(transport) {
557
537
  transport.on('stateChanged', function stateChanged(state) {
558
538
  switch (state) {
559
539
  case 'connected': {
560
- var updates = transport._updatesToSend.splice(0);
540
+ const updates = transport._updatesToSend.splice(0);
561
541
  if (updates.length) {
562
542
  transport.publish(reduceUpdates(updates));
563
543
  }
564
- transport._updatesReceived.splice(0).forEach(function (update) { return transport.emit('message', update); });
544
+ transport._updatesReceived.splice(0).forEach(update => transport.emit('message', update));
565
545
  return;
566
546
  }
567
547
  case 'disconnected':
@@ -576,8 +556,8 @@ function setupTransport(transport) {
576
556
  return;
577
557
  }
578
558
  });
579
- var _options = transport._options, _iceServersStatus = transport._iceServersStatus;
580
- var iceServers = _options.iceServers, onIced = _options.onIced;
559
+ const { _options, _iceServersStatus } = transport;
560
+ const { iceServers, onIced } = _options;
581
561
  if (_iceServersStatus === 'overrode') {
582
562
  onIced(iceServers).then(createOrResetTwilioConnection);
583
563
  }
@@ -1 +1 @@
1
- {"version":3,"file":"twilioconnectiontransport.js","sourceRoot":"","sources":["../../../lib/signaling/v2/twilioconnectiontransport.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"twilioconnectiontransport.js","sourceRoot":"","sources":["../../../lib/signaling/v2/twilioconnectiontransport.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACrD,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnE,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC9C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAE9E,MAAM,EACJ,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EACjB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,GACzB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAE9C,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAEF,MAAM,MAAM,GAAG;IACb,UAAU,EAAE;QACV,WAAW;QACX,cAAc;KACf;IACD,SAAS,EAAE;QACT,cAAc;QACd,SAAS;KACV;IACD,OAAO,EAAE;QACP,WAAW;QACX,cAAc;KACf;IACD,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,yBAA0B,SAAQ,YAAY;IAClD;;;;;;;;OAQG;IACH,YAAY,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO;QACvF,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,cAAc;YACvB,gBAAgB;YAChB,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,YAAY,EAAE;SAC1B,EAAE,OAAO,CAAC,CAAC;QACZ,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE5B,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC5B,YAAY,EAAE;gBACZ,KAAK,EAAE,WAAW;aACnB;YACD,kBAAkB,EAAE;gBAClB,KAAK,EAAE,OAAO,CAAC,iBAAiB;aACjC;YACD,sBAAsB,EAAE;gBACtB,KAAK,EAAE,OAAO,CAAC,qBAAqB;aACrC;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,OAAO,CAAC,gBAAgB;aAChC;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,OAAO,CAAC,eAAe;aAC/B;YACD,sBAAsB,EAAE;gBACtB,KAAK,EAAE,OAAO,CAAC,qBAAqB;aACrC;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,aAAa;gBAC5B,QAAQ,EAAE,KAAK;aAChB;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,OAAO,CAAC,WAAW;aAC3B;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;oBACtC,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS;aACd;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,gBAAgB;aACxB;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI;aACZ;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,cAAc;aAC1E;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,OAAO,CAAC,cAAc;aAC9B;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,OAAO;aACf;YACD,sBAAsB,EAAE;gBACtB,KAAK,EAAE,qBAAqB;aAC7B;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,CAAC,EAAE,yDAAyD;gBACnE,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;aACnD;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;aACf;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,aAAa;aAC7B;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,OAAO,CAAC,cAAc;aAC9B;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;aACf;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,EAAE;aACV;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,EAAE;aACV;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,OAAO,CAAC,SAAS;aACzB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,QAAQ;aAChB;SACF,CAAC,CAAC;QAGH,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,uCAAuC;QACrC,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,WAAW;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,MAAM;SAChB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEd,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YAC9C,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE;YACzD,IAAI;YACJ,OAAO,EAAE,WAAW;SACrB,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAE7C,OAAO,CAAC,SAAS,GAAG;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC;YAEF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,OAAO,CAAC,iBAAiB,GAAG,6BAA6B,CACvD,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,CAAC,WAAW,CAAC,cAAc,GAAG,0BAA0B,CAC7D,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1B,CAAC;YAED,OAAO,CAAC,eAAe,GAAG,2BAA2B,CACnD,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAE/B,OAAO,CAAC,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACxE,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;YAC5B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QACpC,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QACpC,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,SAAS,EAAE,iDAAiD;YAClE,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,qCAAqC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,uCAAuC,EAAE,CAAC;QAC/D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAK;QACd,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,qCAAqC,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAM;QACZ,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;oBACtB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,WAAW;iBACrB,EAAE,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS;gBACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,KAAK,cAAc,CAAC;YACpB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO;QACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,CAAC,qCAAqC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,cAAc;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,cAAc,GAAG,IAAI,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB;QAChB,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;YACjC,6CAA6C;YAC7C,4CAA4C;YAC5C,8CAA8C;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;gBACpC,0CAA0C;gBAC1C,gCAAgC;gBAChC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,4CAA4C;oBAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7B,CAAC;QAED,sDAAsD;QACtD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,oBAAoB;QAClB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AAEH;;;GAGG;AAEH,SAAS,qBAAqB,CAAC,eAAe;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE;QACvE,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC;QAE7D,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC/D,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QAC3B,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,mBAAmB,CAAC;IAC7B,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CAAC,OAAO;IAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC/D,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,wBAAwB;QACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACzD,OAAO,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC/D,OAAO,CAAC,gBAAgB,GAAG,qBAAqB,CAC9C,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,SAAS,cAAc,CAAC,SAAS;IAC/B,SAAS,6BAA6B;QACpC,IAAI,SAAS,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAChC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QACpE,MAAM,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;QAEtC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACrE,SAAS,EAAE,KAAK,KAAK,YAAY,IAAI,iBAAiB,KAAK,SAAS;gBAClE,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE;gBAC/B,CAAC,CAAC,SAAS,CAAC,uCAAuC,EAAE;SACxD,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEd,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;YACtC,IAAI,MAAM,KAAK,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAClD,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC9C,SAAS,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IACjD,CAAC;IAED,SAAS,UAAU,CAAC,KAAK;QACvB,IAAI,SAAS,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,WAAW,CAAC,IAAI;gBACrE,CAAC,CAAC,IAAI,wBAAwB,EAAE;gBAChC,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC;YACnC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACpC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAED,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,aAAa,CAAC,OAAO;QAC5B,IAAI,SAAS,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,QAAQ,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,WAAW;gBACd,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,WAAW,CAAC;oBACjB,KAAK,QAAQ,CAAC;oBACd,KAAK,QAAQ,CAAC;oBACd,KAAK,SAAS;wBACZ,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACnC,OAAO;oBACT,KAAK,cAAc;wBACjB,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW;4BACjD,CAAC,CAAC,IAAI,kBAAkB,EAAE;4BAC1B,CAAC,CAAC,IAAI,CAAC,CAAC;wBACV,OAAO;oBACT;wBACE,cAAc;wBACd,OAAO;gBACX,CAAC;YACH,KAAK,YAAY;gBACf,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,MAAM;wBACT,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4BACvD,SAAS,CAAC,qCAAqC,EAAE,CAAC;wBACpD,CAAC,CAAC,CAAC;wBACH,OAAO;oBACT,KAAK,WAAW;wBACd,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBACxE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;wBACrC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC/B,OAAO;oBACT,KAAK,QAAQ,CAAC;oBACd,KAAK,QAAQ;wBACX,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACzC,OAAO;oBACT,KAAK,cAAc;wBACjB,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW;4BACjD,CAAC,CAAC,IAAI,kBAAkB,EAAE;4BAC1B,CAAC,CAAC,IAAI,CAAC,CAAC;wBACV,OAAO;oBACT;wBACE,cAAc;wBACd,OAAO;gBACX,CAAC;YACH,KAAK,SAAS;gBACZ,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,WAAW,CAAC;oBACjB,KAAK,QAAQ;wBACX,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACzC,OAAO;oBACT,KAAK,QAAQ;wBACX,SAAS,CAAC,oBAAoB,EAAE,CAAC;wBACjC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACnC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC/B,OAAO;oBACT,KAAK,cAAc;wBACjB,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW;4BACjD,CAAC,CAAC,IAAI,kBAAkB,EAAE;4BAC1B,CAAC,CAAC,IAAI,CAAC,CAAC;wBACV,OAAO;oBACT;wBACE,cAAc;wBACd,OAAO;gBACX,CAAC;YACH;gBACE,aAAa;gBACb,OAAO;QACX,CAAC;IACH,CAAC;IAED,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,YAAY,CAAC,KAAK;QACtD,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YACD,KAAK,cAAc;gBACjB,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACrE,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACvD,OAAO;YACT,KAAK,SAAS;gBACZ,cAAc;gBACd,OAAO;YACT;gBACE,aAAa;gBACb,OAAO;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAExC,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,6BAA6B,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC"}