botframework-webchat-component 4.14.1 → 4.15.2-main.20220413.af6e8a3

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 (411) hide show
  1. package/.eslintrc.yml +4 -106
  2. package/.prettierrc.yml +1 -1
  3. package/lib/Activity/CarouselFilmStrip.js +1 -1
  4. package/lib/Activity/CarouselFilmStripAttachment.js +1 -1
  5. package/lib/Activity/CarouselLayout.js +3 -3
  6. package/lib/Activity/Speak.d.ts +2 -2
  7. package/lib/Activity/Speak.d.ts.map +1 -1
  8. package/lib/Activity/Speak.js +15 -8
  9. package/lib/Activity/StackedLayout.d.ts +5 -3
  10. package/lib/Activity/StackedLayout.d.ts.map +1 -1
  11. package/lib/Activity/StackedLayout.js +16 -21
  12. package/lib/Attachment/FileAttachment.js +2 -2
  13. package/lib/Attachment/FileContent.d.ts.map +1 -1
  14. package/lib/Attachment/FileContent.js +11 -1
  15. package/lib/BasicSendBox.d.ts.map +1 -1
  16. package/lib/BasicSendBox.js +8 -9
  17. package/lib/BasicToast.js +1 -1
  18. package/lib/BasicToaster.js +6 -3
  19. package/lib/BasicTranscript.d.ts +7 -0
  20. package/lib/BasicTranscript.d.ts.map +1 -0
  21. package/lib/BasicTranscript.js +386 -728
  22. package/lib/BasicTypingIndicator.d.ts +2 -1
  23. package/lib/BasicTypingIndicator.d.ts.map +1 -1
  24. package/lib/BasicTypingIndicator.js +12 -4
  25. package/lib/Composer.d.ts.map +1 -1
  26. package/lib/Composer.js +37 -32
  27. package/lib/ConnectivityStatus/Connecting.js +1 -1
  28. package/lib/Dictation.js +1 -1
  29. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -1
  30. package/lib/Middleware/Activity/createCoreMiddleware.js +9 -12
  31. package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +1 -1
  32. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +2 -2
  33. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -1
  34. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -4
  35. package/lib/Middleware/ActivityStatus/Timestamp.d.ts +2 -2
  36. package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -1
  37. package/lib/Middleware/ActivityStatus/Timestamp.js +4 -2
  38. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +20 -17
  39. package/lib/Middleware/Attachment/createCoreMiddleware.js +2 -5
  40. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -1
  41. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +1 -1
  42. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -1
  43. package/lib/Middleware/Avatar/createCoreMiddleware.js +2 -3
  44. package/lib/Middleware/CardAction/createCoreMiddleware.js +10 -3
  45. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -1
  46. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +1 -1
  47. package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -1
  48. package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
  49. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -1
  50. package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +8 -6
  51. package/lib/ReactWebChat.js +2 -2
  52. package/lib/ScreenReaderActivity.js +15 -6
  53. package/lib/ScreenReaderText.d.ts +9 -0
  54. package/lib/ScreenReaderText.d.ts.map +1 -0
  55. package/lib/ScreenReaderText.js +22 -8
  56. package/lib/SendBox/AutoResizeTextArea.js +1 -1
  57. package/lib/SendBox/DictationInterims.js +1 -1
  58. package/lib/SendBox/IconButton.d.ts +11 -0
  59. package/lib/SendBox/IconButton.d.ts.map +1 -0
  60. package/lib/SendBox/IconButton.js +26 -6
  61. package/lib/SendBox/MicrophoneButton.js +2 -2
  62. package/lib/SendBox/SendButton.js +2 -2
  63. package/lib/SendBox/SuggestedAction.d.ts +17 -0
  64. package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
  65. package/lib/SendBox/SuggestedAction.js +26 -17
  66. package/lib/SendBox/SuggestedActions.d.ts.map +1 -1
  67. package/lib/SendBox/SuggestedActions.js +26 -9
  68. package/lib/SendBox/TextBox.js +4 -4
  69. package/lib/SendBox/UploadButton.js +4 -4
  70. package/lib/Styles/StyleSet/BasicTranscript.d.ts +13 -5
  71. package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -1
  72. package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
  73. package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -1
  74. package/lib/Styles/StyleSet/Bubble.js +3 -3
  75. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -1
  76. package/lib/Styles/StyleSet/CarouselFilmStrip.js +3 -3
  77. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -1
  78. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +3 -3
  79. package/lib/Styles/StyleSet/KeyboardHelp.d.ts +123 -0
  80. package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
  81. package/lib/Styles/StyleSet/KeyboardHelp.js +145 -0
  82. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +1 -1
  83. package/lib/Styles/StyleSet/ScrollToEndButton.js +2 -2
  84. package/lib/Styles/StyleSet/SendBoxButton.d.ts +56 -10
  85. package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -1
  86. package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
  87. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +1 -1
  88. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -1
  89. package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
  90. package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -1
  91. package/lib/Styles/StyleSet/StackedLayout.js +1 -1
  92. package/lib/Styles/StyleSet/SuggestedAction.d.ts +73 -28
  93. package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -1
  94. package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
  95. package/lib/Styles/StyleSet/SuggestedActions.d.ts +13 -6
  96. package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -1
  97. package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
  98. package/lib/Styles/createStyleSet.d.ts +324 -55
  99. package/lib/Styles/createStyleSet.d.ts.map +1 -1
  100. package/lib/Styles/createStyleSet.js +6 -3
  101. package/lib/Styles/mirrorStyle.js +12 -3
  102. package/lib/Toast/NotificationIcon.js +7 -3
  103. package/lib/Toast/createToastMiddleware.d.ts.map +1 -1
  104. package/lib/Toast/createToastMiddleware.js +1 -1
  105. package/lib/Transcript/ActivityRow.d.ts +9 -0
  106. package/lib/Transcript/ActivityRow.d.ts.map +1 -0
  107. package/lib/Transcript/ActivityRow.js +159 -0
  108. package/lib/Transcript/ActivityTextAlt.js +57 -0
  109. package/lib/Transcript/FocusTrap.d.ts +8 -0
  110. package/lib/Transcript/FocusTrap.d.ts.map +1 -0
  111. package/lib/Transcript/FocusTrap.js +74 -0
  112. package/lib/Transcript/KeyboardHelp.d.ts +4 -0
  113. package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
  114. package/lib/Transcript/KeyboardHelp.js +550 -0
  115. package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
  116. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
  117. package/lib/Transcript/LiveRegionTranscript.js +229 -0
  118. package/lib/Transcript/types.d.ts +2 -0
  119. package/lib/Transcript/types.d.ts.map +1 -0
  120. package/lib/Transcript/types.js +2 -0
  121. package/lib/Transcript/useActivityAccessibleName.d.ts +4 -0
  122. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
  123. package/lib/Transcript/useActivityAccessibleName.js +97 -0
  124. package/lib/Transcript/useTypistNames.d.ts +3 -0
  125. package/lib/Transcript/useTypistNames.d.ts.map +1 -0
  126. package/lib/Transcript/useTypistNames.js +61 -0
  127. package/lib/Utils/AccessKeySink/Surface.js +1 -1
  128. package/lib/Utils/AccessibleButton.d.ts +11 -0
  129. package/lib/Utils/AccessibleButton.d.ts.map +1 -0
  130. package/lib/Utils/AccessibleButton.js +12 -7
  131. package/lib/Utils/AccessibleInputText.js +1 -1
  132. package/lib/Utils/AccessibleTextArea.js +1 -1
  133. package/lib/Utils/CroppedImage.js +1 -1
  134. package/lib/Utils/FocusRedirector.d.ts +9 -0
  135. package/lib/Utils/FocusRedirector.d.ts.map +1 -0
  136. package/lib/Utils/FocusRedirector.js +17 -14
  137. package/lib/Utils/InlineMarkdown.js +15 -8
  138. package/lib/Utils/TypeFocusSink/FocusBox.js +1 -1
  139. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
  140. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
  141. package/lib/Utils/TypeFocusSink/inputtableKey.js +5 -2
  142. package/lib/Utils/activityAltText.d.ts +8 -0
  143. package/lib/Utils/activityAltText.d.ts.map +1 -0
  144. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +2 -2
  145. package/lib/Utils/createCustomEvent.js +8 -2
  146. package/lib/Utils/detectBrowser.js +4 -2
  147. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +1 -1
  148. package/lib/Utils/downscaleImageToDataURL/index.js +1 -1
  149. package/lib/Utils/findAncestor.js +17 -0
  150. package/lib/Utils/getActivityUniqueId.js +4 -2
  151. package/lib/Utils/intersectionOf.d.ts +5 -0
  152. package/lib/Utils/intersectionOf.d.ts.map +1 -0
  153. package/lib/Utils/intersectionOf.js +17 -2
  154. package/lib/Utils/isZeroOrPositive.d.ts +5 -0
  155. package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
  156. package/lib/Utils/isZeroOrPositive.js +4 -1
  157. package/lib/Utils/mapMap.js +9 -2
  158. package/lib/Utils/readDataURIToBlob.js +1 -1
  159. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
  160. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
  161. package/lib/Utils/scrollIntoViewWithBlockNearest.js +48 -0
  162. package/lib/Utils/shallowEquals.js +7 -3
  163. package/lib/Utils/supportPseudoClass.d.ts +2 -0
  164. package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
  165. package/lib/Utils/supportPseudoClass.js +23 -0
  166. package/lib/Utils/tabbableElements.d.ts +2 -0
  167. package/lib/Utils/tabbableElements.d.ts.map +1 -0
  168. package/lib/Utils/tabbableElements.js +2 -2
  169. package/lib/connectToWebChat.js +15 -7
  170. package/lib/hooks/index.js +24 -24
  171. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +8 -7
  172. package/lib/hooks/internal/useChanged.js +8 -1
  173. package/lib/hooks/internal/useDispatchScrollPosition.js +3 -7
  174. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
  175. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
  176. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +15 -0
  177. package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
  178. package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
  179. package/lib/hooks/internal/useFocusVisible.js +48 -0
  180. package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
  181. package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
  182. package/lib/hooks/internal/useMemoWithPrevious.js +22 -0
  183. package/lib/hooks/internal/useMemoize.d.ts +14 -0
  184. package/lib/hooks/internal/useMemoize.d.ts.map +1 -0
  185. package/lib/hooks/internal/useMemoize.js +11 -2
  186. package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
  187. package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
  188. package/lib/hooks/internal/useObserveFocusVisible.js +208 -0
  189. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  190. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  191. package/lib/hooks/internal/usePrevious.js +18 -0
  192. package/lib/hooks/internal/useStateRef.d.ts +3 -0
  193. package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
  194. package/lib/hooks/internal/useStateRef.js +40 -0
  195. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  196. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  197. package/lib/hooks/internal/useValueRef.js +25 -0
  198. package/lib/hooks/useFocus.d.ts +1 -1
  199. package/lib/hooks/useFocus.d.ts.map +1 -1
  200. package/lib/hooks/useFocus.js +1 -1
  201. package/lib/hooks/useObserveTranscriptFocus.d.ts +2 -2
  202. package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -1
  203. package/lib/hooks/useObserveTranscriptFocus.js +1 -1
  204. package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -1
  205. package/lib/hooks/useRenderMarkdownAsHTML.js +1 -1
  206. package/lib/hooks/useScrollTo.d.ts.map +1 -1
  207. package/lib/hooks/useScrollTo.js +1 -1
  208. package/lib/hooks/useScrollToEnd.d.ts.map +1 -1
  209. package/lib/hooks/useScrollToEnd.js +1 -1
  210. package/lib/hooks/useSendFiles.d.ts.map +1 -1
  211. package/lib/hooks/useSendFiles.js +4 -4
  212. package/lib/index.d.ts +13 -3
  213. package/lib/index.d.ts.map +1 -1
  214. package/lib/index.js +20 -18
  215. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +5 -0
  216. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
  217. package/lib/providers/ActivityTree/ActivityTreeComposer.js +86 -0
  218. package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
  219. package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
  220. package/lib/providers/ActivityTree/private/Context.js +13 -0
  221. package/lib/providers/ActivityTree/private/types.d.ts +10 -0
  222. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
  223. package/lib/providers/ActivityTree/private/types.js +2 -0
  224. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
  225. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
  226. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +58 -0
  227. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
  228. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
  229. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +166 -0
  230. package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
  231. package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
  232. package/lib/providers/ActivityTree/private/useContext.js +24 -0
  233. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
  234. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
  235. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +17 -0
  236. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +37 -0
  237. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
  238. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +160 -0
  239. package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
  240. package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
  241. package/lib/providers/LiveRegionTwin/private/Context.js +13 -0
  242. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +12 -0
  243. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
  244. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +100 -0
  245. package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
  246. package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
  247. package/lib/providers/LiveRegionTwin/private/types.js +2 -0
  248. package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
  249. package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
  250. package/lib/providers/LiveRegionTwin/private/useContext.js +24 -0
  251. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
  252. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
  253. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +24 -0
  254. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
  255. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
  256. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +15 -0
  257. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
  258. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
  259. package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +20 -0
  260. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
  261. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
  262. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +184 -0
  263. package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
  264. package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
  265. package/lib/providers/TranscriptFocus/private/Context.js +13 -0
  266. package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
  267. package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
  268. package/lib/providers/TranscriptFocus/private/useContext.js +24 -0
  269. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
  270. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
  271. package/lib/providers/TranscriptFocus/useActiveDescendantId.js +15 -0
  272. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
  273. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
  274. package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +21 -0
  275. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
  276. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
  277. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +15 -0
  278. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
  279. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
  280. package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +15 -0
  281. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
  282. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
  283. package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +15 -0
  284. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
  285. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
  286. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +15 -0
  287. package/package.json +30 -33
  288. package/src/Activity/CarouselFilmStripAttachment.js +0 -1
  289. package/src/Activity/Speak.tsx +21 -18
  290. package/src/Activity/StackedLayout.tsx +30 -35
  291. package/src/Attachment/FileAttachment.js +1 -1
  292. package/src/Attachment/FileContent.tsx +12 -0
  293. package/src/BasicSendBox.tsx +3 -2
  294. package/src/BasicToaster.js +5 -1
  295. package/src/BasicTranscript.tsx +894 -0
  296. package/src/BasicTypingIndicator.tsx +3 -2
  297. package/src/Composer.tsx +41 -29
  298. package/src/Middleware/Activity/createCoreMiddleware.tsx +47 -46
  299. package/src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx +5 -3
  300. package/src/Middleware/ActivityStatus/Timestamp.tsx +5 -3
  301. package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +2 -0
  302. package/src/Middleware/Attachment/createCoreMiddleware.tsx +28 -28
  303. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +25 -23
  304. package/src/Middleware/Avatar/createCoreMiddleware.tsx +9 -8
  305. package/src/Middleware/CardAction/createCoreMiddleware.js +9 -2
  306. package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +11 -9
  307. package/src/Middleware/Toast/createCoreMiddleware.tsx +12 -10
  308. package/src/Middleware/TypingIndicator/createCoreMiddleware.tsx +8 -2
  309. package/src/ScreenReaderActivity.js +18 -3
  310. package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
  311. package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
  312. package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +72 -35
  313. package/src/SendBox/SuggestedActions.tsx +48 -21
  314. package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
  315. package/src/Styles/StyleSet/Bubble.ts +0 -1
  316. package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -10
  317. package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +4 -3
  318. package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
  319. package/src/Styles/StyleSet/ScrollToEndButton.ts +1 -1
  320. package/src/Styles/StyleSet/SendBoxButton.ts +84 -13
  321. package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -2
  322. package/src/Styles/StyleSet/StackedLayout.ts +13 -11
  323. package/src/Styles/StyleSet/SuggestedAction.ts +129 -42
  324. package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
  325. package/src/Styles/createStyleSet.ts +2 -1
  326. package/src/Styles/mirrorStyle.js +10 -2
  327. package/src/Toast/NotificationIcon.js +4 -1
  328. package/src/Toast/createToastMiddleware.tsx +4 -1
  329. package/src/Transcript/ActivityRow.tsx +123 -0
  330. package/src/Transcript/ActivityTextAlt.tsx +31 -0
  331. package/src/Transcript/FocusTrap.tsx +64 -0
  332. package/src/Transcript/KeyboardHelp.tsx +282 -0
  333. package/src/Transcript/LiveRegionTranscript.tsx +196 -0
  334. package/src/Transcript/types.ts +1 -0
  335. package/src/Transcript/useActivityAccessibleName.ts +84 -0
  336. package/src/Transcript/useTypistNames.ts +37 -0
  337. package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
  338. package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
  339. package/src/Utils/InlineMarkdown.js +18 -2
  340. package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
  341. package/src/Utils/createCustomEvent.js +7 -1
  342. package/src/Utils/detectBrowser.js +2 -1
  343. package/src/Utils/findAncestor.ts +12 -0
  344. package/src/Utils/getActivityUniqueId.ts +5 -0
  345. package/src/Utils/intersectionOf.ts +14 -0
  346. package/src/Utils/isZeroOrPositive.ts +7 -0
  347. package/src/Utils/mapMap.js +7 -1
  348. package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
  349. package/src/Utils/shallowEquals.js +8 -1
  350. package/src/Utils/supportPseudoClass.ts +17 -0
  351. package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
  352. package/src/connectToWebChat.js +11 -4
  353. package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +3 -1
  354. package/src/hooks/internal/useChanged.ts +17 -0
  355. package/src/hooks/internal/useDispatchScrollPosition.js +1 -3
  356. package/src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts +5 -0
  357. package/src/hooks/internal/useFocusVisible.ts +22 -0
  358. package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
  359. package/src/hooks/internal/useMemoize.spec.js +1 -1
  360. package/src/hooks/internal/useMemoize.ts +53 -0
  361. package/src/hooks/internal/useObserveFocusVisible.ts +252 -0
  362. package/src/hooks/internal/usePrevious.ts +12 -0
  363. package/src/hooks/internal/useStateRef.ts +31 -0
  364. package/src/hooks/internal/useValueRef.ts +22 -0
  365. package/src/hooks/useFocus.ts +1 -1
  366. package/src/hooks/useObserveTranscriptFocus.ts +2 -2
  367. package/src/hooks/useRenderMarkdownAsHTML.ts +4 -5
  368. package/src/hooks/useScrollTo.ts +4 -3
  369. package/src/hooks/useScrollToEnd.ts +4 -3
  370. package/src/hooks/useSendFiles.ts +7 -5
  371. package/src/index.ts +0 -1
  372. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +74 -0
  373. package/src/providers/ActivityTree/private/Context.ts +12 -0
  374. package/src/providers/ActivityTree/private/types.ts +12 -0
  375. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +64 -0
  376. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +135 -0
  377. package/src/providers/ActivityTree/private/useContext.ts +15 -0
  378. package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
  379. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +161 -0
  380. package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
  381. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +80 -0
  382. package/src/providers/LiveRegionTwin/private/types.ts +10 -0
  383. package/src/providers/LiveRegionTwin/private/useContext.ts +15 -0
  384. package/src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts +13 -0
  385. package/src/providers/LiveRegionTwin/private/useStaticElementEntries.ts +7 -0
  386. package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +12 -0
  387. package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +180 -0
  388. package/src/providers/TranscriptFocus/private/Context.ts +16 -0
  389. package/src/providers/TranscriptFocus/private/useContext.ts +13 -0
  390. package/src/providers/TranscriptFocus/useActiveDescendantId.ts +5 -0
  391. package/src/providers/TranscriptFocus/useFocusByActivityKey.ts +14 -0
  392. package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +5 -0
  393. package/src/providers/TranscriptFocus/useFocusedActivityKey.ts +5 -0
  394. package/src/providers/TranscriptFocus/useFocusedExplicitly.ts +5 -0
  395. package/src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts +5 -0
  396. package/.eslintignore +0 -1
  397. package/lib/Middleware/GroupActivities/createCoreMiddleware.js +0 -69
  398. package/lib/Utils/findLastIndex.js +0 -32
  399. package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
  400. package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
  401. package/src/BasicTranscript.js +0 -1139
  402. package/src/Middleware/GroupActivities/createCoreMiddleware.js +0 -57
  403. package/src/Utils/findLastIndex.js +0 -11
  404. package/src/Utils/findLastIndex.spec.js +0 -31
  405. package/src/Utils/getActivityUniqueId.js +0 -3
  406. package/src/Utils/intersectionOf.js +0 -11
  407. package/src/Utils/isZeroOrPositive.js +0 -4
  408. package/src/hooks/internal/useAcknowledgedActivity.js +0 -65
  409. package/src/hooks/internal/useChanged.js +0 -10
  410. package/src/hooks/internal/useDispatchTranscriptFocus.js +0 -7
  411. package/src/hooks/internal/useMemoize.js +0 -37
@@ -1,5 +1,6 @@
1
+ import { VFC } from 'react';
1
2
  declare function useTypingIndicatorVisible(): [boolean];
2
- declare const BasicTypingIndicator: () => import("react").ReactNode;
3
+ declare const BasicTypingIndicator: VFC<{}>;
3
4
  export default BasicTypingIndicator;
4
5
  export { useTypingIndicatorVisible };
5
6
  //# sourceMappingURL=BasicTypingIndicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicTypingIndicator.d.ts","sourceRoot":"","sources":["../src/BasicTypingIndicator.tsx"],"names":[],"mappings":"AAIA,iBAAS,yBAAyB,IAAI,CAAC,OAAO,CAAC,CAI9C;AAED,QAAA,MAAM,oBAAoB,iCAOzB,CAAC;AAEF,eAAe,oBAAoB,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"BasicTypingIndicator.d.ts","sourceRoot":"","sources":["../src/BasicTypingIndicator.tsx"],"names":[],"mappings":"AACA,OAAc,EAAY,GAAG,EAAE,MAAM,OAAO,CAAC;AAI7C,iBAAS,yBAAyB,IAAI,CAAC,OAAO,CAAC,CAI9C;AAED,QAAA,MAAM,oBAAoB,EAAE,GAAG,CAAC,EAAE,CAOjC,CAAC;AAEF,eAAe,oBAAoB,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,13 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.useTypingIndicatorVisible = useTypingIndicatorVisible;
7
8
  exports.default = void 0;
9
+ exports.useTypingIndicatorVisible = useTypingIndicatorVisible;
8
10
 
9
11
  var _botframeworkWebchatApi = require("botframework-webchat-api");
10
12
 
13
+ var _react = _interopRequireWildcard(require("react"));
14
+
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+
11
19
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
20
 
13
21
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -48,13 +56,13 @@ var BasicTypingIndicator = function BasicTypingIndicator() {
48
56
  typing = _useActiveTyping6[0];
49
57
 
50
58
  var renderTypingIndicator = useRenderTypingIndicator();
51
- return renderTypingIndicator({
59
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, renderTypingIndicator({
52
60
  activeTyping: activeTyping,
53
61
  typing: typing,
54
62
  visible: visible
55
- });
63
+ }));
56
64
  };
57
65
 
58
66
  var _default = BasicTypingIndicator;
59
67
  exports.default = _default;
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNpY1R5cGluZ0luZGljYXRvci50c3giXSwibmFtZXMiOlsidXNlQWN0aXZlVHlwaW5nIiwiaG9va3MiLCJ1c2VSZW5kZXJUeXBpbmdJbmRpY2F0b3IiLCJ1c2VUeXBpbmdJbmRpY2F0b3JWaXNpYmxlIiwiYWN0aXZlVHlwaW5nIiwiT2JqZWN0IiwidmFsdWVzIiwiZmlsdGVyIiwicm9sZSIsImxlbmd0aCIsIkJhc2ljVHlwaW5nSW5kaWNhdG9yIiwidmlzaWJsZSIsIkluZmluaXR5IiwidHlwaW5nIiwicmVuZGVyVHlwaW5nSW5kaWNhdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLGVBQVIsR0FBc0RDLDZCQUF0RCxDQUFRRCxlQUFSO0FBQUEsSUFBeUJFLHdCQUF6QixHQUFzREQsNkJBQXRELENBQXlCQyx3QkFBekI7O0FBRUEsU0FBU0MseUJBQVQsR0FBZ0Q7QUFDOUMseUJBQXVCSCxlQUFlLEVBQXRDO0FBQUE7QUFBQSxNQUFPSSxZQUFQOztBQUVBLFNBQU8sQ0FBQyxDQUFDLENBQUNDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjRixZQUFkLEVBQTRCRyxNQUE1QixDQUFtQztBQUFBLFFBQUdDLElBQUgsUUFBR0EsSUFBSDtBQUFBLFdBQWNBLElBQUksS0FBSyxNQUF2QjtBQUFBLEdBQW5DLEVBQWtFQyxNQUFyRSxDQUFQO0FBQ0Q7O0FBRUQsSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUF1QixHQUFNO0FBQ2pDLDBCQUF1QlYsZUFBZSxFQUF0QztBQUFBO0FBQUEsTUFBT0ksWUFBUDs7QUFDQSw4QkFBa0JELHlCQUF5QixFQUEzQztBQUFBO0FBQUEsTUFBT1EsT0FBUDs7QUFDQSwwQkFBaUJYLGVBQWUsQ0FBQ1ksUUFBRCxDQUFoQztBQUFBO0FBQUEsTUFBT0MsTUFBUDs7QUFDQSxNQUFNQyxxQkFBcUIsR0FBR1osd0JBQXdCLEVBQXREO0FBRUEsU0FBT1kscUJBQXFCLENBQUM7QUFBRVYsSUFBQUEsWUFBWSxFQUFaQSxZQUFGO0FBQWdCUyxJQUFBQSxNQUFNLEVBQU5BLE1BQWhCO0FBQXdCRixJQUFBQSxPQUFPLEVBQVBBO0FBQXhCLEdBQUQsQ0FBNUI7QUFDRCxDQVBEOztlQVNlRCxvQiIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuXG5jb25zdCB7IHVzZUFjdGl2ZVR5cGluZywgdXNlUmVuZGVyVHlwaW5nSW5kaWNhdG9yIH0gPSBob29rcztcblxuZnVuY3Rpb24gdXNlVHlwaW5nSW5kaWNhdG9yVmlzaWJsZSgpOiBbYm9vbGVhbl0ge1xuICBjb25zdCBbYWN0aXZlVHlwaW5nXSA9IHVzZUFjdGl2ZVR5cGluZygpO1xuXG4gIHJldHVybiBbISFPYmplY3QudmFsdWVzKGFjdGl2ZVR5cGluZykuZmlsdGVyKCh7IHJvbGUgfSkgPT4gcm9sZSAhPT0gJ3VzZXInKS5sZW5ndGhdO1xufVxuXG5jb25zdCBCYXNpY1R5cGluZ0luZGljYXRvciA9ICgpID0+IHtcbiAgY29uc3QgW2FjdGl2ZVR5cGluZ10gPSB1c2VBY3RpdmVUeXBpbmcoKTtcbiAgY29uc3QgW3Zpc2libGVdID0gdXNlVHlwaW5nSW5kaWNhdG9yVmlzaWJsZSgpO1xuICBjb25zdCBbdHlwaW5nXSA9IHVzZUFjdGl2ZVR5cGluZyhJbmZpbml0eSk7XG4gIGNvbnN0IHJlbmRlclR5cGluZ0luZGljYXRvciA9IHVzZVJlbmRlclR5cGluZ0luZGljYXRvcigpO1xuXG4gIHJldHVybiByZW5kZXJUeXBpbmdJbmRpY2F0b3IoeyBhY3RpdmVUeXBpbmcsIHR5cGluZywgdmlzaWJsZSB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEJhc2ljVHlwaW5nSW5kaWNhdG9yO1xuXG5leHBvcnQgeyB1c2VUeXBpbmdJbmRpY2F0b3JWaXNpYmxlIH07XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNpY1R5cGluZ0luZGljYXRvci50c3giXSwibmFtZXMiOlsidXNlQWN0aXZlVHlwaW5nIiwiaG9va3MiLCJ1c2VSZW5kZXJUeXBpbmdJbmRpY2F0b3IiLCJ1c2VUeXBpbmdJbmRpY2F0b3JWaXNpYmxlIiwiYWN0aXZlVHlwaW5nIiwiT2JqZWN0IiwidmFsdWVzIiwiZmlsdGVyIiwicm9sZSIsImxlbmd0aCIsIkJhc2ljVHlwaW5nSW5kaWNhdG9yIiwidmlzaWJsZSIsIkluZmluaXR5IiwidHlwaW5nIiwicmVuZGVyVHlwaW5nSW5kaWNhdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLGVBQVIsR0FBc0RDLDZCQUF0RCxDQUFRRCxlQUFSO0FBQUEsSUFBeUJFLHdCQUF6QixHQUFzREQsNkJBQXRELENBQXlCQyx3QkFBekI7O0FBRUEsU0FBU0MseUJBQVQsR0FBZ0Q7QUFDOUMseUJBQXVCSCxlQUFlLEVBQXRDO0FBQUE7QUFBQSxNQUFPSSxZQUFQOztBQUVBLFNBQU8sQ0FBQyxDQUFDLENBQUNDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjRixZQUFkLEVBQTRCRyxNQUE1QixDQUFtQztBQUFBLFFBQUdDLElBQUgsUUFBR0EsSUFBSDtBQUFBLFdBQWNBLElBQUksS0FBSyxNQUF2QjtBQUFBLEdBQW5DLEVBQWtFQyxNQUFyRSxDQUFQO0FBQ0Q7O0FBRUQsSUFBTUMsb0JBQTZCLEdBQUcsU0FBaENBLG9CQUFnQyxHQUFNO0FBQzFDLDBCQUF1QlYsZUFBZSxFQUF0QztBQUFBO0FBQUEsTUFBT0ksWUFBUDs7QUFDQSw4QkFBa0JELHlCQUF5QixFQUEzQztBQUFBO0FBQUEsTUFBT1EsT0FBUDs7QUFDQSwwQkFBaUJYLGVBQWUsQ0FBQ1ksUUFBRCxDQUFoQztBQUFBO0FBQUEsTUFBT0MsTUFBUDs7QUFDQSxNQUFNQyxxQkFBcUIsR0FBR1osd0JBQXdCLEVBQXREO0FBRUEsc0JBQU8sNkJBQUMsZUFBRCxRQUFXWSxxQkFBcUIsQ0FBQztBQUFFVixJQUFBQSxZQUFZLEVBQVpBLFlBQUY7QUFBZ0JTLElBQUFBLE1BQU0sRUFBTkEsTUFBaEI7QUFBd0JGLElBQUFBLE9BQU8sRUFBUEE7QUFBeEIsR0FBRCxDQUFoQyxDQUFQO0FBQ0QsQ0FQRDs7ZUFTZUQsb0IiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCwgVkZDIH0gZnJvbSAncmVhY3QnO1xuXG5jb25zdCB7IHVzZUFjdGl2ZVR5cGluZywgdXNlUmVuZGVyVHlwaW5nSW5kaWNhdG9yIH0gPSBob29rcztcblxuZnVuY3Rpb24gdXNlVHlwaW5nSW5kaWNhdG9yVmlzaWJsZSgpOiBbYm9vbGVhbl0ge1xuICBjb25zdCBbYWN0aXZlVHlwaW5nXSA9IHVzZUFjdGl2ZVR5cGluZygpO1xuXG4gIHJldHVybiBbISFPYmplY3QudmFsdWVzKGFjdGl2ZVR5cGluZykuZmlsdGVyKCh7IHJvbGUgfSkgPT4gcm9sZSAhPT0gJ3VzZXInKS5sZW5ndGhdO1xufVxuXG5jb25zdCBCYXNpY1R5cGluZ0luZGljYXRvcjogVkZDPHt9PiA9ICgpID0+IHtcbiAgY29uc3QgW2FjdGl2ZVR5cGluZ10gPSB1c2VBY3RpdmVUeXBpbmcoKTtcbiAgY29uc3QgW3Zpc2libGVdID0gdXNlVHlwaW5nSW5kaWNhdG9yVmlzaWJsZSgpO1xuICBjb25zdCBbdHlwaW5nXSA9IHVzZUFjdGl2ZVR5cGluZyhJbmZpbml0eSk7XG4gIGNvbnN0IHJlbmRlclR5cGluZ0luZGljYXRvciA9IHVzZVJlbmRlclR5cGluZ0luZGljYXRvcigpO1xuXG4gIHJldHVybiA8RnJhZ21lbnQ+e3JlbmRlclR5cGluZ0luZGljYXRvcih7IGFjdGl2ZVR5cGluZywgdHlwaW5nLCB2aXNpYmxlIH0pfTwvRnJhZ21lbnQ+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmFzaWNUeXBpbmdJbmRpY2F0b3I7XG5cbmV4cG9ydCB7IHVzZVR5cGluZ0luZGljYXRvclZpc2libGUgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,IAAI,gBAAgB,EAEjC,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAOlC,OAAc,EAAE,EAAE,EAAE,SAAS,EAA0C,MAAM,OAAO,CAAC;AAmCrF,aAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;;KAAA,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;;KAAA,KAAK,MAAM,CAAC;IAC7G,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,yBAAyB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,CAAC;AA6LF,aAAK,aAAa,GAAG,gBAAgB,GACnC,iBAAiB,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,CAAC;AAEJ,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAqG/B,CAAC;AAcF,eAAe,QAAQ,CAAC;AAExB,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,IAAI,gBAAgB,EAEjC,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAOlC,OAAc,EAAE,EAAE,EAAE,SAAS,EAA0C,MAAM,OAAO,CAAC;AAmCrF,aAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;;KAAA,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;;KAAA,KAAK,MAAM,CAAC;IAC7G,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,yBAAyB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,CAAC;AAsMF,aAAK,aAAa,GAAG,gBAAgB,GACnC,iBAAiB,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,CAAC;AAEJ,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAwG/B,CAAC;AAcF,eAAe,QAAQ,CAAC;AAExB,YAAY,EAAE,aAAa,EAAE,CAAC"}
package/lib/Composer.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -25,6 +25,8 @@ var _react = _interopRequireWildcard(require("react"));
25
25
 
26
26
  var _BypassSpeechSynthesisPonyfill = require("./hooks/internal/BypassSpeechSynthesisPonyfill");
27
27
 
28
+ var _ActivityTreeComposer = _interopRequireDefault(require("./providers/ActivityTree/ActivityTreeComposer"));
29
+
28
30
  var _addTargetBlankToHyperlinksMarkdown = _interopRequireDefault(require("./Utils/addTargetBlankToHyperlinksMarkdown"));
29
31
 
30
32
  var _createCSSKey = _interopRequireDefault(require("./Utils/createCSSKey"));
@@ -81,9 +83,9 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
81
83
 
82
84
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
83
85
 
84
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
86
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
85
87
 
86
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
88
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
87
89
 
88
90
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
89
91
 
@@ -99,9 +101,9 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
99
101
 
100
102
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
101
103
 
102
- var useReferenceGrammarID = _botframeworkWebchatApi.hooks.useReferenceGrammarID,
103
- useStyleOptions = _botframeworkWebchatApi.hooks.useStyleOptions; // eslint-disable-next-line no-undef
104
-
104
+ var useGetActivityByKey = _botframeworkWebchatApi.hooks.useGetActivityByKey,
105
+ useReferenceGrammarID = _botframeworkWebchatApi.hooks.useReferenceGrammarID,
106
+ useStyleOptions = _botframeworkWebchatApi.hooks.useStyleOptions;
105
107
  var node_env = undefined || "production";
106
108
  var emotionPool = {};
107
109
 
@@ -158,7 +160,8 @@ var ComposerCore = function ComposerCore(_ref) {
158
160
  // Emotion doesn't hash with nonce. We need to provide the pooling mechanism.
159
161
  // 1. If 2 instances use different nonce, they should result in different hash;
160
162
  // 2. If 2 instances are being mounted, pooling will make sure we render only 1 set of <style> tags, instead of 2.
161
- var emotion = emotionPool[nonce] || (emotionPool[nonce] = (0, _createInstance.default)({
163
+ var emotion = // Prefix "id-" to prevent object injection attack.
164
+ emotionPool["id-".concat(nonce)] || (emotionPool["id-".concat(nonce)] = (0, _createInstance.default)({
162
165
  key: "webchat--css-".concat((0, _createCSSKey.default)()),
163
166
  nonce: nonce
164
167
  }));
@@ -184,12 +187,6 @@ var ComposerCore = function ComposerCore(_ref) {
184
187
  });
185
188
  }, [referenceGrammarID, webSpeechPonyfillFactory]);
186
189
  var scrollPositionObserversRef = (0, _react.useRef)([]);
187
-
188
- var _useState3 = (0, _react.useState)(0),
189
- _useState4 = _slicedToArray(_useState3, 2),
190
- numScrollPositionObservers = _useState4[0],
191
- setNumScrollPositionObservers = _useState4[1];
192
-
193
190
  var dispatchScrollPosition = (0, _react.useCallback)(function (event) {
194
191
  return scrollPositionObserversRef.current.forEach(function (observer) {
195
192
  return observer(event);
@@ -197,26 +194,34 @@ var ComposerCore = function ComposerCore(_ref) {
197
194
  }, [scrollPositionObserversRef]);
198
195
  var observeScrollPosition = (0, _react.useCallback)(function (observer) {
199
196
  scrollPositionObserversRef.current = [].concat(_toConsumableArray(scrollPositionObserversRef.current), [observer]);
200
- setNumScrollPositionObservers(scrollPositionObserversRef.current.length);
201
197
  return function () {
202
198
  scrollPositionObserversRef.current = scrollPositionObserversRef.current.filter(function (target) {
203
199
  return target !== observer;
204
200
  });
205
- setNumScrollPositionObservers(scrollPositionObserversRef.current.length);
206
201
  };
207
- }, [scrollPositionObserversRef, setNumScrollPositionObservers]);
202
+ }, [scrollPositionObserversRef]);
208
203
  var transcriptFocusObserversRef = (0, _react.useRef)([]);
209
204
 
210
- var _useState5 = (0, _react.useState)(0),
211
- _useState6 = _slicedToArray(_useState5, 2),
212
- numTranscriptFocusObservers = _useState6[0],
213
- setNumTranscriptFocusObservers = _useState6[1];
214
-
215
- var dispatchTranscriptFocus = (0, _react.useCallback)(function (event) {
216
- return transcriptFocusObserversRef.current.forEach(function (observer) {
217
- return observer(event);
218
- });
219
- }, [transcriptFocusObserversRef]);
205
+ var _useState3 = (0, _react.useState)(0),
206
+ _useState4 = _slicedToArray(_useState3, 2),
207
+ numTranscriptFocusObservers = _useState4[0],
208
+ setNumTranscriptFocusObservers = _useState4[1];
209
+
210
+ var getActivityByKey = useGetActivityByKey();
211
+ var dispatchTranscriptFocusByActivityKey = (0, _react.useMemo)(function () {
212
+ var prevActivityKey = Symbol();
213
+ return function (activityKey) {
214
+ if (activityKey !== prevActivityKey) {
215
+ prevActivityKey = activityKey;
216
+ var event = {
217
+ activity: getActivityByKey(activityKey)
218
+ };
219
+ transcriptFocusObserversRef.current.forEach(function (observer) {
220
+ return observer(event);
221
+ });
222
+ }
223
+ };
224
+ }, [getActivityByKey, transcriptFocusObserversRef]);
220
225
  var observeTranscriptFocus = (0, _react.useCallback)(function (observer) {
221
226
  transcriptFocusObserversRef.current = [].concat(_toConsumableArray(transcriptFocusObserversRef.current), [observer]);
222
227
  setNumTranscriptFocusObservers(transcriptFocusObserversRef.current.length);
@@ -231,13 +236,12 @@ var ComposerCore = function ComposerCore(_ref) {
231
236
  return {
232
237
  dictateAbortable: dictateAbortable,
233
238
  dispatchScrollPosition: dispatchScrollPosition,
234
- dispatchTranscriptFocus: dispatchTranscriptFocus,
239
+ dispatchTranscriptFocusByActivityKey: dispatchTranscriptFocusByActivityKey,
235
240
  focusSendBoxCallbacksRef: focusSendBoxCallbacksRef,
236
241
  focusTranscriptCallbacksRef: focusTranscriptCallbacksRef,
237
242
  internalMarkdownItState: [internalMarkdownIt],
238
243
  internalRenderMarkdownInline: internalRenderMarkdownInline,
239
244
  nonce: nonce,
240
- numScrollPositionObservers: numScrollPositionObservers,
241
245
  numTranscriptFocusObservers: numTranscriptFocusObservers,
242
246
  observeScrollPosition: observeScrollPosition,
243
247
  observeTranscriptFocus: observeTranscriptFocus,
@@ -251,7 +255,7 @@ var ComposerCore = function ComposerCore(_ref) {
251
255
  suggestedActionsAccessKey: suggestedActionsAccessKey,
252
256
  webSpeechPonyfill: webSpeechPonyfill
253
257
  };
254
- }, [dictateAbortable, dispatchScrollPosition, dispatchTranscriptFocus, focusSendBoxCallbacksRef, focusTranscriptCallbacksRef, internalMarkdownIt, internalRenderMarkdownInline, nonce, numScrollPositionObservers, numTranscriptFocusObservers, observeScrollPosition, observeTranscriptFocus, patchedStyleSet, renderMarkdown, scrollRelativeCallbacksRef, scrollToCallbacksRef, scrollToEndCallbacksRef, setDictateAbortable, styleToEmotionObject, suggestedActionsAccessKey, webSpeechPonyfill]);
258
+ }, [dictateAbortable, dispatchScrollPosition, dispatchTranscriptFocusByActivityKey, focusSendBoxCallbacksRef, focusTranscriptCallbacksRef, internalMarkdownIt, internalRenderMarkdownInline, nonce, numTranscriptFocusObservers, observeScrollPosition, observeTranscriptFocus, patchedStyleSet, renderMarkdown, scrollRelativeCallbacksRef, scrollToCallbacksRef, scrollToEndCallbacksRef, setDictateAbortable, styleToEmotionObject, suggestedActionsAccessKey, webSpeechPonyfill]);
255
259
  return /*#__PURE__*/_react.default.createElement(_reactSay.Composer, {
256
260
  ponyfill: webSpeechPonyfill
257
261
  }, /*#__PURE__*/_react.default.createElement(_WebChatUIContext.default.Provider, {
@@ -262,6 +266,7 @@ var ComposerCore = function ComposerCore(_ref) {
262
266
  };
263
267
 
264
268
  ComposerCore.defaultProps = {
269
+ children: undefined,
265
270
  extraStyleSet: undefined,
266
271
  nonce: undefined,
267
272
  renderMarkdown: undefined,
@@ -342,14 +347,14 @@ var Composer = function Composer(_ref3) {
342
347
  scrollToEndButtonMiddleware: patchedScrollToEndButtonMiddleware,
343
348
  toastMiddleware: patchedToastMiddleware,
344
349
  typingIndicatorMiddleware: patchedTypingIndicatorMiddleware
345
- }, composerProps), /*#__PURE__*/_react.default.createElement(ComposerCore, {
350
+ }, composerProps), /*#__PURE__*/_react.default.createElement(_ActivityTreeComposer.default, null, /*#__PURE__*/_react.default.createElement(ComposerCore, {
346
351
  extraStyleSet: extraStyleSet,
347
352
  nonce: nonce,
348
353
  renderMarkdown: renderMarkdown,
349
354
  styleSet: styleSet,
350
355
  suggestedActionsAccessKey: suggestedActionsAccessKey,
351
356
  webSpeechPonyfillFactory: webSpeechPonyfillFactory
352
- }, children, onTelemetry && /*#__PURE__*/_react.default.createElement(_UITracker.default, null))));
357
+ }, children, onTelemetry && /*#__PURE__*/_react.default.createElement(_UITracker.default, null)))));
353
358
  };
354
359
 
355
360
  Composer.defaultProps = _objectSpread(_objectSpread(_objectSpread({}, _botframeworkWebchatApi.Composer.defaultProps), ComposerCore.defaultProps), {}, {
@@ -360,4 +365,4 @@ Composer.propTypes = _objectSpread(_objectSpread(_objectSpread({}, _botframework
360
365
  });
361
366
  var _default = Composer;
362
367
  exports.default = _default;
363
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Db21wb3Nlci50c3giXSwibmFtZXMiOlsidXNlUmVmZXJlbmNlR3JhbW1hcklEIiwiaG9va3MiLCJ1c2VTdHlsZU9wdGlvbnMiLCJub2RlX2VudiIsImVtb3Rpb25Qb29sIiwic3R5bGVTZXRUb0Vtb3Rpb25PYmplY3RzIiwic3R5bGVUb0Vtb3Rpb25PYmplY3QiLCJzdHlsZVNldCIsInN0eWxlIiwia2V5IiwiQ29tcG9zZXJDb3JlIiwiY2hpbGRyZW4iLCJleHRyYVN0eWxlU2V0Iiwibm9uY2UiLCJyZW5kZXJNYXJrZG93biIsInN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXkiLCJ3ZWJTcGVlY2hQb255ZmlsbEZhY3RvcnkiLCJkaWN0YXRlQWJvcnRhYmxlIiwic2V0RGljdGF0ZUFib3J0YWJsZSIsInJlZmVyZW5jZUdyYW1tYXJJRCIsInN0eWxlT3B0aW9ucyIsImZvY3VzU2VuZEJveENhbGxiYWNrc1JlZiIsImZvY3VzVHJhbnNjcmlwdENhbGxiYWNrc1JlZiIsImludGVybmFsTWFya2Rvd25JdCIsIk1hcmtkb3duSXQiLCJzY3JvbGxUb0NhbGxiYWNrc1JlZiIsInNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmIiwic2Nyb2xsUmVsYXRpdmVDYWxsYmFja3NSZWYiLCJkaWN0YXRpb25PbkVycm9yIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiaW50ZXJuYWxSZW5kZXJNYXJrZG93bklubGluZSIsIm1hcmtkb3duIiwidHJlZSIsInBhcnNlSW5saW5lIiwicGF0Y2hlZFRyZWUiLCJyZW5kZXJlciIsInJlbmRlciIsImVtb3Rpb24iLCJjc3MiLCJwYXRjaGVkU3R5bGVTZXQiLCJ3ZWJTcGVlY2hQb255ZmlsbCIsInBvbnlmaWxsIiwic3BlZWNoU3ludGhlc2lzIiwiU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIiwiYnlwYXNzU3BlZWNoU3ludGhlc2lzIiwiQnlwYXNzU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIiwic2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWYiLCJudW1TY3JvbGxQb3NpdGlvbk9ic2VydmVycyIsInNldE51bVNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzIiwiZGlzcGF0Y2hTY3JvbGxQb3NpdGlvbiIsImV2ZW50IiwiY3VycmVudCIsImZvckVhY2giLCJvYnNlcnZlciIsIm9ic2VydmVTY3JvbGxQb3NpdGlvbiIsImxlbmd0aCIsImZpbHRlciIsInRhcmdldCIsInRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZiIsIm51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVycyIsInNldE51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVycyIsImRpc3BhdGNoVHJhbnNjcmlwdEZvY3VzIiwib2JzZXJ2ZVRyYW5zY3JpcHRGb2N1cyIsImNvbnRleHQiLCJpbnRlcm5hbE1hcmtkb3duSXRTdGF0ZSIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFueSIsInN0cmluZyIsImZ1bmMiLCJvbmVPZlR5cGUiLCJvbmVPZiIsIkNvbXBvc2VyIiwiYWN0aXZpdHlNaWRkbGV3YXJlIiwiYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlIiwiYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUiLCJhdHRhY2htZW50TWlkZGxld2FyZSIsImF2YXRhck1pZGRsZXdhcmUiLCJjYXJkQWN0aW9uTWlkZGxld2FyZSIsInNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSIsInRvYXN0TWlkZGxld2FyZSIsInR5cGluZ0luZGljYXRvck1pZGRsZXdhcmUiLCJjb21wb3NlclByb3BzIiwib25UZWxlbWV0cnkiLCJwYXRjaGVkQWN0aXZpdHlNaWRkbGV3YXJlIiwicGF0Y2hlZEFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSIsInBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSIsInBhdGNoZWRBdHRhY2htZW50TWlkZGxld2FyZSIsInBhdGNoZWRBdmF0YXJNaWRkbGV3YXJlIiwicGF0Y2hlZENhcmRBY3Rpb25NaWRkbGV3YXJlIiwicGF0Y2hlZFRvYXN0TWlkZGxld2FyZSIsInBhdGNoZWRUeXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlIiwiZGVmYXVsdFNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSIsInBhdGNoZWRTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUiLCJkb3duc2NhbGVJbWFnZVRvRGF0YVVSTCIsIkVycm9yQm94IiwiQVBJQ29tcG9zZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUlBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxxQkFBUixHQUFtREMsNkJBQW5ELENBQVFELHFCQUFSO0FBQUEsSUFBK0JFLGVBQS9CLEdBQW1ERCw2QkFBbkQsQ0FBK0JDLGVBQS9CLEMsQ0FFQTs7QUFDQSxJQUFNQyxRQUFRLEdBQUcseUJBQWpCO0FBRUEsSUFBTUMsV0FBVyxHQUFHLEVBQXBCOztBQUVBLFNBQVNDLHdCQUFULENBQWtDQyxvQkFBbEMsRUFBd0RDLFFBQXhELEVBQWtFO0FBQ2hFLFNBQU8scUJBQU9BLFFBQVAsRUFBaUIsVUFBQ0MsS0FBRCxFQUFRQyxHQUFSO0FBQUEsV0FBaUJBLEdBQUcsS0FBSyxTQUFSLEdBQW9CRCxLQUFwQixHQUE0QkYsb0JBQW9CLENBQUNFLEtBQUQsQ0FBakU7QUFBQSxHQUFqQixDQUFQO0FBQ0Q7O0FBWUQsSUFBTUUsWUFBbUMsR0FBRyxTQUF0Q0EsWUFBc0MsT0FRdEM7QUFBQSxNQVBKQyxRQU9JLFFBUEpBLFFBT0k7QUFBQSxNQU5KQyxhQU1JLFFBTkpBLGFBTUk7QUFBQSxNQUxKQyxLQUtJLFFBTEpBLEtBS0k7QUFBQSxNQUpK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QVRqRTtBQVVFLElBQUEsS0FBSyxFQUFFdkQsS0FWVDtBQVdFLElBQUEsMkJBQTJCLEVBQUVvRixrQ0FYL0I7QUFZRSxJQUFBLGVBQWUsRUFBRUgsc0JBWm5CO0FBYUUsSUFBQSx5QkFBeUIsRUFBRUM7QUFiN0IsS0FjTVQsYUFkTixnQkFnQkUsNkJBQUMsWUFBRDtBQUNFLElBQUEsYUFBYSxFQUFFMUUsYUFEakI7QUFFRSxJQUFBLEtBQUssRUFBRUMsS0FGVDtBQUdFLElBQUEsY0FBYyxFQUFFQyxjQUhsQjtBQUlFLElBQUEsUUFBUSxFQUFFUCxRQUpaO0FBS0UsSUFBQSx5QkFBeUIsRUFBRVEseUJBTDdCO0FBTUUsSUFBQSx3QkFBd0IsRUFBRUM7QUFONUIsS0FRR0wsUUFSSCxFQVNHNEUsV0FBVyxpQkFBSSw2QkFBQyxrQkFBRCxPQVRsQixDQWhCRixDQURGLENBREY7QUFnQ0QsQ0FyR0Q7O0FBdUdBWCxRQUFRLENBQUNULFlBQVQsaURBQ0tpQyxpQ0FBWWpDLFlBRGpCLEdBRUt6RCxZQUFZLENBQUN5RCxZQUZsQjtBQUdFeEQsRUFBQUEsUUFBUSxFQUFFeUQ7QUFIWjtBQU1BUSxRQUFRLENBQUNQLFNBQVQsaURBQ0srQixpQ0FBWS9CLFNBRGpCLEdBRUszRCxZQUFZLENBQUMyRCxTQUZsQjtBQUdFMUQsRUFBQUEsUUFBUSxFQUFFMkQsbUJBQVVDO0FBSHRCO2VBTWVLLFEiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvc2VyIGFzIEFQSUNvbXBvc2VyLFxuICBDb21wb3NlclByb3BzIGFzIEFQSUNvbXBvc2VyUHJvcHMsXG4gIGhvb2tzLFxuICBXZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnlcbn0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCB7IENvbXBvc2VyIGFzIFNheUNvbXBvc2VyIH0gZnJvbSAncmVhY3Qtc2F5JztcbmltcG9ydCB7IHNpbmdsZVRvQXJyYXkgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb3JlJztcbmltcG9ydCBjcmVhdGVFbW90aW9uIGZyb20gJ0BlbW90aW9uL2Nzcy9jcmVhdGUtaW5zdGFuY2UnO1xuaW1wb3J0IGNyZWF0ZVN0eWxlU2V0IGZyb20gJy4vU3R5bGVzL2NyZWF0ZVN0eWxlU2V0JztcbmltcG9ydCBNYXJrZG93bkl0IGZyb20gJ21hcmtkb3duLWl0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgRkMsIFJlYWN0Tm9kZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIHNwZWVjaFN5bnRoZXNpcyBhcyBieXBhc3NTcGVlY2hTeW50aGVzaXMsXG4gIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSBhcyBCeXBhc3NTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Vcbn0gZnJvbSAnLi9ob29rcy9pbnRlcm5hbC9CeXBhc3NTcGVlY2hTeW50aGVzaXNQb255ZmlsbCc7XG5pbXBvcnQgYWRkVGFyZ2V0QmxhbmtUb0h5cGVybGlua3NNYXJrZG93biBmcm9tICcuL1V0aWxzL2FkZFRhcmdldEJsYW5rVG9IeXBlcmxpbmtzTWFya2Rvd24nO1xuaW1wb3J0IGNyZWF0ZUNTU0tleSBmcm9tICcuL1V0aWxzL2NyZWF0ZUNTU0tleSc7XG5pbXBvcnQgY3JlYXRlRGVmYXVsdEFjdGl2aXR5TWlkZGxld2FyZSBmcm9tICcuL01pZGRsZXdhcmUvQWN0aXZpdHkvY3JlYXRlQ29yZU1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZURlZmF1bHRBY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL0FjdGl2aXR5U3RhdHVzL2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVEZWZhdWx0QXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL0F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXIvY3JlYXRlQ29yZU1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZURlZmF1bHRBdHRhY2htZW50TWlkZGxld2FyZSBmcm9tICcuL01pZGRsZXdhcmUvQXR0YWNobWVudC9jcmVhdGVDb3JlTWlkZGxld2FyZSc7XG5pbXBvcnQgY3JlYXRlRGVmYXVsdEF2YXRhck1pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL0F2YXRhci9jcmVhdGVDb3JlTWlkZGxld2FyZSc7XG5pbXBvcnQgY3JlYXRlRGVmYXVsdENhcmRBY3Rpb25NaWRkbGV3YXJlIGZyb20gJy4vTWlkZGxld2FyZS9DYXJkQWN0aW9uL2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVEZWZhdWx0U2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlIGZyb20gJy4vTWlkZGxld2FyZS9TY3JvbGxUb0VuZEJ1dHRvbi9jcmVhdGVTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZURlZmF1bHRUb2FzdE1pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL1RvYXN0L2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVEZWZhdWx0VHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSBmcm9tICcuL01pZGRsZXdhcmUvVHlwaW5nSW5kaWNhdG9yL2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBEaWN0YXRpb24gZnJvbSAnLi9EaWN0YXRpb24nO1xuaW1wb3J0IGRvd25zY2FsZUltYWdlVG9EYXRhVVJMIGZyb20gJy4vVXRpbHMvZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkwnO1xuaW1wb3J0IEVycm9yQm94IGZyb20gJy4vRXJyb3JCb3gnO1xuaW1wb3J0IG1hcE1hcCBmcm9tICcuL1V0aWxzL21hcE1hcCc7XG5pbXBvcnQgVUlUcmFja2VyIGZyb20gJy4vaG9va3MvaW50ZXJuYWwvVUlUcmFja2VyJztcbmltcG9ydCBXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vaG9va3MvaW50ZXJuYWwvV2ViQ2hhdFVJQ29udGV4dCc7XG5cbmNvbnN0IHsgdXNlUmVmZXJlbmNlR3JhbW1hcklELCB1c2VTdHlsZU9wdGlvbnMgfSA9IGhvb2tzO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbmNvbnN0IG5vZGVfZW52ID0gcHJvY2Vzcy5lbnYubm9kZV9lbnYgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlY7XG5cbmNvbnN0IGVtb3Rpb25Qb29sID0ge307XG5cbmZ1bmN0aW9uIHN0eWxlU2V0VG9FbW90aW9uT2JqZWN0cyhzdHlsZVRvRW1vdGlvbk9iamVjdCwgc3R5bGVTZXQpIHtcbiAgcmV0dXJuIG1hcE1hcChzdHlsZVNldCwgKHN0eWxlLCBrZXkpID0+IChrZXkgPT09ICdvcHRpb25zJyA/IHN0eWxlIDogc3R5bGVUb0Vtb3Rpb25PYmplY3Qoc3R5bGUpKSk7XG59XG5cbnR5cGUgQ29tcG9zZXJDb3JlUHJvcHMgPSB7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBleHRyYVN0eWxlU2V0PzogYW55O1xuICBub25jZT86IHN0cmluZztcbiAgcmVuZGVyTWFya2Rvd24/OiAobWFya2Rvd246IHN0cmluZywgeyBtYXJrZG93blJlc3BlY3RDUkxGOiBib29sZWFuIH0sIHsgZXh0ZXJuYWxMaW5rQWx0OiBzdHJpbmcgfSkgPT4gc3RyaW5nO1xuICBzdHlsZVNldD86IGFueTtcbiAgc3VnZ2VzdGVkQWN0aW9uc0FjY2Vzc0tleT86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIHdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeT86IFdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeTtcbn07XG5cbmNvbnN0IENvbXBvc2VyQ29yZTogRkM8Q29tcG9zZXJDb3JlUHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGV4dHJhU3R5bGVTZXQsXG4gIG5vbmNlLFxuICByZW5kZXJNYXJrZG93bixcbiAgc3R5bGVTZXQsXG4gIHN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXksXG4gIHdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeVxufSkgPT4ge1xuICBjb25zdCBbZGljdGF0ZUFib3J0YWJsZSwgc2V0RGljdGF0ZUFib3J0YWJsZV0gPSB1c2VTdGF0ZSgpO1xuICBjb25zdCBbcmVmZXJlbmNlR3JhbW1hcklEXSA9IHVzZVJlZmVyZW5jZUdyYW1tYXJJRCgpO1xuICBjb25zdCBbc3R5bGVPcHRpb25zXSA9IHVzZVN0eWxlT3B0aW9ucygpO1xuICBjb25zdCBmb2N1c1NlbmRCb3hDYWxsYmFja3NSZWYgPSB1c2VSZWYoW10pO1xuICBjb25zdCBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWYgPSB1c2VSZWYoW10pO1xuICBjb25zdCBpbnRlcm5hbE1hcmtkb3duSXQgPSB1c2VNZW1vKCgpID0+IG5ldyBNYXJrZG93bkl0KCksIFtdKTtcbiAgY29uc3Qgc2Nyb2xsVG9DYWxsYmFja3NSZWYgPSB1c2VSZWYoW10pO1xuICBjb25zdCBzY3JvbGxUb0VuZENhbGxiYWNrc1JlZiA9IHVzZVJlZihbXSk7XG5cbiAgLy8gSW5zdGVhZCBvZiBoYXZpbmcgYSBgc2Nyb2xsVXBDYWxsYmFja3NSZWZgIGFuZCBgc2Nyb2xsRG93bkNhbGxiYWNrc1JlZmAsIHRoZXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgYHNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmYC5cbiAgLy8gVGhlIGZpcnN0IGFyZ3VtZW50IHRlbGxzIHdoZXRoZXIgaXQgc2hvdWxkIGdvIFwidXBcIiBvciBcImRvd25cIi5cbiAgY29uc3Qgc2Nyb2xsUmVsYXRpdmVDYWxsYmFja3NSZWYgPSB1c2VSZWYoW10pO1xuXG4gIGNvbnN0IGRpY3RhdGlvbk9uRXJyb3IgPSB1c2VDYWxsYmFjayhlcnIgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGludGVybmFsUmVuZGVyTWFya2Rvd25JbmxpbmUgPSB1c2VNZW1vKFxuICAgICgpID0+IG1hcmtkb3duID0+IHtcbiAgICAgIGNvbnN0IHRyZWUgPSBpbnRlcm5hbE1hcmtkb3duSXQucGFyc2VJbmxpbmUobWFya2Rvd24pO1xuXG4gICAgICAvLyBXZSBzaG91bGQgYWRkIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBhbmQgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIGNvbnN0IHBhdGNoZWRUcmVlID0gYWRkVGFyZ2V0QmxhbmtUb0h5cGVybGlua3NNYXJrZG93bih0cmVlKTtcblxuICAgICAgcmV0dXJuIGludGVybmFsTWFya2Rvd25JdC5yZW5kZXJlci5yZW5kZXIocGF0Y2hlZFRyZWUpO1xuICAgIH0sXG4gICAgW2ludGVybmFsTWFya2Rvd25JdF1cbiAgKTtcblxuICBjb25zdCBzdHlsZVRvRW1vdGlvbk9iamVjdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIEVtb3Rpb24gZG9lc24ndCBoYXNoIHdpdGggbm9uY2UuIFdlIG5lZWQgdG8gcHJvdmlkZSB0aGUgcG9vbGluZyBtZWNoYW5pc20uXG4gICAgLy8gMS4gSWYgMiBpbnN0YW5jZXMgdXNlIGRpZmZlcmVudCBub25jZSwgdGhleSBzaG91bGQgcmVzdWx0IGluIGRpZmZlcmVudCBoYXNoO1xuICAgIC8vIDIuIElmIDIgaW5zdGFuY2VzIGFyZSBiZWluZyBtb3VudGVkLCBwb29saW5nIHdpbGwgbWFrZSBzdXJlIHdlIHJlbmRlciBvbmx5IDEgc2V0IG9mIDxzdHlsZT4gdGFncywgaW5zdGVhZCBvZiAyLlxuICAgIGNvbnN0IGVtb3Rpb24gPVxuICAgICAgZW1vdGlvblBvb2xbbm9uY2VdIHx8IChlbW90aW9uUG9vbFtub25jZV0gPSBjcmVhdGVFbW90aW9uKHsga2V5OiBgd2ViY2hhdC0tY3NzLSR7Y3JlYXRlQ1NTS2V5KCl9YCwgbm9uY2UgfSkpO1xuXG4gICAgcmV0dXJuIHN0eWxlID0+IGVtb3Rpb24uY3NzKHN0eWxlKTtcbiAgfSwgW25vbmNlXSk7XG5cbiAgY29uc3QgcGF0Y2hlZFN0eWxlU2V0ID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgc3R5bGVTZXRUb0Vtb3Rpb25PYmplY3RzKHN0eWxlVG9FbW90aW9uT2JqZWN0LCB7XG4gICAgICAgIC4uLihzdHlsZVNldCB8fCBjcmVhdGVTdHlsZVNldChzdHlsZU9wdGlvbnMpKSxcbiAgICAgICAgLi4uZXh0cmFTdHlsZVNldFxuICAgICAgfSksXG4gICAgW2V4dHJhU3R5bGVTZXQsIHN0eWxlT3B0aW9ucywgc3R5bGVTZXQsIHN0eWxlVG9FbW90aW9uT2JqZWN0XVxuICApO1xuXG4gIGNvbnN0IHdlYlNwZWVjaFBvbnlmaWxsID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcG9ueWZpbGwgPSB3ZWJTcGVlY2hQb255ZmlsbEZhY3RvcnkgJiYgd2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5KHsgcmVmZXJlbmNlR3JhbW1hcklEIH0pO1xuICAgIGNvbnN0IHsgc3BlZWNoU3ludGhlc2lzLCBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgfSA9IHBvbnlmaWxsIHx8IHt9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnBvbnlmaWxsLFxuICAgICAgc3BlZWNoU3ludGhlc2lzOiBzcGVlY2hTeW50aGVzaXMgfHwgYnlwYXNzU3BlZWNoU3ludGhlc2lzLFxuICAgICAgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOiBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgfHwgQnlwYXNzU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlXG4gICAgfTtcbiAgfSwgW3JlZmVyZW5jZUdyYW1tYXJJRCwgd2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5XSk7XG5cbiAgY29uc3Qgc2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWYgPSB1c2VSZWYoW10pO1xuICBjb25zdCBbbnVtU2Nyb2xsUG9zaXRpb25PYnNlcnZlcnMsIHNldE51bVNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzXSA9IHVzZVN0YXRlKDApO1xuXG4gIGNvbnN0IGRpc3BhdGNoU2Nyb2xsUG9zaXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICBldmVudCA9PiBzY3JvbGxQb3NpdGlvbk9ic2VydmVyc1JlZi5jdXJyZW50LmZvckVhY2gob2JzZXJ2ZXIgPT4gb2JzZXJ2ZXIoZXZlbnQpKSxcbiAgICBbc2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWZdXG4gICk7XG5cbiAgY29uc3Qgb2JzZXJ2ZVNjcm9sbFBvc2l0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgb2JzZXJ2ZXIgPT4ge1xuICAgICAgc2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWYuY3VycmVudCA9IFsuLi5zY3JvbGxQb3NpdGlvbk9ic2VydmVyc1JlZi5jdXJyZW50LCBvYnNlcnZlcl07XG4gICAgICBzZXROdW1TY3JvbGxQb3NpdGlvbk9ic2VydmVycyhzY3JvbGxQb3NpdGlvbk9ic2VydmVyc1JlZi5jdXJyZW50Lmxlbmd0aCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzUmVmLmN1cnJlbnQgPSBzY3JvbGxQb3NpdGlvbk9ic2VydmVyc1JlZi5jdXJyZW50LmZpbHRlcih0YXJnZXQgPT4gdGFyZ2V0ICE9PSBvYnNlcnZlcik7XG4gICAgICAgIHNldE51bVNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzKHNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzUmVmLmN1cnJlbnQubGVuZ3RoKTtcbiAgICAgIH07XG4gICAgfSxcbiAgICBbc2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWYsIHNldE51bVNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzXVxuICApO1xuXG4gIGNvbnN0IHRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZiA9IHVzZVJlZihbXSk7XG4gIGNvbnN0IFtudW1UcmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnMsIHNldE51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVyc10gPSB1c2VTdGF0ZSgwKTtcblxuICBjb25zdCBkaXNwYXRjaFRyYW5zY3JpcHRGb2N1cyA9IHVzZUNhbGxiYWNrKFxuICAgIGV2ZW50ID0+IHRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZi5jdXJyZW50LmZvckVhY2gob2JzZXJ2ZXIgPT4gb2JzZXJ2ZXIoZXZlbnQpKSxcbiAgICBbdHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzUmVmXVxuICApO1xuXG4gIGNvbnN0IG9ic2VydmVUcmFuc2NyaXB0Rm9jdXMgPSB1c2VDYWxsYmFjayhcbiAgICBvYnNlcnZlciA9PiB7XG4gICAgICB0cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWYuY3VycmVudCA9IFsuLi50cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWYuY3VycmVudCwgb2JzZXJ2ZXJdO1xuICAgICAgc2V0TnVtVHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzKHRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZi5jdXJyZW50Lmxlbmd0aCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZi5jdXJyZW50ID0gdHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzUmVmLmN1cnJlbnQuZmlsdGVyKHRhcmdldCA9PiB0YXJnZXQgIT09IG9ic2VydmVyKTtcbiAgICAgICAgc2V0TnVtVHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzKHRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZi5jdXJyZW50Lmxlbmd0aCk7XG4gICAgICB9O1xuICAgIH0sXG4gICAgW3RyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZiwgc2V0TnVtVHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzXVxuICApO1xuXG4gIGNvbnN0IGNvbnRleHQgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBkaWN0YXRlQWJvcnRhYmxlLFxuICAgICAgZGlzcGF0Y2hTY3JvbGxQb3NpdGlvbixcbiAgICAgIGRpc3BhdGNoVHJhbnNjcmlwdEZvY3VzLFxuICAgICAgZm9jdXNTZW5kQm94Q2FsbGJhY2tzUmVmLFxuICAgICAgZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzUmVmLFxuICAgICAgaW50ZXJuYWxNYXJrZG93bkl0U3RhdGU6IFtpbnRlcm5hbE1hcmtkb3duSXRdLFxuICAgICAgaW50ZXJuYWxSZW5kZXJNYXJrZG93bklubGluZSxcbiAgICAgIG5vbmNlLFxuICAgICAgbnVtU2Nyb2xsUG9zaXRpb25PYnNlcnZlcnMsXG4gICAgICBudW1UcmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnMsXG4gICAgICBvYnNlcnZlU2Nyb2xsUG9zaXRpb24sXG4gICAgICBvYnNlcnZlVHJhbnNjcmlwdEZvY3VzLFxuICAgICAgcmVuZGVyTWFya2Rvd24sXG4gICAgICBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZixcbiAgICAgIHNjcm9sbFRvQ2FsbGJhY2tzUmVmLFxuICAgICAgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWYsXG4gICAgICBzZXREaWN0YXRlQWJvcnRhYmxlLFxuICAgICAgc3R5bGVTZXQ6IHBhdGNoZWRTdHlsZVNldCxcbiAgICAgIHN0eWxlVG9FbW90aW9uT2JqZWN0LFxuICAgICAgc3VnZ2VzdGVkQWN0aW9uc0FjY2Vzc0tleSxcbiAgICAgIHdlYlNwZWVjaFBvbnlmaWxsXG4gICAgfSksXG4gICAgW1xuICAgICAgZGljdGF0ZUFib3J0YWJsZSxcbiAgICAgIGRpc3BhdGNoU2Nyb2xsUG9zaXRpb24sXG4gICAgICBkaXNwYXRjaFRyYW5zY3JpcHRGb2N1cyxcbiAgICAgIGZvY3VzU2VuZEJveENhbGxiYWNrc1JlZixcbiAgICAgIGZvY3VzVHJhbnNjcmlwdENhbGxiYWNrc1JlZixcbiAgICAgIGludGVybmFsTWFya2Rvd25JdCxcbiAgICAgIGludGVybmFsUmVuZGVyTWFya2Rvd25JbmxpbmUsXG4gICAgICBub25jZSxcbiAgICAgIG51bVNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzLFxuICAgICAgbnVtVHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzLFxuICAgICAgb2JzZXJ2ZVNjcm9sbFBvc2l0aW9uLFxuICAgICAgb2JzZXJ2ZVRyYW5zY3JpcHRGb2N1cyxcbiAgICAgIHBhdGNoZWRTdHlsZVNldCxcbiAgICAgIHJlbmRlck1hcmtkb3duLFxuICAgICAgc2Nyb2xsUmVsYXRpdmVDYWxsYmFja3NSZWYsXG4gICAgICBzY3JvbGxUb0NhbGxiYWNrc1JlZixcbiAgICAgIHNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmLFxuICAgICAgc2V0RGljdGF0ZUFib3J0YWJsZSxcbiAgICAgIHN0eWxlVG9FbW90aW9uT2JqZWN0LFxuICAgICAgc3VnZ2VzdGVkQWN0aW9uc0FjY2Vzc0tleSxcbiAgICAgIHdlYlNwZWVjaFBvbnlmaWxsXG4gICAgXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFNheUNvbXBvc2VyIHBvbnlmaWxsPXt3ZWJTcGVlY2hQb255ZmlsbH0+XG4gICAgICA8V2ViQ2hhdFVJQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dH0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPERpY3RhdGlvbiBvbkVycm9yPXtkaWN0YXRpb25PbkVycm9yfSAvPlxuICAgICAgPC9XZWJDaGF0VUlDb250ZXh0LlByb3ZpZGVyPlxuICAgIDwvU2F5Q29tcG9zZXI+XG4gICk7XG59O1xuXG5Db21wb3NlckNvcmUuZGVmYXVsdFByb3BzID0ge1xuICBleHRyYVN0eWxlU2V0OiB1bmRlZmluZWQsXG4gIG5vbmNlOiB1bmRlZmluZWQsXG4gIHJlbmRlck1hcmtkb3duOiB1bmRlZmluZWQsXG4gIHN0eWxlU2V0OiB1bmRlZmluZWQsXG4gIHN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXk6ICdBIGEgw4Ugw6UnLFxuICB3ZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnk6IHVuZGVmaW5lZFxufTtcblxuQ29tcG9zZXJDb3JlLnByb3BUeXBlcyA9IHtcbiAgZXh0cmFTdHlsZVNldDogUHJvcFR5cGVzLmFueSxcbiAgbm9uY2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJlbmRlck1hcmtkb3duOiBQcm9wVHlwZXMuZnVuYyxcbiAgc3R5bGVTZXQ6IFByb3BUeXBlcy5hbnksXG4gIHN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXk6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vbmVPZihbZmFsc2VdKSwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICB3ZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnk6IFByb3BUeXBlcy5mdW5jXG59O1xuXG50eXBlIENvbXBvc2VyUHJvcHMgPSBBUElDb21wb3NlclByb3BzICZcbiAgQ29tcG9zZXJDb3JlUHJvcHMgJiB7XG4gICAgbm9uY2U/OiBzdHJpbmc7XG4gICAgd2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5PzogV2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5O1xuICB9O1xuXG5jb25zdCBDb21wb3NlcjogRkM8Q29tcG9zZXJQcm9wcz4gPSAoe1xuICBhY3Rpdml0eU1pZGRsZXdhcmUsXG4gIGFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSxcbiAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUsXG4gIGF0dGFjaG1lbnRNaWRkbGV3YXJlLFxuICBhdmF0YXJNaWRkbGV3YXJlLFxuICBjYXJkQWN0aW9uTWlkZGxld2FyZSxcbiAgY2hpbGRyZW4sXG4gIGV4dHJhU3R5bGVTZXQsXG4gIHJlbmRlck1hcmtkb3duLFxuICBzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUsXG4gIHN0eWxlU2V0LFxuICBzdWdnZXN0ZWRBY3Rpb25zQWNjZXNzS2V5LFxuICB0b2FzdE1pZGRsZXdhcmUsXG4gIHR5cGluZ0luZGljYXRvck1pZGRsZXdhcmUsXG4gIHdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeSxcbiAgLi4uY29tcG9zZXJQcm9wc1xufSkgPT4ge1xuICBjb25zdCB7IG5vbmNlLCBvblRlbGVtZXRyeSB9ID0gY29tcG9zZXJQcm9wcztcblxuICBjb25zdCBwYXRjaGVkQWN0aXZpdHlNaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbLi4uc2luZ2xlVG9BcnJheShhY3Rpdml0eU1pZGRsZXdhcmUpLCAuLi5jcmVhdGVEZWZhdWx0QWN0aXZpdHlNaWRkbGV3YXJlKCldLFxuICAgIFthY3Rpdml0eU1pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZEFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gWy4uLnNpbmdsZVRvQXJyYXkoYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlKSwgLi4uY3JlYXRlRGVmYXVsdEFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSgpXSxcbiAgICBbYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlXVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gW1xuICAgICAgLi4uc2luZ2xlVG9BcnJheShhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSksXG4gICAgICAuLi5jcmVhdGVEZWZhdWx0QXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUoKVxuICAgIF0sXG4gICAgW2F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlXVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRBdHRhY2htZW50TWlkZGxld2FyZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gWy4uLnNpbmdsZVRvQXJyYXkoYXR0YWNobWVudE1pZGRsZXdhcmUpLCAuLi5jcmVhdGVEZWZhdWx0QXR0YWNobWVudE1pZGRsZXdhcmUoKV0sXG4gICAgW2F0dGFjaG1lbnRNaWRkbGV3YXJlXVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRBdmF0YXJNaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbLi4uc2luZ2xlVG9BcnJheShhdmF0YXJNaWRkbGV3YXJlKSwgLi4uY3JlYXRlRGVmYXVsdEF2YXRhck1pZGRsZXdhcmUoKV0sXG4gICAgW2F2YXRhck1pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZENhcmRBY3Rpb25NaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbLi4uc2luZ2xlVG9BcnJheShjYXJkQWN0aW9uTWlkZGxld2FyZSksIC4uLmNyZWF0ZURlZmF1bHRDYXJkQWN0aW9uTWlkZGxld2FyZSgpXSxcbiAgICBbY2FyZEFjdGlvbk1pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZFRvYXN0TWlkZGxld2FyZSA9IHVzZU1lbW8oKCkgPT4gWy4uLnNpbmdsZVRvQXJyYXkodG9hc3RNaWRkbGV3YXJlKSwgLi4uY3JlYXRlRGVmYXVsdFRvYXN0TWlkZGxld2FyZSgpXSwgW1xuICAgIHRvYXN0TWlkZGxld2FyZVxuICBdKTtcblxuICBjb25zdCBwYXRjaGVkVHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gWy4uLnNpbmdsZVRvQXJyYXkodHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSksIC4uLmNyZWF0ZURlZmF1bHRUeXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlKCldLFxuICAgIFt0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlXVxuICApO1xuXG4gIGNvbnN0IGRlZmF1bHRTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUgPSB1c2VNZW1vKCgpID0+IGNyZWF0ZURlZmF1bHRTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUoKSwgW10pO1xuXG4gIGNvbnN0IHBhdGNoZWRTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUgPSB1c2VNZW1vKFxuICAgICgpID0+IFsuLi5zaW5nbGVUb0FycmF5KHNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSksIC4uLmRlZmF1bHRTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmVdLFxuICAgIFtkZWZhdWx0U2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlLCBzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8QVBJQ29tcG9zZXJcbiAgICAgICAgYWN0aXZpdHlNaWRkbGV3YXJlPXtwYXRjaGVkQWN0aXZpdHlNaWRkbGV3YXJlfVxuICAgICAgICBhY3Rpdml0eVN0YXR1c01pZGRsZXdhcmU9e3BhdGNoZWRBY3Rpdml0eVN0YXR1c01pZGRsZXdhcmV9XG4gICAgICAgIGF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlPXtwYXRjaGVkQXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmV9XG4gICAgICAgIGF0dGFjaG1lbnRNaWRkbGV3YXJlPXtwYXRjaGVkQXR0YWNobWVudE1pZGRsZXdhcmV9XG4gICAgICAgIGF2YXRhck1pZGRsZXdhcmU9e3BhdGNoZWRBdmF0YXJNaWRkbGV3YXJlfVxuICAgICAgICBjYXJkQWN0aW9uTWlkZGxld2FyZT17cGF0Y2hlZENhcmRBY3Rpb25NaWRkbGV3YXJlfVxuICAgICAgICBkb3duc2NhbGVJbWFnZVRvRGF0YVVSTD17ZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkx9XG4gICAgICAgIC8vIFVuZGVyIGRldiBzZXJ2ZXIgb2YgY3JlYXRlLXJlYWN0LWFwcCwgXCJOT0RFX0VOVlwiIHdpbGwgYmUgc2V0IHRvIFwiZGV2ZWxvcG1lbnRcIi5cbiAgICAgICAgaW50ZXJuYWxFcnJvckJveENsYXNzPXtub2RlX2VudiA9PT0gJ2RldmVsb3BtZW50JyA/IEVycm9yQm94IDogdW5kZWZpbmVkfVxuICAgICAgICBub25jZT17bm9uY2V9XG4gICAgICAgIHNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZT17cGF0Y2hlZFNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZX1cbiAgICAgICAgdG9hc3RNaWRkbGV3YXJlPXtwYXRjaGVkVG9hc3RNaWRkbGV3YXJlfVxuICAgICAgICB0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlPXtwYXRjaGVkVHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZX1cbiAgICAgICAgey4uLmNvbXBvc2VyUHJvcHN9XG4gICAgICA+XG4gICAgICAgIDxDb21wb3NlckNvcmVcbiAgICAgICAgICBleHRyYVN0eWxlU2V0PXtleHRyYVN0eWxlU2V0fVxuICAgICAgICAgIG5vbmNlPXtub25jZX1cbiAgICAgICAgICByZW5kZXJNYXJrZG93bj17cmVuZGVyTWFya2Rvd259XG4gICAgICAgICAgc3R5bGVTZXQ9e3N0eWxlU2V0fVxuICAgICAgICAgIHN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXk9e3N1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXl9XG4gICAgICAgICAgd2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5PXt3ZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnl9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAge29uVGVsZW1ldHJ5ICYmIDxVSVRyYWNrZXIgLz59XG4gICAgICAgIDwvQ29tcG9zZXJDb3JlPlxuICAgICAgPC9BUElDb21wb3Nlcj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuQ29tcG9zZXIuZGVmYXVsdFByb3BzID0ge1xuICAuLi5BUElDb21wb3Nlci5kZWZhdWx0UHJvcHMsXG4gIC4uLkNvbXBvc2VyQ29yZS5kZWZhdWx0UHJvcHMsXG4gIGNoaWxkcmVuOiB1bmRlZmluZWRcbn07XG5cbkNvbXBvc2VyLnByb3BUeXBlcyA9IHtcbiAgLi4uQVBJQ29tcG9zZXIucHJvcFR5cGVzLFxuICAuLi5Db21wb3NlckNvcmUucHJvcFR5cGVzLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9zZXI7XG5cbmV4cG9ydCB0eXBlIHsgQ29tcG9zZXJQcm9wcyB9O1xuIl19
368
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Db21wb3Nlci50c3giXSwibmFtZXMiOlsidXNlR2V0QWN0aXZpdHlCeUtleSIsImhvb2tzIiwidXNlUmVmZXJlbmNlR3JhbW1hcklEIiwidXNlU3R5bGVPcHRpb25zIiwibm9kZV9lbnYiLCJlbW90aW9uUG9vbCIsInN0eWxlU2V0VG9FbW90aW9uT2JqZWN0cyIsInN0eWxlVG9FbW90aW9uT2JqZWN0Iiwic3R5bGVTZXQiLCJzdHlsZSIsImtleSIsIkNvbXBvc2VyQ29yZSIsImNoaWxkcmVuIiwiZXh0cmFTdHlsZVNldCIsIm5vbmNlIiwicmVuZGVyTWFya2Rvd24iLCJzdWdnZXN0ZWRBY3Rpb25zQWNjZXNzS2V5Iiwid2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5IiwiZGljdGF0ZUFib3J0YWJsZSIsInNldERpY3RhdGVBYm9ydGFibGUiLCJyZWZlcmVuY2VHcmFtbWFySUQiLCJzdHlsZU9wdGlvbnMiLCJmb2N1c1NlbmRCb3hDYWxsYmFja3NSZWYiLCJmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWYiLCJpbnRlcm5hbE1hcmtkb3duSXQiLCJNYXJrZG93bkl0Iiwic2Nyb2xsVG9DYWxsYmFja3NSZWYiLCJzY3JvbGxUb0VuZENhbGxiYWNrc1JlZiIsInNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmIiwiZGljdGF0aW9uT25FcnJvciIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImludGVybmFsUmVuZGVyTWFya2Rvd25JbmxpbmUiLCJtYXJrZG93biIsInRyZWUiLCJwYXJzZUlubGluZSIsInBhdGNoZWRUcmVlIiwicmVuZGVyZXIiLCJyZW5kZXIiLCJlbW90aW9uIiwiY3NzIiwicGF0Y2hlZFN0eWxlU2V0Iiwid2ViU3BlZWNoUG9ueWZpbGwiLCJwb255ZmlsbCIsInNwZWVjaFN5bnRoZXNpcyIsIlNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSIsImJ5cGFzc1NwZWVjaFN5bnRoZXNpcyIsIkJ5cGFzc1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSIsInNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzUmVmIiwiZGlzcGF0Y2hTY3JvbGxQb3NpdGlvbiIsImV2ZW50IiwiY3VycmVudCIsImZvckVhY2giLCJvYnNlcnZlciIsIm9ic2VydmVTY3JvbGxQb3NpdGlvbiIsImZpbHRlciIsInRhcmdldCIsInRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZiIsIm51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVycyIsInNldE51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVycyIsImdldEFjdGl2aXR5QnlLZXkiLCJkaXNwYXRjaFRyYW5zY3JpcHRGb2N1c0J5QWN0aXZpdHlLZXkiLCJwcmV2QWN0aXZpdHlLZXkiLCJTeW1ib2wiLCJhY3Rpdml0eUtleSIsImFjdGl2aXR5Iiwib2JzZXJ2ZVRyYW5zY3JpcHRGb2N1cyIsImxlbmd0aCIsImNvbnRleHQiLCJpbnRlcm5hbE1hcmtkb3duSXRTdGF0ZSIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFueSIsInN0cmluZyIsImZ1bmMiLCJvbmVPZlR5cGUiLCJvbmVPZiIsIkNvbXBvc2VyIiwiYWN0aXZpdHlNaWRkbGV3YXJlIiwiYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlIiwiYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUiLCJhdHRhY2htZW50TWlkZGxld2FyZSIsImF2YXRhck1pZGRsZXdhcmUiLCJjYXJkQWN0aW9uTWlkZGxld2FyZSIsInNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSIsInRvYXN0TWlkZGxld2FyZSIsInR5cGluZ0luZGljYXRvck1pZGRsZXdhcmUiLCJjb21wb3NlclByb3BzIiwib25UZWxlbWV0cnkiLCJwYXRjaGVkQWN0aXZpdHlNaWRkbGV3YXJlIiwicGF0Y2hlZEFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSIsInBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSIsInBhdGNoZWRBdHRhY2htZW50TWlkZGxld2FyZSIsInBhdGNoZWRBdmF0YXJNaWRkbGV3YXJlIiwicGF0Y2hlZENhcmRBY3Rpb25NaWRkbGV3YXJlIiwicGF0Y2hlZFRvYXN0TWlkZGxld2FyZSIsInBhdGNoZWRUeXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlIiwiZGVmYXVsdFNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSIsInBhdGNoZWRTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUiLCJkb3duc2NhbGVJbWFnZVRvRGF0YVVSTCIsIkVycm9yQm94IiwiQVBJQ29tcG9zZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUlBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxtQkFBUixHQUF3RUMsNkJBQXhFLENBQVFELG1CQUFSO0FBQUEsSUFBNkJFLHFCQUE3QixHQUF3RUQsNkJBQXhFLENBQTZCQyxxQkFBN0I7QUFBQSxJQUFvREMsZUFBcEQsR0FBd0VGLDZCQUF4RSxDQUFvREUsZUFBcEQ7QUFFQSxJQUFNQyxRQUFRLEdBQUcseUJBQWpCO0FBRUEsSUFBTUMsV0FBVyxHQUFHLEVBQXBCOztBQUVBLFNBQVNDLHdCQUFULENBQWtDQyxvQkFBbEMsRUFBd0RDLFFBQXhELEVBQWtFO0FBQ2hFLFNBQU8scUJBQU9BLFFBQVAsRUFBaUIsVUFBQ0MsS0FBRCxFQUFRQyxHQUFSO0FBQUEsV0FBaUJBLEdBQUcsS0FBSyxTQUFSLEdBQW9CRCxLQUFwQixHQUE0QkYsb0JBQW9CLENBQUNFLEtBQUQsQ0FBakU7QUFBQSxHQUFqQixDQUFQO0FBQ0Q7O0FBWUQsSUFBTUUsWUFBbUMsR0FBRyxTQUF0Q0EsWUFBc0MsT0FRdEM7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TUUsSUFBQSxvQkFBb0IsRUFBRUMsMkJBTnhCO0FBT0UsSUFBQSx1QkFBdUIsRUFBRUssZ0NBUDNCLENBUUU7QUFSRjtBQVNFLElBQUEscUJBQXFCLEVBQUVsRyxRQUFRLEtBQUssYUFBYixHQUE2Qm1HLGlCQUE3QixHQUF3Qy9CLFNBVGpFO0FBVUUsSUFBQSxLQUFLLEVBQUUxRCxLQVZUO0FBV0UsSUFBQSwyQkFBMkIsRUFBRXVGLGtDQVgvQjtBQVlFLElBQUEsZUFBZSxFQUFFSCxzQkFabkI7QUFhRSxJQUFBLHlCQUF5QixFQUFFQztBQWI3QixLQWNNVCxhQWROLGdCQWdCRSw2QkFBQyw2QkFBRCxxQkFDRSw2QkFBQyxZQUFEO0FBQ0UsSUFBQSxhQUFhLEVBQUU3RSxhQURqQjtBQUVFLElBQUEsS0FBSyxFQUFFQyxLQUZUO0FBR0UsSUFBQSxjQUFjLEVBQUVDLGNBSGxCO0FBSUUsSUFBQSxRQUFRLEVBQUVQLFFBSlo7QUFLRSxJQUFBLHlCQUF5QixFQUFFUSx5QkFMN0I7QUFNRSxJQUFBLHdCQUF3QixFQUFFQztBQU41QixLQVFHTCxRQVJILEVBU0crRSxXQUFXLGlCQUFJLDZCQUFDLGtCQUFELE9BVGxCLENBREYsQ0FoQkYsQ0FERixDQURGO0FBa0NELENBeEdEOztBQTBHQVgsUUFBUSxDQUFDVCxZQUFULGlEQUNLaUMsaUNBQVlqQyxZQURqQixHQUVLNUQsWUFBWSxDQUFDNEQsWUFGbEI7QUFHRTNELEVBQUFBLFFBQVEsRUFBRTREO0FBSFo7QUFNQVEsUUFBUSxDQUFDUCxTQUFULGlEQUNLK0IsaUNBQVkvQixTQURqQixHQUVLOUQsWUFBWSxDQUFDOEQsU0FGbEI7QUFHRTdELEVBQUFBLFFBQVEsRUFBRThELG1CQUFVQztBQUh0QjtlQU1lSyxRIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb3NlciBhcyBBUElDb21wb3NlcixcbiAgQ29tcG9zZXJQcm9wcyBhcyBBUElDb21wb3NlclByb3BzLFxuICBob29rcyxcbiAgV2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5XG59IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgeyBDb21wb3NlciBhcyBTYXlDb21wb3NlciB9IGZyb20gJ3JlYWN0LXNheSc7XG5pbXBvcnQgeyBzaW5nbGVUb0FycmF5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5pbXBvcnQgY3JlYXRlRW1vdGlvbiBmcm9tICdAZW1vdGlvbi9jc3MvY3JlYXRlLWluc3RhbmNlJztcbmltcG9ydCBjcmVhdGVTdHlsZVNldCBmcm9tICcuL1N0eWxlcy9jcmVhdGVTdHlsZVNldCc7XG5pbXBvcnQgTWFya2Rvd25JdCBmcm9tICdtYXJrZG93bi1pdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge1xuICBzcGVlY2hTeW50aGVzaXMgYXMgYnlwYXNzU3BlZWNoU3ludGhlc2lzLFxuICBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgYXMgQnlwYXNzU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlXG59IGZyb20gJy4vaG9va3MvaW50ZXJuYWwvQnlwYXNzU3BlZWNoU3ludGhlc2lzUG9ueWZpbGwnO1xuaW1wb3J0IEFjdGl2aXR5VHJlZUNvbXBvc2VyIGZyb20gJy4vcHJvdmlkZXJzL0FjdGl2aXR5VHJlZS9BY3Rpdml0eVRyZWVDb21wb3Nlcic7XG5pbXBvcnQgYWRkVGFyZ2V0QmxhbmtUb0h5cGVybGlua3NNYXJrZG93biBmcm9tICcuL1V0aWxzL2FkZFRhcmdldEJsYW5rVG9IeXBlcmxpbmtzTWFya2Rvd24nO1xuaW1wb3J0IGNyZWF0ZUNTU0tleSBmcm9tICcuL1V0aWxzL2NyZWF0ZUNTU0tleSc7XG5pbXBvcnQgY3JlYXRlRGVmYXVsdEFjdGl2aXR5TWlkZGxld2FyZSBmcm9tICcuL01pZGRsZXdhcmUvQWN0aXZpdHkvY3JlYXRlQ29yZU1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZURlZmF1bHRBY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL0FjdGl2aXR5U3RhdHVzL2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVEZWZhdWx0QXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL0F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXIvY3JlYXRlQ29yZU1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZURlZmF1bHRBdHRhY2htZW50TWlkZGxld2FyZSBmcm9tICcuL01pZGRsZXdhcmUvQXR0YWNobWVudC9jcmVhdGVDb3JlTWlkZGxld2FyZSc7XG5pbXBvcnQgY3JlYXRlRGVmYXVsdEF2YXRhck1pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL0F2YXRhci9jcmVhdGVDb3JlTWlkZGxld2FyZSc7XG5pbXBvcnQgY3JlYXRlRGVmYXVsdENhcmRBY3Rpb25NaWRkbGV3YXJlIGZyb20gJy4vTWlkZGxld2FyZS9DYXJkQWN0aW9uL2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVEZWZhdWx0U2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlIGZyb20gJy4vTWlkZGxld2FyZS9TY3JvbGxUb0VuZEJ1dHRvbi9jcmVhdGVTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZURlZmF1bHRUb2FzdE1pZGRsZXdhcmUgZnJvbSAnLi9NaWRkbGV3YXJlL1RvYXN0L2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVEZWZhdWx0VHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSBmcm9tICcuL01pZGRsZXdhcmUvVHlwaW5nSW5kaWNhdG9yL2NyZWF0ZUNvcmVNaWRkbGV3YXJlJztcbmltcG9ydCBEaWN0YXRpb24gZnJvbSAnLi9EaWN0YXRpb24nO1xuaW1wb3J0IGRvd25zY2FsZUltYWdlVG9EYXRhVVJMIGZyb20gJy4vVXRpbHMvZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkwnO1xuaW1wb3J0IEVycm9yQm94IGZyb20gJy4vRXJyb3JCb3gnO1xuaW1wb3J0IG1hcE1hcCBmcm9tICcuL1V0aWxzL21hcE1hcCc7XG5pbXBvcnQgVUlUcmFja2VyIGZyb20gJy4vaG9va3MvaW50ZXJuYWwvVUlUcmFja2VyJztcbmltcG9ydCBXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vaG9va3MvaW50ZXJuYWwvV2ViQ2hhdFVJQ29udGV4dCc7XG5cbmNvbnN0IHsgdXNlR2V0QWN0aXZpdHlCeUtleSwgdXNlUmVmZXJlbmNlR3JhbW1hcklELCB1c2VTdHlsZU9wdGlvbnMgfSA9IGhvb2tzO1xuXG5jb25zdCBub2RlX2VudiA9IHByb2Nlc3MuZW52Lm5vZGVfZW52IHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WO1xuXG5jb25zdCBlbW90aW9uUG9vbCA9IHt9O1xuXG5mdW5jdGlvbiBzdHlsZVNldFRvRW1vdGlvbk9iamVjdHMoc3R5bGVUb0Vtb3Rpb25PYmplY3QsIHN0eWxlU2V0KSB7XG4gIHJldHVybiBtYXBNYXAoc3R5bGVTZXQsIChzdHlsZSwga2V5KSA9PiAoa2V5ID09PSAnb3B0aW9ucycgPyBzdHlsZSA6IHN0eWxlVG9FbW90aW9uT2JqZWN0KHN0eWxlKSkpO1xufVxuXG50eXBlIENvbXBvc2VyQ29yZVByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZVNldD86IGFueTtcbiAgbm9uY2U/OiBzdHJpbmc7XG4gIHJlbmRlck1hcmtkb3duPzogKG1hcmtkb3duOiBzdHJpbmcsIHsgbWFya2Rvd25SZXNwZWN0Q1JMRjogYm9vbGVhbiB9LCB7IGV4dGVybmFsTGlua0FsdDogc3RyaW5nIH0pID0+IHN0cmluZztcbiAgc3R5bGVTZXQ/OiBhbnk7XG4gIHN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXk/OiBib29sZWFuIHwgc3RyaW5nO1xuICB3ZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnk/OiBXZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnk7XG59O1xuXG5jb25zdCBDb21wb3NlckNvcmU6IEZDPENvbXBvc2VyQ29yZVByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBleHRyYVN0eWxlU2V0LFxuICBub25jZSxcbiAgcmVuZGVyTWFya2Rvd24sXG4gIHN0eWxlU2V0LFxuICBzdWdnZXN0ZWRBY3Rpb25zQWNjZXNzS2V5LFxuICB3ZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnlcbn0pID0+IHtcbiAgY29uc3QgW2RpY3RhdGVBYm9ydGFibGUsIHNldERpY3RhdGVBYm9ydGFibGVdID0gdXNlU3RhdGUoKTtcbiAgY29uc3QgW3JlZmVyZW5jZUdyYW1tYXJJRF0gPSB1c2VSZWZlcmVuY2VHcmFtbWFySUQoKTtcbiAgY29uc3QgW3N0eWxlT3B0aW9uc10gPSB1c2VTdHlsZU9wdGlvbnMoKTtcbiAgY29uc3QgZm9jdXNTZW5kQm94Q2FsbGJhY2tzUmVmID0gdXNlUmVmKFtdKTtcbiAgY29uc3QgZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzUmVmID0gdXNlUmVmKFtdKTtcbiAgY29uc3QgaW50ZXJuYWxNYXJrZG93bkl0ID0gdXNlTWVtbygoKSA9PiBuZXcgTWFya2Rvd25JdCgpLCBbXSk7XG4gIGNvbnN0IHNjcm9sbFRvQ2FsbGJhY2tzUmVmID0gdXNlUmVmKFtdKTtcbiAgY29uc3Qgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWYgPSB1c2VSZWYoW10pO1xuXG4gIC8vIEluc3RlYWQgb2YgaGF2aW5nIGEgYHNjcm9sbFVwQ2FsbGJhY2tzUmVmYCBhbmQgYHNjcm9sbERvd25DYWxsYmFja3NSZWZgLCB0aGV5IGFyZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIGBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZmAuXG4gIC8vIFRoZSBmaXJzdCBhcmd1bWVudCB0ZWxscyB3aGV0aGVyIGl0IHNob3VsZCBnbyBcInVwXCIgb3IgXCJkb3duXCIuXG4gIGNvbnN0IHNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmID0gdXNlUmVmKFtdKTtcblxuICBjb25zdCBkaWN0YXRpb25PbkVycm9yID0gdXNlQ2FsbGJhY2soZXJyID0+IHtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH0sIFtdKTtcblxuICBjb25zdCBpbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lID0gdXNlTWVtbyhcbiAgICAoKSA9PiBtYXJrZG93biA9PiB7XG4gICAgICBjb25zdCB0cmVlID0gaW50ZXJuYWxNYXJrZG93bkl0LnBhcnNlSW5saW5lKG1hcmtkb3duKTtcblxuICAgICAgLy8gV2Ugc2hvdWxkIGFkZCByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgYW5kIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICBjb25zdCBwYXRjaGVkVHJlZSA9IGFkZFRhcmdldEJsYW5rVG9IeXBlcmxpbmtzTWFya2Rvd24odHJlZSk7XG5cbiAgICAgIHJldHVybiBpbnRlcm5hbE1hcmtkb3duSXQucmVuZGVyZXIucmVuZGVyKHBhdGNoZWRUcmVlKTtcbiAgICB9LFxuICAgIFtpbnRlcm5hbE1hcmtkb3duSXRdXG4gICk7XG5cbiAgY29uc3Qgc3R5bGVUb0Vtb3Rpb25PYmplY3QgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAvLyBFbW90aW9uIGRvZXNuJ3QgaGFzaCB3aXRoIG5vbmNlLiBXZSBuZWVkIHRvIHByb3ZpZGUgdGhlIHBvb2xpbmcgbWVjaGFuaXNtLlxuICAgIC8vIDEuIElmIDIgaW5zdGFuY2VzIHVzZSBkaWZmZXJlbnQgbm9uY2UsIHRoZXkgc2hvdWxkIHJlc3VsdCBpbiBkaWZmZXJlbnQgaGFzaDtcbiAgICAvLyAyLiBJZiAyIGluc3RhbmNlcyBhcmUgYmVpbmcgbW91bnRlZCwgcG9vbGluZyB3aWxsIG1ha2Ugc3VyZSB3ZSByZW5kZXIgb25seSAxIHNldCBvZiA8c3R5bGU+IHRhZ3MsIGluc3RlYWQgb2YgMi5cbiAgICBjb25zdCBlbW90aW9uID1cbiAgICAgIC8vIFByZWZpeCBcImlkLVwiIHRvIHByZXZlbnQgb2JqZWN0IGluamVjdGlvbiBhdHRhY2suXG4gICAgICBlbW90aW9uUG9vbFtgaWQtJHtub25jZX1gXSB8fFxuICAgICAgKGVtb3Rpb25Qb29sW2BpZC0ke25vbmNlfWBdID0gY3JlYXRlRW1vdGlvbih7IGtleTogYHdlYmNoYXQtLWNzcy0ke2NyZWF0ZUNTU0tleSgpfWAsIG5vbmNlIH0pKTtcblxuICAgIHJldHVybiBzdHlsZSA9PiBlbW90aW9uLmNzcyhzdHlsZSk7XG4gIH0sIFtub25jZV0pO1xuXG4gIGNvbnN0IHBhdGNoZWRTdHlsZVNldCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIHN0eWxlU2V0VG9FbW90aW9uT2JqZWN0cyhzdHlsZVRvRW1vdGlvbk9iamVjdCwge1xuICAgICAgICAuLi4oc3R5bGVTZXQgfHwgY3JlYXRlU3R5bGVTZXQoc3R5bGVPcHRpb25zKSksXG4gICAgICAgIC4uLmV4dHJhU3R5bGVTZXRcbiAgICAgIH0pLFxuICAgIFtleHRyYVN0eWxlU2V0LCBzdHlsZU9wdGlvbnMsIHN0eWxlU2V0LCBzdHlsZVRvRW1vdGlvbk9iamVjdF1cbiAgKTtcblxuICBjb25zdCB3ZWJTcGVlY2hQb255ZmlsbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBvbnlmaWxsID0gd2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5ICYmIHdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeSh7IHJlZmVyZW5jZUdyYW1tYXJJRCB9KTtcbiAgICBjb25zdCB7IHNwZWVjaFN5bnRoZXNpcywgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIH0gPSBwb255ZmlsbCB8fCB7fTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5wb255ZmlsbCxcbiAgICAgIHNwZWVjaFN5bnRoZXNpczogc3BlZWNoU3ludGhlc2lzIHx8IGJ5cGFzc1NwZWVjaFN5bnRoZXNpcyxcbiAgICAgIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIHx8IEJ5cGFzc1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZVxuICAgIH07XG4gIH0sIFtyZWZlcmVuY2VHcmFtbWFySUQsIHdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeV0pO1xuXG4gIGNvbnN0IHNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzUmVmID0gdXNlUmVmKFtdKTtcblxuICBjb25zdCBkaXNwYXRjaFNjcm9sbFBvc2l0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgZXZlbnQgPT4gc2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWYuY3VycmVudC5mb3JFYWNoKG9ic2VydmVyID0+IG9ic2VydmVyKGV2ZW50KSksXG4gICAgW3Njcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzUmVmXVxuICApO1xuXG4gIGNvbnN0IG9ic2VydmVTY3JvbGxQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIG9ic2VydmVyID0+IHtcbiAgICAgIHNjcm9sbFBvc2l0aW9uT2JzZXJ2ZXJzUmVmLmN1cnJlbnQgPSBbLi4uc2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWYuY3VycmVudCwgb2JzZXJ2ZXJdO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBzY3JvbGxQb3NpdGlvbk9ic2VydmVyc1JlZi5jdXJyZW50ID0gc2Nyb2xsUG9zaXRpb25PYnNlcnZlcnNSZWYuY3VycmVudC5maWx0ZXIodGFyZ2V0ID0+IHRhcmdldCAhPT0gb2JzZXJ2ZXIpO1xuICAgICAgfTtcbiAgICB9LFxuICAgIFtzY3JvbGxQb3NpdGlvbk9ic2VydmVyc1JlZl1cbiAgKTtcblxuICBjb25zdCB0cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWYgPSB1c2VSZWYoW10pO1xuICBjb25zdCBbbnVtVHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzLCBzZXROdW1UcmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNdID0gdXNlU3RhdGUoMCk7XG5cbiAgY29uc3QgZ2V0QWN0aXZpdHlCeUtleSA9IHVzZUdldEFjdGl2aXR5QnlLZXkoKTtcblxuICBjb25zdCBkaXNwYXRjaFRyYW5zY3JpcHRGb2N1c0J5QWN0aXZpdHlLZXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgcHJldkFjdGl2aXR5S2V5OiBzdHJpbmcgfCBTeW1ib2wgfCB1bmRlZmluZWQgPSBTeW1ib2woKTtcblxuICAgIHJldHVybiBhY3Rpdml0eUtleSA9PiB7XG4gICAgICBpZiAoYWN0aXZpdHlLZXkgIT09IHByZXZBY3Rpdml0eUtleSkge1xuICAgICAgICBwcmV2QWN0aXZpdHlLZXkgPSBhY3Rpdml0eUtleTtcblxuICAgICAgICBjb25zdCBldmVudCA9IHsgYWN0aXZpdHk6IGdldEFjdGl2aXR5QnlLZXkoYWN0aXZpdHlLZXkpIH07XG5cbiAgICAgICAgdHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzUmVmLmN1cnJlbnQuZm9yRWFjaChvYnNlcnZlciA9PiBvYnNlcnZlcihldmVudCkpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtnZXRBY3Rpdml0eUJ5S2V5LCB0cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWZdKTtcblxuICBjb25zdCBvYnNlcnZlVHJhbnNjcmlwdEZvY3VzID0gdXNlQ2FsbGJhY2soXG4gICAgb2JzZXJ2ZXIgPT4ge1xuICAgICAgdHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzUmVmLmN1cnJlbnQgPSBbLi4udHJhbnNjcmlwdEZvY3VzT2JzZXJ2ZXJzUmVmLmN1cnJlbnQsIG9ic2VydmVyXTtcbiAgICAgIHNldE51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVycyh0cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWYuY3VycmVudC5sZW5ndGgpO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWYuY3VycmVudCA9IHRyYW5zY3JpcHRGb2N1c09ic2VydmVyc1JlZi5jdXJyZW50LmZpbHRlcih0YXJnZXQgPT4gdGFyZ2V0ICE9PSBvYnNlcnZlcik7XG4gICAgICAgIHNldE51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVycyh0cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWYuY3VycmVudC5sZW5ndGgpO1xuICAgICAgfTtcbiAgICB9LFxuICAgIFt0cmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnNSZWYsIHNldE51bVRyYW5zY3JpcHRGb2N1c09ic2VydmVyc11cbiAgKTtcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZGljdGF0ZUFib3J0YWJsZSxcbiAgICAgIGRpc3BhdGNoU2Nyb2xsUG9zaXRpb24sXG4gICAgICBkaXNwYXRjaFRyYW5zY3JpcHRGb2N1c0J5QWN0aXZpdHlLZXksXG4gICAgICBmb2N1c1NlbmRCb3hDYWxsYmFja3NSZWYsXG4gICAgICBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWYsXG4gICAgICBpbnRlcm5hbE1hcmtkb3duSXRTdGF0ZTogW2ludGVybmFsTWFya2Rvd25JdF0sXG4gICAgICBpbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lLFxuICAgICAgbm9uY2UsXG4gICAgICBudW1UcmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnMsXG4gICAgICBvYnNlcnZlU2Nyb2xsUG9zaXRpb24sXG4gICAgICBvYnNlcnZlVHJhbnNjcmlwdEZvY3VzLFxuICAgICAgcmVuZGVyTWFya2Rvd24sXG4gICAgICBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZixcbiAgICAgIHNjcm9sbFRvQ2FsbGJhY2tzUmVmLFxuICAgICAgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWYsXG4gICAgICBzZXREaWN0YXRlQWJvcnRhYmxlLFxuICAgICAgc3R5bGVTZXQ6IHBhdGNoZWRTdHlsZVNldCxcbiAgICAgIHN0eWxlVG9FbW90aW9uT2JqZWN0LFxuICAgICAgc3VnZ2VzdGVkQWN0aW9uc0FjY2Vzc0tleSxcbiAgICAgIHdlYlNwZWVjaFBvbnlmaWxsXG4gICAgfSksXG4gICAgW1xuICAgICAgZGljdGF0ZUFib3J0YWJsZSxcbiAgICAgIGRpc3BhdGNoU2Nyb2xsUG9zaXRpb24sXG4gICAgICBkaXNwYXRjaFRyYW5zY3JpcHRGb2N1c0J5QWN0aXZpdHlLZXksXG4gICAgICBmb2N1c1NlbmRCb3hDYWxsYmFja3NSZWYsXG4gICAgICBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWYsXG4gICAgICBpbnRlcm5hbE1hcmtkb3duSXQsXG4gICAgICBpbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lLFxuICAgICAgbm9uY2UsXG4gICAgICBudW1UcmFuc2NyaXB0Rm9jdXNPYnNlcnZlcnMsXG4gICAgICBvYnNlcnZlU2Nyb2xsUG9zaXRpb24sXG4gICAgICBvYnNlcnZlVHJhbnNjcmlwdEZvY3VzLFxuICAgICAgcGF0Y2hlZFN0eWxlU2V0LFxuICAgICAgcmVuZGVyTWFya2Rvd24sXG4gICAgICBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZixcbiAgICAgIHNjcm9sbFRvQ2FsbGJhY2tzUmVmLFxuICAgICAgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWYsXG4gICAgICBzZXREaWN0YXRlQWJvcnRhYmxlLFxuICAgICAgc3R5bGVUb0Vtb3Rpb25PYmplY3QsXG4gICAgICBzdWdnZXN0ZWRBY3Rpb25zQWNjZXNzS2V5LFxuICAgICAgd2ViU3BlZWNoUG9ueWZpbGxcbiAgICBdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2F5Q29tcG9zZXIgcG9ueWZpbGw9e3dlYlNwZWVjaFBvbnlmaWxsfT5cbiAgICAgIDxXZWJDaGF0VUlDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0fT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8RGljdGF0aW9uIG9uRXJyb3I9e2RpY3RhdGlvbk9uRXJyb3J9IC8+XG4gICAgICA8L1dlYkNoYXRVSUNvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9TYXlDb21wb3Nlcj5cbiAgKTtcbn07XG5cbkNvbXBvc2VyQ29yZS5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGV4dHJhU3R5bGVTZXQ6IHVuZGVmaW5lZCxcbiAgbm9uY2U6IHVuZGVmaW5lZCxcbiAgcmVuZGVyTWFya2Rvd246IHVuZGVmaW5lZCxcbiAgc3R5bGVTZXQ6IHVuZGVmaW5lZCxcbiAgc3VnZ2VzdGVkQWN0aW9uc0FjY2Vzc0tleTogJ0EgYSDDhSDDpScsXG4gIHdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeTogdW5kZWZpbmVkXG59O1xuXG5Db21wb3NlckNvcmUucHJvcFR5cGVzID0ge1xuICBleHRyYVN0eWxlU2V0OiBQcm9wVHlwZXMuYW55LFxuICBub25jZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgcmVuZGVyTWFya2Rvd246IFByb3BUeXBlcy5mdW5jLFxuICBzdHlsZVNldDogUHJvcFR5cGVzLmFueSxcbiAgc3VnZ2VzdGVkQWN0aW9uc0FjY2Vzc0tleTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9uZU9mKFtmYWxzZV0pLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gIHdlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeTogUHJvcFR5cGVzLmZ1bmNcbn07XG5cbnR5cGUgQ29tcG9zZXJQcm9wcyA9IEFQSUNvbXBvc2VyUHJvcHMgJlxuICBDb21wb3NlckNvcmVQcm9wcyAmIHtcbiAgICBub25jZT86IHN0cmluZztcbiAgICB3ZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnk/OiBXZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnk7XG4gIH07XG5cbmNvbnN0IENvbXBvc2VyOiBGQzxDb21wb3NlclByb3BzPiA9ICh7XG4gIGFjdGl2aXR5TWlkZGxld2FyZSxcbiAgYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlLFxuICBhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSxcbiAgYXR0YWNobWVudE1pZGRsZXdhcmUsXG4gIGF2YXRhck1pZGRsZXdhcmUsXG4gIGNhcmRBY3Rpb25NaWRkbGV3YXJlLFxuICBjaGlsZHJlbixcbiAgZXh0cmFTdHlsZVNldCxcbiAgcmVuZGVyTWFya2Rvd24sXG4gIHNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSxcbiAgc3R5bGVTZXQsXG4gIHN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXksXG4gIHRvYXN0TWlkZGxld2FyZSxcbiAgdHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSxcbiAgd2ViU3BlZWNoUG9ueWZpbGxGYWN0b3J5LFxuICAuLi5jb21wb3NlclByb3BzXG59KSA9PiB7XG4gIGNvbnN0IHsgbm9uY2UsIG9uVGVsZW1ldHJ5IH0gPSBjb21wb3NlclByb3BzO1xuXG4gIGNvbnN0IHBhdGNoZWRBY3Rpdml0eU1pZGRsZXdhcmUgPSB1c2VNZW1vKFxuICAgICgpID0+IFsuLi5zaW5nbGVUb0FycmF5KGFjdGl2aXR5TWlkZGxld2FyZSksIC4uLmNyZWF0ZURlZmF1bHRBY3Rpdml0eU1pZGRsZXdhcmUoKV0sXG4gICAgW2FjdGl2aXR5TWlkZGxld2FyZV1cbiAgKTtcblxuICBjb25zdCBwYXRjaGVkQWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbLi4uc2luZ2xlVG9BcnJheShhY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUpLCAuLi5jcmVhdGVEZWZhdWx0QWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlKCldLFxuICAgIFthY3Rpdml0eVN0YXR1c01pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbXG4gICAgICAuLi5zaW5nbGVUb0FycmF5KGF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlKSxcbiAgICAgIC4uLmNyZWF0ZURlZmF1bHRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSgpXG4gICAgXSxcbiAgICBbYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZEF0dGFjaG1lbnRNaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbLi4uc2luZ2xlVG9BcnJheShhdHRhY2htZW50TWlkZGxld2FyZSksIC4uLmNyZWF0ZURlZmF1bHRBdHRhY2htZW50TWlkZGxld2FyZSgpXSxcbiAgICBbYXR0YWNobWVudE1pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZEF2YXRhck1pZGRsZXdhcmUgPSB1c2VNZW1vKFxuICAgICgpID0+IFsuLi5zaW5nbGVUb0FycmF5KGF2YXRhck1pZGRsZXdhcmUpLCAuLi5jcmVhdGVEZWZhdWx0QXZhdGFyTWlkZGxld2FyZSgpXSxcbiAgICBbYXZhdGFyTWlkZGxld2FyZV1cbiAgKTtcblxuICBjb25zdCBwYXRjaGVkQ2FyZEFjdGlvbk1pZGRsZXdhcmUgPSB1c2VNZW1vKFxuICAgICgpID0+IFsuLi5zaW5nbGVUb0FycmF5KGNhcmRBY3Rpb25NaWRkbGV3YXJlKSwgLi4uY3JlYXRlRGVmYXVsdENhcmRBY3Rpb25NaWRkbGV3YXJlKCldLFxuICAgIFtjYXJkQWN0aW9uTWlkZGxld2FyZV1cbiAgKTtcblxuICBjb25zdCBwYXRjaGVkVG9hc3RNaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbLi4uc2luZ2xlVG9BcnJheSh0b2FzdE1pZGRsZXdhcmUpLCAuLi5jcmVhdGVEZWZhdWx0VG9hc3RNaWRkbGV3YXJlKCldLFxuICAgIFt0b2FzdE1pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZFR5cGluZ0luZGljYXRvck1pZGRsZXdhcmUgPSB1c2VNZW1vKFxuICAgICgpID0+IFsuLi5zaW5nbGVUb0FycmF5KHR5cGluZ0luZGljYXRvck1pZGRsZXdhcmUpLCAuLi5jcmVhdGVEZWZhdWx0VHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSgpXSxcbiAgICBbdHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZV1cbiAgKTtcblxuICBjb25zdCBkZWZhdWx0U2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlID0gdXNlTWVtbygoKSA9PiBjcmVhdGVEZWZhdWx0U2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlKCksIFtdKTtcblxuICBjb25zdCBwYXRjaGVkU2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbLi4uc2luZ2xlVG9BcnJheShzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUpLCAuLi5kZWZhdWx0U2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlXSxcbiAgICBbZGVmYXVsdFNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSwgc2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPEFQSUNvbXBvc2VyXG4gICAgICAgIGFjdGl2aXR5TWlkZGxld2FyZT17cGF0Y2hlZEFjdGl2aXR5TWlkZGxld2FyZX1cbiAgICAgICAgYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlPXtwYXRjaGVkQWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlfVxuICAgICAgICBhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZT17cGF0Y2hlZEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlfVxuICAgICAgICBhdHRhY2htZW50TWlkZGxld2FyZT17cGF0Y2hlZEF0dGFjaG1lbnRNaWRkbGV3YXJlfVxuICAgICAgICBhdmF0YXJNaWRkbGV3YXJlPXtwYXRjaGVkQXZhdGFyTWlkZGxld2FyZX1cbiAgICAgICAgY2FyZEFjdGlvbk1pZGRsZXdhcmU9e3BhdGNoZWRDYXJkQWN0aW9uTWlkZGxld2FyZX1cbiAgICAgICAgZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkw9e2Rvd25zY2FsZUltYWdlVG9EYXRhVVJMfVxuICAgICAgICAvLyBVbmRlciBkZXYgc2VydmVyIG9mIGNyZWF0ZS1yZWFjdC1hcHAsIFwiTk9ERV9FTlZcIiB3aWxsIGJlIHNldCB0byBcImRldmVsb3BtZW50XCIuXG4gICAgICAgIGludGVybmFsRXJyb3JCb3hDbGFzcz17bm9kZV9lbnYgPT09ICdkZXZlbG9wbWVudCcgPyBFcnJvckJveCA6IHVuZGVmaW5lZH1cbiAgICAgICAgbm9uY2U9e25vbmNlfVxuICAgICAgICBzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmU9e3BhdGNoZWRTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmV9XG4gICAgICAgIHRvYXN0TWlkZGxld2FyZT17cGF0Y2hlZFRvYXN0TWlkZGxld2FyZX1cbiAgICAgICAgdHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZT17cGF0Y2hlZFR5cGluZ0luZGljYXRvck1pZGRsZXdhcmV9XG4gICAgICAgIHsuLi5jb21wb3NlclByb3BzfVxuICAgICAgPlxuICAgICAgICA8QWN0aXZpdHlUcmVlQ29tcG9zZXI+XG4gICAgICAgICAgPENvbXBvc2VyQ29yZVxuICAgICAgICAgICAgZXh0cmFTdHlsZVNldD17ZXh0cmFTdHlsZVNldH1cbiAgICAgICAgICAgIG5vbmNlPXtub25jZX1cbiAgICAgICAgICAgIHJlbmRlck1hcmtkb3duPXtyZW5kZXJNYXJrZG93bn1cbiAgICAgICAgICAgIHN0eWxlU2V0PXtzdHlsZVNldH1cbiAgICAgICAgICAgIHN1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXk9e3N1Z2dlc3RlZEFjdGlvbnNBY2Nlc3NLZXl9XG4gICAgICAgICAgICB3ZWJTcGVlY2hQb255ZmlsbEZhY3Rvcnk9e3dlYlNwZWVjaFBvbnlmaWxsRmFjdG9yeX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICB7b25UZWxlbWV0cnkgJiYgPFVJVHJhY2tlciAvPn1cbiAgICAgICAgICA8L0NvbXBvc2VyQ29yZT5cbiAgICAgICAgPC9BY3Rpdml0eVRyZWVDb21wb3Nlcj5cbiAgICAgIDwvQVBJQ29tcG9zZXI+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbkNvbXBvc2VyLmRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uQVBJQ29tcG9zZXIuZGVmYXVsdFByb3BzLFxuICAuLi5Db21wb3NlckNvcmUuZGVmYXVsdFByb3BzLFxuICBjaGlsZHJlbjogdW5kZWZpbmVkXG59O1xuXG5Db21wb3Nlci5wcm9wVHlwZXMgPSB7XG4gIC4uLkFQSUNvbXBvc2VyLnByb3BUeXBlcyxcbiAgLi4uQ29tcG9zZXJDb3JlLnByb3BUeXBlcyxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvc2VyO1xuXG5leHBvcnQgdHlwZSB7IENvbXBvc2VyUHJvcHMgfTtcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
package/lib/Dictation.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -1 +1 @@
1
- {"version":3,"file":"createCoreMiddleware.d.ts","sourceRoot":"","sources":["../../../src/Middleware/Activity/createCoreMiddleware.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAM9D,MAAM,CAAC,OAAO,UAAU,oBAAoB,IAAI,kBAAkB,EAAE,CAgEnE"}
1
+ {"version":3,"file":"createCoreMiddleware.d.ts","sourceRoot":"","sources":["../../../src/Middleware/Activity/createCoreMiddleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAM9D,MAAM,CAAC,OAAO,UAAU,oBAAoB,IAAI,kBAAkB,EAAE,CAkEnE"}
@@ -30,25 +30,22 @@ function createCoreMiddleware() {
30
30
  if (type === 'conversationUpdate' || type === 'event' || type === 'invoke' || type === 'typing') {
31
31
  return false;
32
32
  } else if (type === 'message') {
33
- var _activity$attachments = activity.attachments,
34
- attachments = _activity$attachments === void 0 ? [] : _activity$attachments,
33
+ var attachments = activity.attachments,
35
34
  channelData = activity.channelData,
36
35
  text = activity.text;
37
36
 
38
37
  if ( // Do not show postback
39
- channelData && channelData.postBack || // Do not show messageBack if displayText is undefined
40
- channelData && channelData.messageBack && !channelData.messageBack.displayText || // Do not show empty bubbles (no text and attachments, and not "typing")
41
- !(text || attachments.length)) {
38
+ channelData !== null && channelData !== void 0 && channelData.postBack || // Do not show messageBack if displayText is undefined
39
+ channelData !== null && channelData !== void 0 && channelData.messageBack && !channelData.messageBack.displayText || // Do not show empty bubbles (no text and attachments, and not "typing")
40
+ !(text || attachments !== null && attachments !== void 0 && attachments.length)) {
42
41
  return false;
43
- } // eslint-disable-next-line no-dupe-else-if
44
-
45
- } else if (type === 'typing' && activity.from.role === 'user') {
46
- // Do not show typing by oneself
47
- return false;
42
+ }
48
43
  }
49
44
 
50
45
  if (type === 'message' || type === 'typing') {
51
- if (type === 'message' && (activity.attachments || []).length > 1 && activity.attachmentLayout === 'carousel') {
46
+ var _activity$attachments;
47
+
48
+ if (type === 'message' && (((_activity$attachments = activity.attachments) === null || _activity$attachments === void 0 ? void 0 : _activity$attachments.length) || 0) > 1 && activity.attachmentLayout === 'carousel') {
52
49
  // The following line is not a React functional component, it's a render function called by useCreateActivityRenderer() hook.
53
50
  // The function signature need to be compatible with older version of activity middleware, which was:
54
51
  //
@@ -79,4 +76,4 @@ function createCoreMiddleware() {
79
76
  };
80
77
  }];
81
78
  }
82
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9NaWRkbGV3YXJlL0FjdGl2aXR5L2NyZWF0ZUNvcmVNaWRkbGV3YXJlLnRzeCJdLCJuYW1lcyI6WyJjcmVhdGVDb3JlTWlkZGxld2FyZSIsIm5leHQiLCJhcmdzIiwiYWN0aXZpdHkiLCJ0eXBlIiwiYXR0YWNobWVudHMiLCJjaGFubmVsRGF0YSIsInRleHQiLCJwb3N0QmFjayIsIm1lc3NhZ2VCYWNrIiwiZGlzcGxheVRleHQiLCJsZW5ndGgiLCJmcm9tIiwicm9sZSIsImF0dGFjaG1lbnRMYXlvdXQiLCJyZW5kZXJDYXJvdXNlbExheW91dCIsInJlbmRlckF0dGFjaG1lbnQiLCJwcm9wcyIsImNvbnNvbGUiLCJ3YXJuIiwicmVuZGVyU3RhY2tlZExheW91dCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUVBOztBQUNBOzs7Ozs7QUFFZSxTQUFTQSxvQkFBVCxHQUFzRDtBQUNuRSxTQUFPLENBQ0w7QUFBQSxXQUFNLFVBQUFDLElBQUk7QUFBQSxhQUFJLFlBQWE7QUFBQSwwQ0FBVEMsSUFBUztBQUFUQSxVQUFBQSxJQUFTO0FBQUE7O0FBQ3pCLFlBQVNDLFFBQVQsR0FBdUJELElBQXZCLElBQVNDLFFBQVQsQ0FEeUIsQ0FHekI7O0FBRUEsWUFBUUMsSUFBUixHQUFpQkQsUUFBakIsQ0FBUUMsSUFBUixDQUx5QixDQU96Qjs7QUFDQSxZQUFJQSxJQUFJLEtBQUssb0JBQVQsSUFBaUNBLElBQUksS0FBSyxPQUExQyxJQUFxREEsSUFBSSxLQUFLLFFBQTlELElBQTBFQSxJQUFJLEtBQUssUUFBdkYsRUFBaUc7QUFDL0YsaUJBQU8sS0FBUDtBQUNELFNBRkQsTUFFTyxJQUFJQSxJQUFJLEtBQUssU0FBYixFQUF3QjtBQUM3QixzQ0FBZ0RELFFBQWhELENBQVFFLFdBQVI7QUFBQSxjQUFRQSxXQUFSLHNDQUFzQixFQUF0QjtBQUFBLGNBQTBCQyxXQUExQixHQUFnREgsUUFBaEQsQ0FBMEJHLFdBQTFCO0FBQUEsY0FBdUNDLElBQXZDLEdBQWdESixRQUFoRCxDQUF1Q0ksSUFBdkM7O0FBRUEsZUFDRTtBQUNDRCxVQUFBQSxXQUFXLElBQUlBLFdBQVcsQ0FBQ0UsUUFBNUIsSUFDQTtBQUNDRixVQUFBQSxXQUFXLElBQUlBLFdBQVcsQ0FBQ0csV0FBM0IsSUFBMEMsQ0FBQ0gsV0FBVyxDQUFDRyxXQUFaLENBQXdCQyxXQUZwRSxJQUdBO0FBQ0EsWUFBRUgsSUFBSSxJQUFJRixXQUFXLENBQUNNLE1BQXRCLENBTkYsRUFPRTtBQUNBLG1CQUFPLEtBQVA7QUFDRCxXQVo0QixDQWE3Qjs7QUFDRCxTQWRNLE1BY0EsSUFBSVAsSUFBSSxLQUFLLFFBQVQsSUFBcUJELFFBQVEsQ0FBQ1MsSUFBVCxDQUFjQyxJQUFkLEtBQXVCLE1BQWhELEVBQXdEO0FBQzdEO0FBQ0EsaUJBQU8sS0FBUDtBQUNEOztBQUVELFlBQUlULElBQUksS0FBSyxTQUFULElBQXNCQSxJQUFJLEtBQUssUUFBbkMsRUFBNkM7QUFDM0MsY0FBSUEsSUFBSSxLQUFLLFNBQVQsSUFBc0IsQ0FBQ0QsUUFBUSxDQUFDRSxXQUFULElBQXdCLEVBQXpCLEVBQTZCTSxNQUE3QixHQUFzQyxDQUE1RCxJQUFpRVIsUUFBUSxDQUFDVyxnQkFBVCxLQUE4QixVQUFuRyxFQUErRztBQUM3RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxtQkFBTyxTQUFTQyxvQkFBVCxDQUE4QkMsZ0JBQTlCLEVBQWdEQyxLQUFoRCxFQUF1RDtBQUM1RCxxQkFBT0EsS0FBUCxLQUFpQixXQUFqQixJQUNFQyxPQUFPLENBQUNDLElBQVIsQ0FDRSw0TEFERixDQURGO0FBS0Esa0NBQU8sNkJBQUMsdUJBQUQ7QUFBZ0IsZ0JBQUEsUUFBUSxFQUFFaEIsUUFBMUI7QUFBb0MsZ0JBQUEsZ0JBQWdCLEVBQUVhO0FBQXRELGlCQUE0RUMsS0FBNUUsRUFBUDtBQUNELGFBUEQ7QUFRRCxXQWpCMEMsQ0FtQjNDOzs7QUFDQSxpQkFBTyxTQUFTRyxtQkFBVCxDQUE2QkosZ0JBQTdCLEVBQStDQyxLQUEvQyxFQUFzRDtBQUMzRCxtQkFBT0EsS0FBUCxLQUFpQixXQUFqQixJQUNFQyxPQUFPLENBQUNDLElBQVIsQ0FDRSw0TEFERixDQURGO0FBS0EsZ0NBQU8sNkJBQUMsc0JBQUQ7QUFBZSxjQUFBLFFBQVEsRUFBRWhCLFFBQXpCO0FBQW1DLGNBQUEsZ0JBQWdCLEVBQUVhO0FBQXJELGVBQTJFQyxLQUEzRSxFQUFQO0FBQ0QsV0FQRDtBQVFEOztBQUVELGVBQU9oQixJQUFJLE1BQUosU0FBUUMsSUFBUixDQUFQO0FBQ0QsT0E1RFM7QUFBQSxLQUFWO0FBQUEsR0FESyxDQUFQO0FBK0REIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG5pbXBvcnQgeyBBY3Rpdml0eU1pZGRsZXdhcmUgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IENhcm91c2VsTGF5b3V0IGZyb20gJy4uLy4uL0FjdGl2aXR5L0Nhcm91c2VsTGF5b3V0JztcbmltcG9ydCBTdGFja2VkTGF5b3V0IGZyb20gJy4uLy4uL0FjdGl2aXR5L1N0YWNrZWRMYXlvdXQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDb3JlTWlkZGxld2FyZSgpOiBBY3Rpdml0eU1pZGRsZXdhcmVbXSB7XG4gIHJldHVybiBbXG4gICAgKCkgPT4gbmV4dCA9PiAoLi4uYXJncykgPT4ge1xuICAgICAgY29uc3QgW3sgYWN0aXZpdHkgfV0gPSBhcmdzO1xuXG4gICAgICAvLyBUT0RPOiBbUDRdIENhbiB3ZSBzaW1wbGlmeSB0aGVzZSBpZi1zdGF0ZW1lbnQgdG8gc29tZXRoaW5nIG1vcmUgcmVhZGFibGU/XG5cbiAgICAgIGNvbnN0IHsgdHlwZSB9ID0gYWN0aXZpdHk7XG5cbiAgICAgIC8vIEZpbHRlciBvdXQgYWN0aXZpdGllcyB0aGF0IHNob3VsZCBub3QgYmUgdmlzaWJsZVxuICAgICAgaWYgKHR5cGUgPT09ICdjb252ZXJzYXRpb25VcGRhdGUnIHx8IHR5cGUgPT09ICdldmVudCcgfHwgdHlwZSA9PT0gJ2ludm9rZScgfHwgdHlwZSA9PT0gJ3R5cGluZycpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnbWVzc2FnZScpIHtcbiAgICAgICAgY29uc3QgeyBhdHRhY2htZW50cyA9IFtdLCBjaGFubmVsRGF0YSwgdGV4dCB9ID0gYWN0aXZpdHk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIC8vIERvIG5vdCBzaG93IHBvc3RiYWNrXG4gICAgICAgICAgKGNoYW5uZWxEYXRhICYmIGNoYW5uZWxEYXRhLnBvc3RCYWNrKSB8fFxuICAgICAgICAgIC8vIERvIG5vdCBzaG93IG1lc3NhZ2VCYWNrIGlmIGRpc3BsYXlUZXh0IGlzIHVuZGVmaW5lZFxuICAgICAgICAgIChjaGFubmVsRGF0YSAmJiBjaGFubmVsRGF0YS5tZXNzYWdlQmFjayAmJiAhY2hhbm5lbERhdGEubWVzc2FnZUJhY2suZGlzcGxheVRleHQpIHx8XG4gICAgICAgICAgLy8gRG8gbm90IHNob3cgZW1wdHkgYnViYmxlcyAobm8gdGV4dCBhbmQgYXR0YWNobWVudHMsIGFuZCBub3QgXCJ0eXBpbmdcIilcbiAgICAgICAgICAhKHRleHQgfHwgYXR0YWNobWVudHMubGVuZ3RoKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGUtZWxzZS1pZlxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAndHlwaW5nJyAmJiBhY3Rpdml0eS5mcm9tLnJvbGUgPT09ICd1c2VyJykge1xuICAgICAgICAvLyBEbyBub3Qgc2hvdyB0eXBpbmcgYnkgb25lc2VsZlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAnbWVzc2FnZScgfHwgdHlwZSA9PT0gJ3R5cGluZycpIHtcbiAgICAgICAgaWYgKHR5cGUgPT09ICdtZXNzYWdlJyAmJiAoYWN0aXZpdHkuYXR0YWNobWVudHMgfHwgW10pLmxlbmd0aCA+IDEgJiYgYWN0aXZpdHkuYXR0YWNobWVudExheW91dCA9PT0gJ2Nhcm91c2VsJykge1xuICAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgbGluZSBpcyBub3QgYSBSZWFjdCBmdW5jdGlvbmFsIGNvbXBvbmVudCwgaXQncyBhIHJlbmRlciBmdW5jdGlvbiBjYWxsZWQgYnkgdXNlQ3JlYXRlQWN0aXZpdHlSZW5kZXJlcigpIGhvb2suXG4gICAgICAgICAgLy8gVGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBuZWVkIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBvbGRlciB2ZXJzaW9uIG9mIGFjdGl2aXR5IG1pZGRsZXdhcmUsIHdoaWNoIHdhczpcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIHJlbmRlckFjdGl2aXR5KFxuICAgICAgICAgIC8vICAgcmVuZGVyQXR0YWNobWVudDogKHsgYWN0aXZpdHksIGF0dGFjaG1lbnQgfSkgPT4gUmVhY3QuRWxlbWVudFxuICAgICAgICAgIC8vICkgPT4gUmVhY3QuRWxlbWVudFxuXG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJlbmRlckNhcm91c2VsTGF5b3V0KHJlbmRlckF0dGFjaG1lbnQsIHByb3BzKSB7XG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMgPT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IE9uZSBvciBtb3JlIGFyZ3VtZW50cyB3ZXJlIG1pc3NpbmcgYWZ0ZXIgcGFzc2luZyB0aHJvdWdoIHRoZSBhY3Rpdml0eSBtaWRkbGV3YXJlLiBQbGVhc2UgY2hlY2sgeW91ciBjdXN0b20gYWN0aXZpdHkgbWlkZGxld2FyZSB0byBtYWtlIHN1cmUgaXQgcGFzc2VzIGFsbCBhcmd1bWVudHMuJ1xuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gPENhcm91c2VsTGF5b3V0IGFjdGl2aXR5PXthY3Rpdml0eX0gcmVuZGVyQXR0YWNobWVudD17cmVuZGVyQXR0YWNobWVudH0gey4uLnByb3BzfSAvPjtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBsaW5lIGlzIG5vdCBhIFJlYWN0IGZ1bmN0aW9uYWwgY29tcG9uZW50LCBpdCdzIGEgcmVuZGVyIGZ1bmN0aW9uIGNhbGxlZCBieSB1c2VDcmVhdGVBY3Rpdml0eVJlbmRlcmVyKCkgaG9vay5cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJlbmRlclN0YWNrZWRMYXlvdXQocmVuZGVyQXR0YWNobWVudCwgcHJvcHMpIHtcbiAgICAgICAgICB0eXBlb2YgcHJvcHMgPT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICdib3RmcmFtZXdvcmstd2ViY2hhdDogT25lIG9yIG1vcmUgYXJndW1lbnRzIHdlcmUgbWlzc2luZyBhZnRlciBwYXNzaW5nIHRocm91Z2ggdGhlIGFjdGl2aXR5IG1pZGRsZXdhcmUuIFBsZWFzZSBjaGVjayB5b3VyIGN1c3RvbSBhY3Rpdml0eSBtaWRkbGV3YXJlIHRvIG1ha2Ugc3VyZSBpdCBwYXNzZXMgYWxsIGFyZ3VtZW50cy4nXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIDxTdGFja2VkTGF5b3V0IGFjdGl2aXR5PXthY3Rpdml0eX0gcmVuZGVyQXR0YWNobWVudD17cmVuZGVyQXR0YWNobWVudH0gey4uLnByb3BzfSAvPjtcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5leHQoLi4uYXJncyk7XG4gICAgfVxuICBdO1xufVxuIl19
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9NaWRkbGV3YXJlL0FjdGl2aXR5L2NyZWF0ZUNvcmVNaWRkbGV3YXJlLnRzeCJdLCJuYW1lcyI6WyJjcmVhdGVDb3JlTWlkZGxld2FyZSIsIm5leHQiLCJhcmdzIiwiYWN0aXZpdHkiLCJ0eXBlIiwiYXR0YWNobWVudHMiLCJjaGFubmVsRGF0YSIsInRleHQiLCJwb3N0QmFjayIsIm1lc3NhZ2VCYWNrIiwiZGlzcGxheVRleHQiLCJsZW5ndGgiLCJhdHRhY2htZW50TGF5b3V0IiwicmVuZGVyQ2Fyb3VzZWxMYXlvdXQiLCJyZW5kZXJBdHRhY2htZW50IiwicHJvcHMiLCJjb25zb2xlIiwid2FybiIsInJlbmRlclN0YWNrZWRMYXlvdXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7O0FBRWUsU0FBU0Esb0JBQVQsR0FBc0Q7QUFDbkUsU0FBTyxDQUNMO0FBQUEsV0FDRSxVQUFBQyxJQUFJO0FBQUEsYUFDSixZQUFhO0FBQUEsMENBQVRDLElBQVM7QUFBVEEsVUFBQUEsSUFBUztBQUFBOztBQUNYLFlBQVNDLFFBQVQsR0FBdUJELElBQXZCLElBQVNDLFFBQVQsQ0FEVyxDQUdYOztBQUVBLFlBQVFDLElBQVIsR0FBaUJELFFBQWpCLENBQVFDLElBQVIsQ0FMVyxDQU9YOztBQUNBLFlBQUlBLElBQUksS0FBSyxvQkFBVCxJQUFpQ0EsSUFBSSxLQUFLLE9BQTFDLElBQXFEQSxJQUFJLEtBQUssUUFBOUQsSUFBMEVBLElBQUksS0FBSyxRQUF2RixFQUFpRztBQUMvRixpQkFBTyxLQUFQO0FBQ0QsU0FGRCxNQUVPLElBQUlBLElBQUksS0FBSyxTQUFiLEVBQXdCO0FBQzdCLGNBQVFDLFdBQVIsR0FBMkNGLFFBQTNDLENBQVFFLFdBQVI7QUFBQSxjQUFxQkMsV0FBckIsR0FBMkNILFFBQTNDLENBQXFCRyxXQUFyQjtBQUFBLGNBQWtDQyxJQUFsQyxHQUEyQ0osUUFBM0MsQ0FBa0NJLElBQWxDOztBQUVBLGVBQ0U7QUFDQUQsVUFBQUEsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxJQUFBQSxXQUFXLENBQUVFLFFBQWIsSUFDQTtBQUNDRixVQUFBQSxXQUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLElBQUFBLFdBQVcsQ0FBRUcsV0FBYixJQUE0QixDQUFDSCxXQUFXLENBQUNHLFdBQVosQ0FBd0JDLFdBRnRELElBR0E7QUFDQSxZQUFFSCxJQUFJLElBQUlGLFdBQUosYUFBSUEsV0FBSixlQUFJQSxXQUFXLENBQUVNLE1BQXZCLENBTkYsRUFPRTtBQUNBLG1CQUFPLEtBQVA7QUFDRDtBQUNGOztBQUVELFlBQUlQLElBQUksS0FBSyxTQUFULElBQXNCQSxJQUFJLEtBQUssUUFBbkMsRUFBNkM7QUFBQTs7QUFDM0MsY0FDRUEsSUFBSSxLQUFLLFNBQVQsSUFDQSxDQUFDLDBCQUFBRCxRQUFRLENBQUNFLFdBQVQsZ0ZBQXNCTSxNQUF0QixLQUFnQyxDQUFqQyxJQUFzQyxDQUR0QyxJQUVBUixRQUFRLENBQUNTLGdCQUFULEtBQThCLFVBSGhDLEVBSUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxtQkFBTyxTQUFTQyxvQkFBVCxDQUE4QkMsZ0JBQTlCLEVBQWdEQyxLQUFoRCxFQUF1RDtBQUM1RCxxQkFBT0EsS0FBUCxLQUFpQixXQUFqQixJQUNFQyxPQUFPLENBQUNDLElBQVIsQ0FDRSw0TEFERixDQURGO0FBS0Esa0NBQU8sNkJBQUMsdUJBQUQ7QUFBZ0IsZ0JBQUEsUUFBUSxFQUFFZCxRQUExQjtBQUFvQyxnQkFBQSxnQkFBZ0IsRUFBRVc7QUFBdEQsaUJBQTRFQyxLQUE1RSxFQUFQO0FBQ0QsYUFQRDtBQVFELFdBckIwQyxDQXVCM0M7OztBQUNBLGlCQUFPLFNBQVNHLG1CQUFULENBQTZCSixnQkFBN0IsRUFBK0NDLEtBQS9DLEVBQXNEO0FBQzNELG1CQUFPQSxLQUFQLEtBQWlCLFdBQWpCLElBQ0VDLE9BQU8sQ0FBQ0MsSUFBUixDQUNFLDRMQURGLENBREY7QUFLQSxnQ0FBTyw2QkFBQyxzQkFBRDtBQUFlLGNBQUEsUUFBUSxFQUFFZCxRQUF6QjtBQUFtQyxjQUFBLGdCQUFnQixFQUFFVztBQUFyRCxlQUEyRUMsS0FBM0UsRUFBUDtBQUNELFdBUEQ7QUFRRDs7QUFFRCxlQUFPZCxJQUFJLE1BQUosU0FBUUMsSUFBUixDQUFQO0FBQ0QsT0E3REc7QUFBQSxLQUROO0FBQUEsR0FESyxDQUFQO0FBaUVEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eU1pZGRsZXdhcmUgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IENhcm91c2VsTGF5b3V0IGZyb20gJy4uLy4uL0FjdGl2aXR5L0Nhcm91c2VsTGF5b3V0JztcbmltcG9ydCBTdGFja2VkTGF5b3V0IGZyb20gJy4uLy4uL0FjdGl2aXR5L1N0YWNrZWRMYXlvdXQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDb3JlTWlkZGxld2FyZSgpOiBBY3Rpdml0eU1pZGRsZXdhcmVbXSB7XG4gIHJldHVybiBbXG4gICAgKCkgPT5cbiAgICAgIG5leHQgPT5cbiAgICAgICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IFt7IGFjdGl2aXR5IH1dID0gYXJncztcblxuICAgICAgICAvLyBUT0RPOiBbUDRdIENhbiB3ZSBzaW1wbGlmeSB0aGVzZSBpZi1zdGF0ZW1lbnQgdG8gc29tZXRoaW5nIG1vcmUgcmVhZGFibGU/XG5cbiAgICAgICAgY29uc3QgeyB0eXBlIH0gPSBhY3Rpdml0eTtcblxuICAgICAgICAvLyBGaWx0ZXIgb3V0IGFjdGl2aXRpZXMgdGhhdCBzaG91bGQgbm90IGJlIHZpc2libGVcbiAgICAgICAgaWYgKHR5cGUgPT09ICdjb252ZXJzYXRpb25VcGRhdGUnIHx8IHR5cGUgPT09ICdldmVudCcgfHwgdHlwZSA9PT0gJ2ludm9rZScgfHwgdHlwZSA9PT0gJ3R5cGluZycpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ21lc3NhZ2UnKSB7XG4gICAgICAgICAgY29uc3QgeyBhdHRhY2htZW50cywgY2hhbm5lbERhdGEsIHRleHQgfSA9IGFjdGl2aXR5O1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gRG8gbm90IHNob3cgcG9zdGJhY2tcbiAgICAgICAgICAgIGNoYW5uZWxEYXRhPy5wb3N0QmFjayB8fFxuICAgICAgICAgICAgLy8gRG8gbm90IHNob3cgbWVzc2FnZUJhY2sgaWYgZGlzcGxheVRleHQgaXMgdW5kZWZpbmVkXG4gICAgICAgICAgICAoY2hhbm5lbERhdGE/Lm1lc3NhZ2VCYWNrICYmICFjaGFubmVsRGF0YS5tZXNzYWdlQmFjay5kaXNwbGF5VGV4dCkgfHxcbiAgICAgICAgICAgIC8vIERvIG5vdCBzaG93IGVtcHR5IGJ1YmJsZXMgKG5vIHRleHQgYW5kIGF0dGFjaG1lbnRzLCBhbmQgbm90IFwidHlwaW5nXCIpXG4gICAgICAgICAgICAhKHRleHQgfHwgYXR0YWNobWVudHM/Lmxlbmd0aClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZSA9PT0gJ21lc3NhZ2UnIHx8IHR5cGUgPT09ICd0eXBpbmcnKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZSA9PT0gJ21lc3NhZ2UnICYmXG4gICAgICAgICAgICAoYWN0aXZpdHkuYXR0YWNobWVudHM/Lmxlbmd0aCB8fCAwKSA+IDEgJiZcbiAgICAgICAgICAgIGFjdGl2aXR5LmF0dGFjaG1lbnRMYXlvdXQgPT09ICdjYXJvdXNlbCdcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgbGluZSBpcyBub3QgYSBSZWFjdCBmdW5jdGlvbmFsIGNvbXBvbmVudCwgaXQncyBhIHJlbmRlciBmdW5jdGlvbiBjYWxsZWQgYnkgdXNlQ3JlYXRlQWN0aXZpdHlSZW5kZXJlcigpIGhvb2suXG4gICAgICAgICAgICAvLyBUaGUgZnVuY3Rpb24gc2lnbmF0dXJlIG5lZWQgdG8gYmUgY29tcGF0aWJsZSB3aXRoIG9sZGVyIHZlcnNpb24gb2YgYWN0aXZpdHkgbWlkZGxld2FyZSwgd2hpY2ggd2FzOlxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIHJlbmRlckFjdGl2aXR5KFxuICAgICAgICAgICAgLy8gICByZW5kZXJBdHRhY2htZW50OiAoeyBhY3Rpdml0eSwgYXR0YWNobWVudCB9KSA9PiBSZWFjdC5FbGVtZW50XG4gICAgICAgICAgICAvLyApID0+IFJlYWN0LkVsZW1lbnRcblxuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJlbmRlckNhcm91c2VsTGF5b3V0KHJlbmRlckF0dGFjaG1lbnQsIHByb3BzKSB7XG4gICAgICAgICAgICAgIHR5cGVvZiBwcm9wcyA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAnYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IE9uZSBvciBtb3JlIGFyZ3VtZW50cyB3ZXJlIG1pc3NpbmcgYWZ0ZXIgcGFzc2luZyB0aHJvdWdoIHRoZSBhY3Rpdml0eSBtaWRkbGV3YXJlLiBQbGVhc2UgY2hlY2sgeW91ciBjdXN0b20gYWN0aXZpdHkgbWlkZGxld2FyZSB0byBtYWtlIHN1cmUgaXQgcGFzc2VzIGFsbCBhcmd1bWVudHMuJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIDxDYXJvdXNlbExheW91dCBhY3Rpdml0eT17YWN0aXZpdHl9IHJlbmRlckF0dGFjaG1lbnQ9e3JlbmRlckF0dGFjaG1lbnR9IHsuLi5wcm9wc30gLz47XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgbGluZSBpcyBub3QgYSBSZWFjdCBmdW5jdGlvbmFsIGNvbXBvbmVudCwgaXQncyBhIHJlbmRlciBmdW5jdGlvbiBjYWxsZWQgYnkgdXNlQ3JlYXRlQWN0aXZpdHlSZW5kZXJlcigpIGhvb2suXG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJlbmRlclN0YWNrZWRMYXlvdXQocmVuZGVyQXR0YWNobWVudCwgcHJvcHMpIHtcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcyA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICdib3RmcmFtZXdvcmstd2ViY2hhdDogT25lIG9yIG1vcmUgYXJndW1lbnRzIHdlcmUgbWlzc2luZyBhZnRlciBwYXNzaW5nIHRocm91Z2ggdGhlIGFjdGl2aXR5IG1pZGRsZXdhcmUuIFBsZWFzZSBjaGVjayB5b3VyIGN1c3RvbSBhY3Rpdml0eSBtaWRkbGV3YXJlIHRvIG1ha2Ugc3VyZSBpdCBwYXNzZXMgYWxsIGFyZ3VtZW50cy4nXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybiA8U3RhY2tlZExheW91dCBhY3Rpdml0eT17YWN0aXZpdHl9IHJlbmRlckF0dGFjaG1lbnQ9e3JlbmRlckF0dGFjaG1lbnR9IHsuLi5wcm9wc30gLz47XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0KC4uLmFyZ3MpO1xuICAgICAgfVxuICBdO1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -1,8 +1,8 @@
1
- import { DirectLineActivity } from 'botframework-webchat-core';
2
1
  import { FC } from 'react';
2
+ import type { WebChatActivity } from 'botframework-webchat-core';
3
3
  declare const connectSendStatus: (...selectors: any[]) => any;
4
4
  declare type SendStatusProps = {
5
- activity: DirectLineActivity;
5
+ activity: WebChatActivity;
6
6
  sendState: 'sending' | 'send failed' | 'sent';
7
7
  };
8
8
  declare const SendStatus: FC<SendStatusProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"SendStatus.d.ts","sourceRoot":"","sources":["../../../../src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAc,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAc/C,QAAA,MAAM,iBAAiB,8BAepB,CAAC;AAEJ,aAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAgCnC,CAAC;AAYF,eAAe,UAAU,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"SendStatus.d.ts","sourceRoot":"","sources":["../../../../src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAcjE,QAAA,MAAM,iBAAiB,8BAepB,CAAC;AAEJ,aAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAgCnC,CAAC;AAaF,eAAe,UAAU,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.connectSendStatus = exports.default = void 0;
8
+ exports.default = exports.connectSendStatus = void 0;
9
9
 
10
10
  var _botframeworkWebchatCore = require("botframework-webchat-core");
11
11
 
@@ -104,9 +104,10 @@ var SendStatus = function SendStatus(_ref3) {
104
104
  };
105
105
 
106
106
  SendStatus.propTypes = {
107
+ // PropTypes cannot fully capture TypeScript types.
108
+ // @ts-ignore
107
109
  activity: _propTypes.default.shape({
108
110
  channelData: _propTypes.default.shape({
109
- clientTimestamp: _propTypes.default.string,
110
111
  state: _propTypes.default.string
111
112
  })
112
113
  }).isRequired,
@@ -114,4 +115,4 @@ SendStatus.propTypes = {
114
115
  };
115
116
  var _default = SendStatus;
116
117
  exports.default = _default;
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9NaWRkbGV3YXJlL0FjdGl2aXR5U3RhdHVzL1NlbmRTdGF0dXMvU2VuZFN0YXR1cy50c3giXSwibmFtZXMiOlsidXNlTG9jYWxpemVyIiwiaG9va3MiLCJ1c2VQb3N0QWN0aXZpdHkiLCJDb25zdGFudHMiLCJBY3Rpdml0eUNsaWVudFN0YXRlIiwiU0VORF9GQUlMRUQiLCJTRU5ESU5HIiwiY29ubmVjdFNlbmRTdGF0dXMiLCJzZWxlY3RvcnMiLCJjb25uZWN0VG9XZWJDaGF0IiwiZm9jdXNTZW5kQm94IiwibGFuZ3VhZ2UiLCJwb3N0QWN0aXZpdHkiLCJhY3Rpdml0eSIsInJldHJ5U2VuZCIsImV2dCIsInByZXZlbnREZWZhdWx0IiwiU2VuZFN0YXR1cyIsInNlbmRTdGF0ZSIsInNlbmRTdGF0dXNTdHlsZVNldCIsInNlbmRTdGF0dXMiLCJmb2N1cyIsImxvY2FsaXplIiwic2VuZGluZ1RleHQiLCJsYWJlbCIsImhhbmRsZVJldHJ5Q2xpY2siLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImNoYW5uZWxEYXRhIiwiY2xpZW50VGltZXN0YW1wIiwic3RyaW5nIiwic3RhdGUiLCJpc1JlcXVpcmVkIiwib25lT2YiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLFlBQVIsR0FBMENDLDZCQUExQyxDQUFRRCxZQUFSO0FBQUEsSUFBc0JFLGVBQXRCLEdBQTBDRCw2QkFBMUMsQ0FBc0JDLGVBQXRCO0FBRUEsNEJBRUlDLGtDQUZKLENBQ0VDLG1CQURGO0FBQUEsSUFDeUJDLFdBRHpCLHlCQUN5QkEsV0FEekI7QUFBQSxJQUNzQ0MsT0FEdEMseUJBQ3NDQSxPQUR0Qzs7QUFJQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CO0FBQUEsb0NBQUlDLFNBQUo7QUFBSUEsSUFBQUEsU0FBSjtBQUFBOztBQUFBLFNBQ3hCQyx5Q0FDRTtBQUFBLFFBQUdDLFlBQUgsUUFBR0EsWUFBSDtBQUFBLFFBQWlCQyxRQUFqQixRQUFpQkEsUUFBakI7QUFBQSxRQUEyQkMsWUFBM0IsUUFBMkJBLFlBQTNCO0FBQUEsUUFBNkNDLFFBQTdDLFNBQTZDQSxRQUE3QztBQUFBLFdBQTZEO0FBQzNERixNQUFBQSxRQUFRLEVBQVJBLFFBRDJEO0FBRTNERyxNQUFBQSxTQUFTLEVBQUUsbUJBQUFDLEdBQUcsRUFBSTtBQUNoQkEsUUFBQUEsR0FBRyxDQUFDQyxjQUFKO0FBRUFKLFFBQUFBLFlBQVksQ0FBQ0MsUUFBRCxDQUFaLENBSGdCLENBS2hCO0FBQ0E7O0FBQ0FILFFBQUFBLFlBQVk7QUFDYjtBQVYwRCxLQUE3RDtBQUFBLEdBREYsU0FhS0YsU0FiTCxFQUR3QjtBQUFBLENBQTFCOzs7O0FBc0JBLElBQU1TLFVBQStCLEdBQUcsU0FBbENBLFVBQWtDLFFBQTZCO0FBQUEsTUFBMUJKLFFBQTBCLFNBQTFCQSxRQUEwQjtBQUFBLE1BQWhCSyxTQUFnQixTQUFoQkEsU0FBZ0I7O0FBQ25FLHFCQUE2Qyw0QkFBN0M7QUFBQTtBQUFBLE1BQXFCQyxrQkFBckIsb0JBQVNDLFVBQVQ7O0FBQ0EsTUFBTUMsS0FBSyxHQUFHLHdCQUFkO0FBQ0EsTUFBTUMsUUFBUSxHQUFHdEIsWUFBWSxFQUE3QjtBQUNBLE1BQU1ZLFlBQVksR0FBR1YsZUFBZSxFQUFwQztBQUVBLE1BQU1xQixXQUFXLEdBQUdELFFBQVEsQ0FBQyx5Q0FBRCxDQUE1QjtBQUVBLE1BQU1FLEtBQUssR0FBR0YsUUFBUSxDQUFDLGlDQUFELEVBQW9DQyxXQUFwQyxDQUF0QjtBQUVBLE1BQU1FLGdCQUFnQixHQUFHLHdCQUFZLFlBQU07QUFDekNiLElBQUFBLFlBQVksQ0FBQ0MsUUFBRCxDQUFaLENBRHlDLENBR3pDO0FBQ0E7O0FBQ0FRLElBQUFBLEtBQUssQ0FBQyx3QkFBRCxDQUFMO0FBQ0QsR0FOd0IsRUFNdEIsQ0FBQ1IsUUFBRCxFQUFXUSxLQUFYLEVBQWtCVCxZQUFsQixDQU5zQixDQUF6QjtBQVFBLHNCQUNFLDZCQUFDLGNBQUQsQ0FBTyxRQUFQLHFCQUNFLDZCQUFDLHlCQUFEO0FBQWtCLElBQUEsSUFBSSxFQUFFWTtBQUF4QixJQURGLGVBRUU7QUFBTSxtQkFBYSxJQUFuQjtBQUF5QixJQUFBLFNBQVMsRUFBRUw7QUFBcEMsS0FDR0QsU0FBUyxLQUFLWixPQUFkLEdBQ0NpQixXQURELEdBRUdMLFNBQVMsS0FBS2IsV0FBZCxnQkFDRiw2QkFBQyx3QkFBRDtBQUFpQixJQUFBLFlBQVksRUFBRW9CO0FBQS9CLElBREUsR0FHRixLQU5KLENBRkYsQ0FERjtBQWNELENBaENEOztBQWtDQVIsVUFBVSxDQUFDUyxTQUFYLEdBQXVCO0FBQ3JCYixFQUFBQSxRQUFRLEVBQUVjLG1CQUFVQyxLQUFWLENBQWdCO0FBQ3hCQyxJQUFBQSxXQUFXLEVBQUVGLG1CQUFVQyxLQUFWLENBQWdCO0FBQzNCRSxNQUFBQSxlQUFlLEVBQUVILG1CQUFVSSxNQURBO0FBRTNCQyxNQUFBQSxLQUFLLEVBQUVMLG1CQUFVSTtBQUZVLEtBQWhCO0FBRFcsR0FBaEIsRUFLUEUsVUFOa0I7QUFPckJmLEVBQUFBLFNBQVMsRUFBRVMsbUJBQVVPLEtBQVYsQ0FBZ0IsQ0FBQzVCLE9BQUQsRUFBVUQsV0FBVixDQUFoQixFQUF3QzRCO0FBUDlCLENBQXZCO2VBVWVoQixVIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdGFudHMsIERpcmVjdExpbmVBY3Rpdml0eSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBjb25uZWN0VG9XZWJDaGF0IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3RUb1dlYkNoYXQnO1xuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vLi4vLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5pbXBvcnQgU2VuZEZhaWxlZFJldHJ5IGZyb20gJy4vU2VuZEZhaWxlZFJldHJ5JztcbmltcG9ydCB1c2VGb2N1cyBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGb2N1cyc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuXG5jb25zdCB7IHVzZUxvY2FsaXplciwgdXNlUG9zdEFjdGl2aXR5IH0gPSBob29rcztcblxuY29uc3Qge1xuICBBY3Rpdml0eUNsaWVudFN0YXRlOiB7IFNFTkRfRkFJTEVELCBTRU5ESU5HIH1cbn0gPSBDb25zdGFudHM7XG5cbmNvbnN0IGNvbm5lY3RTZW5kU3RhdHVzID0gKC4uLnNlbGVjdG9ycykgPT5cbiAgY29ubmVjdFRvV2ViQ2hhdChcbiAgICAoeyBmb2N1c1NlbmRCb3gsIGxhbmd1YWdlLCBwb3N0QWN0aXZpdHkgfSwgeyBhY3Rpdml0eSB9KSA9PiAoe1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICByZXRyeVNlbmQ6IGV2dCA9PiB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIHBvc3RBY3Rpdml0eShhY3Rpdml0eSk7XG5cbiAgICAgICAgLy8gQWZ0ZXIgY2xpY2tpbmcgb24gXCJyZXRyeVwiLCB0aGUgYnV0dG9uIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBET00gYW5kIGZvY3VzIHdpbGwgYmUgbG9zdCAoYmFjayB0byBkb2N1bWVudC5ib2R5KVxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCBmb2N1cyB3aWxsIHN0YXkgd2l0aGluIFdlYiBDaGF0XG4gICAgICAgIGZvY3VzU2VuZEJveCgpO1xuICAgICAgfVxuICAgIH0pLFxuICAgIC4uLnNlbGVjdG9yc1xuICApO1xuXG50eXBlIFNlbmRTdGF0dXNQcm9wcyA9IHtcbiAgYWN0aXZpdHk6IERpcmVjdExpbmVBY3Rpdml0eTtcbiAgc2VuZFN0YXRlOiAnc2VuZGluZycgfCAnc2VuZCBmYWlsZWQnIHwgJ3NlbnQnO1xufTtcblxuY29uc3QgU2VuZFN0YXR1czogRkM8U2VuZFN0YXR1c1Byb3BzPiA9ICh7IGFjdGl2aXR5LCBzZW5kU3RhdGUgfSkgPT4ge1xuICBjb25zdCBbeyBzZW5kU3RhdHVzOiBzZW5kU3RhdHVzU3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBmb2N1cyA9IHVzZUZvY3VzKCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHBvc3RBY3Rpdml0eSA9IHVzZVBvc3RBY3Rpdml0eSgpO1xuXG4gIGNvbnN0IHNlbmRpbmdUZXh0ID0gbG9jYWxpemUoJ0FDVElWSVRZX1NUQVRVU19TRU5EX1NUQVRVU19BTFRfU0VORElORycpO1xuXG4gIGNvbnN0IGxhYmVsID0gbG9jYWxpemUoJ0FDVElWSVRZX1NUQVRVU19TRU5EX1NUQVRVU19BTFQnLCBzZW5kaW5nVGV4dCk7XG5cbiAgY29uc3QgaGFuZGxlUmV0cnlDbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBwb3N0QWN0aXZpdHkoYWN0aXZpdHkpO1xuXG4gICAgLy8gQWZ0ZXIgY2xpY2tpbmcgb24gXCJyZXRyeVwiLCB0aGUgYnV0dG9uIHdpbGwgYmUgZ29uZSBhbmQgZm9jdXMgd2lsbCBiZSBsb3N0IChiYWNrIHRvIGRvY3VtZW50LmJvZHkpXG4gICAgLy8gV2Ugd2FudCB0byBtYWtlIHN1cmUgdGhlIHVzZXIgc3RheSBpbnNpZGUgV2ViIENoYXRcbiAgICBmb2N1cygnc2VuZEJveFdpdGhvdXRLZXlib2FyZCcpO1xuICB9LCBbYWN0aXZpdHksIGZvY3VzLCBwb3N0QWN0aXZpdHldKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHRleHQ9e2xhYmVsfSAvPlxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49e3RydWV9IGNsYXNzTmFtZT17c2VuZFN0YXR1c1N0eWxlU2V0fT5cbiAgICAgICAge3NlbmRTdGF0ZSA9PT0gU0VORElORyA/IChcbiAgICAgICAgICBzZW5kaW5nVGV4dFxuICAgICAgICApIDogc2VuZFN0YXRlID09PSBTRU5EX0ZBSUxFRCA/IChcbiAgICAgICAgICA8U2VuZEZhaWxlZFJldHJ5IG9uUmV0cnlDbGljaz17aGFuZGxlUmV0cnlDbGlja30gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBmYWxzZVxuICAgICAgICApfVxuICAgICAgPC9zcGFuPlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59O1xuXG5TZW5kU3RhdHVzLnByb3BUeXBlcyA9IHtcbiAgYWN0aXZpdHk6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjbGllbnRUaW1lc3RhbXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBzdGF0ZTogUHJvcFR5cGVzLnN0cmluZ1xuICAgIH0pXG4gIH0pLmlzUmVxdWlyZWQsXG4gIHNlbmRTdGF0ZTogUHJvcFR5cGVzLm9uZU9mKFtTRU5ESU5HLCBTRU5EX0ZBSUxFRF0pLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNlbmRTdGF0dXM7XG5cbmV4cG9ydCB7IGNvbm5lY3RTZW5kU3RhdHVzIH07XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9NaWRkbGV3YXJlL0FjdGl2aXR5U3RhdHVzL1NlbmRTdGF0dXMvU2VuZFN0YXR1cy50c3giXSwibmFtZXMiOlsidXNlTG9jYWxpemVyIiwiaG9va3MiLCJ1c2VQb3N0QWN0aXZpdHkiLCJDb25zdGFudHMiLCJBY3Rpdml0eUNsaWVudFN0YXRlIiwiU0VORF9GQUlMRUQiLCJTRU5ESU5HIiwiY29ubmVjdFNlbmRTdGF0dXMiLCJzZWxlY3RvcnMiLCJjb25uZWN0VG9XZWJDaGF0IiwiZm9jdXNTZW5kQm94IiwibGFuZ3VhZ2UiLCJwb3N0QWN0aXZpdHkiLCJhY3Rpdml0eSIsInJldHJ5U2VuZCIsImV2dCIsInByZXZlbnREZWZhdWx0IiwiU2VuZFN0YXR1cyIsInNlbmRTdGF0ZSIsInNlbmRTdGF0dXNTdHlsZVNldCIsInNlbmRTdGF0dXMiLCJmb2N1cyIsImxvY2FsaXplIiwic2VuZGluZ1RleHQiLCJsYWJlbCIsImhhbmRsZVJldHJ5Q2xpY2siLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImNoYW5uZWxEYXRhIiwic3RhdGUiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwib25lT2YiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLFlBQVIsR0FBMENDLDZCQUExQyxDQUFRRCxZQUFSO0FBQUEsSUFBc0JFLGVBQXRCLEdBQTBDRCw2QkFBMUMsQ0FBc0JDLGVBQXRCO0FBRUEsNEJBRUlDLGtDQUZKLENBQ0VDLG1CQURGO0FBQUEsSUFDeUJDLFdBRHpCLHlCQUN5QkEsV0FEekI7QUFBQSxJQUNzQ0MsT0FEdEMseUJBQ3NDQSxPQUR0Qzs7QUFJQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CO0FBQUEsb0NBQUlDLFNBQUo7QUFBSUEsSUFBQUEsU0FBSjtBQUFBOztBQUFBLFNBQ3hCQyx5Q0FDRTtBQUFBLFFBQUdDLFlBQUgsUUFBR0EsWUFBSDtBQUFBLFFBQWlCQyxRQUFqQixRQUFpQkEsUUFBakI7QUFBQSxRQUEyQkMsWUFBM0IsUUFBMkJBLFlBQTNCO0FBQUEsUUFBNkNDLFFBQTdDLFNBQTZDQSxRQUE3QztBQUFBLFdBQTZEO0FBQzNERixNQUFBQSxRQUFRLEVBQVJBLFFBRDJEO0FBRTNERyxNQUFBQSxTQUFTLEVBQUUsbUJBQUFDLEdBQUcsRUFBSTtBQUNoQkEsUUFBQUEsR0FBRyxDQUFDQyxjQUFKO0FBRUFKLFFBQUFBLFlBQVksQ0FBQ0MsUUFBRCxDQUFaLENBSGdCLENBS2hCO0FBQ0E7O0FBQ0FILFFBQUFBLFlBQVk7QUFDYjtBQVYwRCxLQUE3RDtBQUFBLEdBREYsU0FhS0YsU0FiTCxFQUR3QjtBQUFBLENBQTFCOzs7O0FBc0JBLElBQU1TLFVBQStCLEdBQUcsU0FBbENBLFVBQWtDLFFBQTZCO0FBQUEsTUFBMUJKLFFBQTBCLFNBQTFCQSxRQUEwQjtBQUFBLE1BQWhCSyxTQUFnQixTQUFoQkEsU0FBZ0I7O0FBQ25FLHFCQUE2Qyw0QkFBN0M7QUFBQTtBQUFBLE1BQXFCQyxrQkFBckIsb0JBQVNDLFVBQVQ7O0FBQ0EsTUFBTUMsS0FBSyxHQUFHLHdCQUFkO0FBQ0EsTUFBTUMsUUFBUSxHQUFHdEIsWUFBWSxFQUE3QjtBQUNBLE1BQU1ZLFlBQVksR0FBR1YsZUFBZSxFQUFwQztBQUVBLE1BQU1xQixXQUFXLEdBQUdELFFBQVEsQ0FBQyx5Q0FBRCxDQUE1QjtBQUVBLE1BQU1FLEtBQUssR0FBR0YsUUFBUSxDQUFDLGlDQUFELEVBQW9DQyxXQUFwQyxDQUF0QjtBQUVBLE1BQU1FLGdCQUFnQixHQUFHLHdCQUFZLFlBQU07QUFDekNiLElBQUFBLFlBQVksQ0FBQ0MsUUFBRCxDQUFaLENBRHlDLENBR3pDO0FBQ0E7O0FBQ0FRLElBQUFBLEtBQUssQ0FBQyx3QkFBRCxDQUFMO0FBQ0QsR0FOd0IsRUFNdEIsQ0FBQ1IsUUFBRCxFQUFXUSxLQUFYLEVBQWtCVCxZQUFsQixDQU5zQixDQUF6QjtBQVFBLHNCQUNFLDZCQUFDLGNBQUQsQ0FBTyxRQUFQLHFCQUNFLDZCQUFDLHlCQUFEO0FBQWtCLElBQUEsSUFBSSxFQUFFWTtBQUF4QixJQURGLGVBRUU7QUFBTSxtQkFBYSxJQUFuQjtBQUF5QixJQUFBLFNBQVMsRUFBRUw7QUFBcEMsS0FDR0QsU0FBUyxLQUFLWixPQUFkLEdBQ0NpQixXQURELEdBRUdMLFNBQVMsS0FBS2IsV0FBZCxnQkFDRiw2QkFBQyx3QkFBRDtBQUFpQixJQUFBLFlBQVksRUFBRW9CO0FBQS9CLElBREUsR0FHRixLQU5KLENBRkYsQ0FERjtBQWNELENBaENEOztBQWtDQVIsVUFBVSxDQUFDUyxTQUFYLEdBQXVCO0FBQ3JCO0FBQ0E7QUFDQWIsRUFBQUEsUUFBUSxFQUFFYyxtQkFBVUMsS0FBVixDQUFnQjtBQUN4QkMsSUFBQUEsV0FBVyxFQUFFRixtQkFBVUMsS0FBVixDQUFnQjtBQUMzQkUsTUFBQUEsS0FBSyxFQUFFSCxtQkFBVUk7QUFEVSxLQUFoQjtBQURXLEdBQWhCLEVBSVBDLFVBUGtCO0FBUXJCZCxFQUFBQSxTQUFTLEVBQUVTLG1CQUFVTSxLQUFWLENBQWdCLENBQUMzQixPQUFELEVBQVVELFdBQVYsQ0FBaEIsRUFBd0MyQjtBQVI5QixDQUF2QjtlQVdlZixVIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb3JlJztcbmltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgRkMsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBXZWJDaGF0QWN0aXZpdHkgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb3JlJztcblxuaW1wb3J0IGNvbm5lY3RUb1dlYkNoYXQgZnJvbSAnLi4vLi4vLi4vY29ubmVjdFRvV2ViQ2hhdCc7XG5pbXBvcnQgU2NyZWVuUmVhZGVyVGV4dCBmcm9tICcuLi8uLi8uLi9TY3JlZW5SZWFkZXJUZXh0JztcbmltcG9ydCBTZW5kRmFpbGVkUmV0cnkgZnJvbSAnLi9TZW5kRmFpbGVkUmV0cnknO1xuaW1wb3J0IHVzZUZvY3VzIGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZvY3VzJztcbmltcG9ydCB1c2VTdHlsZVNldCBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTdHlsZVNldCc7XG5cbmNvbnN0IHsgdXNlTG9jYWxpemVyLCB1c2VQb3N0QWN0aXZpdHkgfSA9IGhvb2tzO1xuXG5jb25zdCB7XG4gIEFjdGl2aXR5Q2xpZW50U3RhdGU6IHsgU0VORF9GQUlMRUQsIFNFTkRJTkcgfVxufSA9IENvbnN0YW50cztcblxuY29uc3QgY29ubmVjdFNlbmRTdGF0dXMgPSAoLi4uc2VsZWN0b3JzKSA9PlxuICBjb25uZWN0VG9XZWJDaGF0KFxuICAgICh7IGZvY3VzU2VuZEJveCwgbGFuZ3VhZ2UsIHBvc3RBY3Rpdml0eSB9LCB7IGFjdGl2aXR5IH0pID0+ICh7XG4gICAgICBsYW5ndWFnZSxcbiAgICAgIHJldHJ5U2VuZDogZXZ0ID0+IHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgcG9zdEFjdGl2aXR5KGFjdGl2aXR5KTtcblxuICAgICAgICAvLyBBZnRlciBjbGlja2luZyBvbiBcInJldHJ5XCIsIHRoZSBidXR0b24gd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIERPTSBhbmQgZm9jdXMgd2lsbCBiZSBsb3N0IChiYWNrIHRvIGRvY3VtZW50LmJvZHkpXG4gICAgICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IGZvY3VzIHdpbGwgc3RheSB3aXRoaW4gV2ViIENoYXRcbiAgICAgICAgZm9jdXNTZW5kQm94KCk7XG4gICAgICB9XG4gICAgfSksXG4gICAgLi4uc2VsZWN0b3JzXG4gICk7XG5cbnR5cGUgU2VuZFN0YXR1c1Byb3BzID0ge1xuICBhY3Rpdml0eTogV2ViQ2hhdEFjdGl2aXR5O1xuICBzZW5kU3RhdGU6ICdzZW5kaW5nJyB8ICdzZW5kIGZhaWxlZCcgfCAnc2VudCc7XG59O1xuXG5jb25zdCBTZW5kU3RhdHVzOiBGQzxTZW5kU3RhdHVzUHJvcHM+ID0gKHsgYWN0aXZpdHksIHNlbmRTdGF0ZSB9KSA9PiB7XG4gIGNvbnN0IFt7IHNlbmRTdGF0dXM6IHNlbmRTdGF0dXNTdHlsZVNldCB9XSA9IHVzZVN0eWxlU2V0KCk7XG4gIGNvbnN0IGZvY3VzID0gdXNlRm9jdXMoKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgcG9zdEFjdGl2aXR5ID0gdXNlUG9zdEFjdGl2aXR5KCk7XG5cbiAgY29uc3Qgc2VuZGluZ1RleHQgPSBsb2NhbGl6ZSgnQUNUSVZJVFlfU1RBVFVTX1NFTkRfU1RBVFVTX0FMVF9TRU5ESU5HJyk7XG5cbiAgY29uc3QgbGFiZWwgPSBsb2NhbGl6ZSgnQUNUSVZJVFlfU1RBVFVTX1NFTkRfU1RBVFVTX0FMVCcsIHNlbmRpbmdUZXh0KTtcblxuICBjb25zdCBoYW5kbGVSZXRyeUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHBvc3RBY3Rpdml0eShhY3Rpdml0eSk7XG5cbiAgICAvLyBBZnRlciBjbGlja2luZyBvbiBcInJldHJ5XCIsIHRoZSBidXR0b24gd2lsbCBiZSBnb25lIGFuZCBmb2N1cyB3aWxsIGJlIGxvc3QgKGJhY2sgdG8gZG9jdW1lbnQuYm9keSlcbiAgICAvLyBXZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgdXNlciBzdGF5IGluc2lkZSBXZWIgQ2hhdFxuICAgIGZvY3VzKCdzZW5kQm94V2l0aG91dEtleWJvYXJkJyk7XG4gIH0sIFthY3Rpdml0eSwgZm9jdXMsIHBvc3RBY3Rpdml0eV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPFNjcmVlblJlYWRlclRleHQgdGV4dD17bGFiZWx9IC8+XG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj17dHJ1ZX0gY2xhc3NOYW1lPXtzZW5kU3RhdHVzU3R5bGVTZXR9PlxuICAgICAgICB7c2VuZFN0YXRlID09PSBTRU5ESU5HID8gKFxuICAgICAgICAgIHNlbmRpbmdUZXh0XG4gICAgICAgICkgOiBzZW5kU3RhdGUgPT09IFNFTkRfRkFJTEVEID8gKFxuICAgICAgICAgIDxTZW5kRmFpbGVkUmV0cnkgb25SZXRyeUNsaWNrPXtoYW5kbGVSZXRyeUNsaWNrfSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cblNlbmRTdGF0dXMucHJvcFR5cGVzID0ge1xuICAvLyBQcm9wVHlwZXMgY2Fubm90IGZ1bGx5IGNhcHR1cmUgVHlwZVNjcmlwdCB0eXBlcy5cbiAgLy8gQHRzLWlnbm9yZVxuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBjaGFubmVsRGF0YTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHN0YXRlOiBQcm9wVHlwZXMuc3RyaW5nXG4gICAgfSlcbiAgfSkuaXNSZXF1aXJlZCxcbiAgc2VuZFN0YXRlOiBQcm9wVHlwZXMub25lT2YoW1NFTkRJTkcsIFNFTkRfRkFJTEVEXSkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgU2VuZFN0YXR1cztcblxuZXhwb3J0IHsgY29ubmVjdFNlbmRTdGF0dXMgfTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { DirectLineActivity } from 'botframework-webchat-core';
2
1
  import { FC } from 'react';
2
+ import type { WebChatActivity } from 'botframework-webchat-core';
3
3
  declare type TimestampProps = {
4
- activity: DirectLineActivity;
4
+ activity: WebChatActivity;
5
5
  className?: string;
6
6
  };
7
7
  declare const Timestamp: FC<TimestampProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/Middleware/ActivityStatus/Timestamp.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQlC,aAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAkBjC,CAAC;AAaF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/Middleware/ActivityStatus/Timestamp.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQjE,aAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAkBjC,CAAC;AAeF,eAAe,SAAS,CAAC"}