botframework-webchat-component 4.13.0 → 4.14.2
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.
- package/.eslintignore +1 -9
- package/.eslintrc.yml +6 -0
- package/lib/Activity/Avatar.d.ts +10 -0
- package/lib/Activity/Avatar.d.ts.map +1 -0
- package/lib/Activity/Avatar.js +2 -1
- package/lib/Activity/Bubble.d.ts +11 -0
- package/lib/Activity/Bubble.d.ts.map +1 -0
- package/lib/Activity/Bubble.js +2 -2
- package/lib/Activity/CarouselFilmStrip.js +20 -30
- package/lib/Activity/CarouselFilmStripAttachment.js +120 -0
- package/lib/Activity/CarouselLayout.js +5 -5
- package/lib/Activity/Speak.d.ts +10 -0
- package/lib/Activity/Speak.d.ts.map +1 -0
- package/lib/Activity/Speak.js +10 -12
- package/lib/Activity/StackedLayout.d.ts +18 -0
- package/lib/Activity/StackedLayout.d.ts.map +1 -0
- package/lib/Activity/StackedLayout.js +18 -14
- package/lib/Assets/TypingAnimation.js +2 -2
- package/lib/Attachment/Assets/DownloadIcon.js +3 -1
- package/lib/Attachment/AudioAttachment.js +2 -2
- package/lib/Attachment/AudioContent.d.ts +11 -0
- package/lib/Attachment/AudioContent.d.ts.map +1 -0
- package/lib/Attachment/AudioContent.js +4 -4
- package/lib/Attachment/FileContent.d.ts +10 -0
- package/lib/Attachment/FileContent.d.ts.map +1 -0
- package/lib/Attachment/FileContent.js +4 -9
- package/lib/Attachment/HTMLVideoContent.d.ts +11 -0
- package/lib/Attachment/HTMLVideoContent.d.ts.map +1 -0
- package/lib/Attachment/HTMLVideoContent.js +2 -2
- package/lib/Attachment/ImageContent.d.ts +8 -0
- package/lib/Attachment/ImageContent.d.ts.map +1 -0
- package/lib/Attachment/ImageContent.js +2 -2
- package/lib/Attachment/TextContent.d.ts +8 -0
- package/lib/Attachment/TextContent.d.ts.map +1 -0
- package/lib/Attachment/TextContent.js +4 -4
- package/lib/Attachment/VideoAttachment.js +2 -2
- package/lib/Attachment/VideoContent.d.ts +11 -0
- package/lib/Attachment/VideoContent.d.ts.map +1 -0
- package/lib/Attachment/VideoContent.js +1 -1
- package/lib/Attachment/VimeoContent.d.ts +10 -0
- package/lib/Attachment/VimeoContent.d.ts.map +1 -0
- package/lib/Attachment/VimeoContent.js +8 -8
- package/lib/Attachment/YouTubeContent.d.ts +10 -0
- package/lib/Attachment/YouTubeContent.d.ts.map +1 -0
- package/lib/Attachment/YouTubeContent.js +5 -5
- package/lib/Avatar/ImageAvatar.js +2 -2
- package/lib/Avatar/InitialsAvatar.js +2 -2
- package/lib/BasicConnectivityStatus.js +2 -2
- package/lib/BasicSendBox.d.ts +9 -0
- package/lib/BasicSendBox.d.ts.map +1 -0
- package/lib/BasicSendBox.js +6 -5
- package/lib/BasicToast.js +4 -4
- package/lib/BasicToaster.js +4 -4
- package/lib/BasicTranscript.js +143 -123
- package/lib/BasicTypingIndicator.d.ts +5 -0
- package/lib/BasicTypingIndicator.d.ts.map +1 -0
- package/lib/BasicTypingIndicator.js +2 -2
- package/lib/BasicWebChat.d.ts +9 -0
- package/lib/BasicWebChat.d.ts.map +1 -0
- package/lib/BasicWebChat.js +6 -4
- package/lib/Composer.d.ts +23 -0
- package/lib/Composer.d.ts.map +1 -0
- package/lib/Composer.js +33 -55
- package/lib/ConnectivityStatus/Assets/ErrorNotificationIcon.js +2 -2
- package/lib/ConnectivityStatus/Assets/SpinnerAnimation.js +2 -2
- package/lib/ConnectivityStatus/Assets/WarningNotificationIcon.js +2 -2
- package/lib/ConnectivityStatus/Connected.js +1 -1
- package/lib/ConnectivityStatus/Connecting.js +4 -4
- package/lib/ConnectivityStatus/FailedToConnect.js +2 -2
- package/lib/ConnectivityStatus/JavaScriptError.js +2 -2
- package/lib/Dictation.js +13 -4
- package/lib/ErrorBox.d.ts +8 -0
- package/lib/ErrorBox.d.ts.map +1 -0
- package/lib/ErrorBox.js +2 -2
- package/lib/Middleware/Activity/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Activity/createCoreMiddleware.js +1 -1
- package/lib/Middleware/ActivityStatus/AbsoluteTime.js +1 -1
- package/lib/Middleware/ActivityStatus/RelativeTime.js +1 -1
- package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +3 -3
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +11 -0
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -0
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +4 -4
- package/lib/Middleware/ActivityStatus/Timestamp.d.ts +9 -0
- package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -0
- package/lib/Middleware/ActivityStatus/Timestamp.js +2 -2
- package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/ActivityStatus/createCoreMiddleware.js +1 -1
- package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +5 -3
- package/lib/Middleware/ActivityStatus/createTimestampMiddleware.js +1 -1
- package/lib/Middleware/Attachment/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/Attachment/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Attachment/createCoreMiddleware.js +9 -9
- package/lib/Middleware/AttachmentForScreenReader/AudioAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/FileAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/ImageAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/TextAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/VideoAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +9 -5
- package/lib/Middleware/Avatar/createCoreMiddleware.d.ts +11 -0
- package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Avatar/createCoreMiddleware.js +2 -2
- package/lib/Middleware/CardAction/createCoreMiddleware.js +2 -2
- package/lib/Middleware/GroupActivities/createCoreMiddleware.js +1 -1
- package/lib/Middleware/ScrollToEndButton/ScrollToEndButton.js +71 -0
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts +3 -0
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -0
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +27 -0
- package/lib/Middleware/Toast/createCoreMiddleware.d.ts +4 -0
- package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +3 -2
- package/lib/ReactWebChat.d.ts +10 -0
- package/lib/ReactWebChat.d.ts.map +1 -0
- package/lib/ReactWebChat.js +19 -7
- package/lib/ScreenReaderActivity.js +64 -45
- package/lib/SendBox/Assets/AttachmentIcon.js +3 -1
- package/lib/SendBox/Assets/MicrophoneIcon.js +3 -1
- package/lib/SendBox/Assets/SendIcon.js +2 -2
- package/lib/SendBox/AutoResizeTextArea.d.ts +23 -0
- package/lib/SendBox/AutoResizeTextArea.d.ts.map +1 -0
- package/lib/SendBox/AutoResizeTextArea.js +6 -6
- package/lib/SendBox/DictationInterims.d.ts +9 -0
- package/lib/SendBox/DictationInterims.d.ts.map +1 -0
- package/lib/SendBox/DictationInterims.js +2 -2
- package/lib/SendBox/IconButton.js +2 -2
- package/lib/SendBox/MicrophoneButton.d.ts +11 -0
- package/lib/SendBox/MicrophoneButton.d.ts.map +1 -0
- package/lib/SendBox/MicrophoneButton.js +25 -24
- package/lib/SendBox/SendButton.d.ts +9 -0
- package/lib/SendBox/SendButton.d.ts.map +1 -0
- package/lib/SendBox/SendButton.js +7 -5
- package/lib/SendBox/SuggestedAction.js +5 -9
- package/lib/SendBox/SuggestedActions.d.ts +5 -0
- package/lib/SendBox/SuggestedActions.d.ts.map +1 -0
- package/lib/SendBox/SuggestedActions.js +10 -7
- package/lib/SendBox/TextBox.d.ts +28 -0
- package/lib/SendBox/TextBox.d.ts.map +1 -0
- package/lib/SendBox/TextBox.js +12 -7
- package/lib/SendBox/UploadButton.d.ts +9 -0
- package/lib/SendBox/UploadButton.d.ts.map +1 -0
- package/lib/SendBox/UploadButton.js +5 -5
- package/lib/Styles/StyleSet/Activities.d.ts +5 -0
- package/lib/Styles/StyleSet/Activities.d.ts.map +1 -0
- package/lib/Styles/StyleSet/AudioAttachment.d.ts +6 -0
- package/lib/Styles/StyleSet/AudioAttachment.d.ts.map +1 -0
- package/lib/Styles/StyleSet/AudioContent.d.ts +4 -0
- package/lib/Styles/StyleSet/AudioContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts +37 -0
- package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Avatar.d.ts +9 -0
- package/lib/Styles/StyleSet/Avatar.d.ts.map +1 -0
- package/lib/Styles/StyleSet/BasicTranscript.d.ts +77 -0
- package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Bubble.d.ts +5 -0
- package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Bubble.js +1 -1
- package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts +5 -0
- package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -0
- package/lib/Styles/StyleSet/CarouselFilmStrip.js +2 -18
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts +3 -0
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -0
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +63 -0
- package/lib/Styles/StyleSet/CarouselFlipper.d.ts +27 -0
- package/lib/Styles/StyleSet/CarouselFlipper.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ConnectivityNotification.d.ts +13 -0
- package/lib/Styles/StyleSet/ConnectivityNotification.d.ts.map +1 -0
- package/lib/Styles/StyleSet/DictationInterims.d.ts +13 -0
- package/lib/Styles/StyleSet/DictationInterims.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ErrorBox.d.ts +33 -0
- package/lib/Styles/StyleSet/ErrorBox.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ErrorNotification.d.ts +23 -0
- package/lib/Styles/StyleSet/ErrorNotification.d.ts.map +1 -0
- package/lib/Styles/StyleSet/FileContent.d.ts +32 -0
- package/lib/Styles/StyleSet/FileContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ImageAvatar.d.ts +7 -0
- package/lib/Styles/StyleSet/ImageAvatar.d.ts.map +1 -0
- package/lib/Styles/StyleSet/InitialsAvatar.d.ts +19 -0
- package/lib/Styles/StyleSet/InitialsAvatar.d.ts.map +1 -0
- package/lib/Styles/StyleSet/MicrophoneButton.d.ts +13 -0
- package/lib/Styles/StyleSet/MicrophoneButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Root.d.ts +8 -0
- package/lib/Styles/StyleSet/Root.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +36 -0
- package/lib/Styles/StyleSet/ScrollToEndButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ScrollToEndButton.js +36 -34
- package/lib/Styles/StyleSet/SendBox.d.ts +24 -0
- package/lib/Styles/StyleSet/SendBox.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SendBoxButton.d.ts +33 -0
- package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +41 -0
- package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SendStatus.d.ts +8 -0
- package/lib/Styles/StyleSet/SendStatus.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts +11 -0
- package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SpinnerAnimation.d.ts +15 -0
- package/lib/Styles/StyleSet/SpinnerAnimation.d.ts.map +1 -0
- package/lib/Styles/StyleSet/StackedLayout.d.ts +63 -0
- package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SuggestedAction.d.ts +49 -0
- package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SuggestedAction.js +2 -2
- package/lib/Styles/StyleSet/SuggestedActions.d.ts +118 -0
- package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -0
- package/lib/Styles/StyleSet/TextContent.d.ts +28 -0
- package/lib/Styles/StyleSet/TextContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Toast.d.ts +65 -0
- package/lib/Styles/StyleSet/Toast.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Toaster.d.ts +111 -0
- package/lib/Styles/StyleSet/Toaster.d.ts.map +1 -0
- package/lib/Styles/StyleSet/TypingAnimation.d.ts +8 -0
- package/lib/Styles/StyleSet/TypingAnimation.d.ts.map +1 -0
- package/lib/Styles/StyleSet/TypingIndicator.d.ts +11 -0
- package/lib/Styles/StyleSet/TypingIndicator.d.ts.map +1 -0
- package/lib/Styles/StyleSet/UploadButton.d.ts +14 -0
- package/lib/Styles/StyleSet/UploadButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/VideoAttachment.d.ts +2 -0
- package/lib/Styles/StyleSet/VideoAttachment.d.ts.map +1 -0
- package/lib/Styles/StyleSet/VideoContent.d.ts +6 -0
- package/lib/Styles/StyleSet/VideoContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/VimeoContent.d.ts +7 -0
- package/lib/Styles/StyleSet/VimeoContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/WarningNotification.d.ts +22 -0
- package/lib/Styles/StyleSet/WarningNotification.d.ts.map +1 -0
- package/lib/Styles/StyleSet/YouTubeContent.d.ts +7 -0
- package/lib/Styles/StyleSet/YouTubeContent.d.ts.map +1 -0
- package/lib/Styles/createStyleSet.d.ts +1103 -0
- package/lib/Styles/createStyleSet.d.ts.map +1 -0
- package/lib/Styles/createStyleSet.js +44 -41
- package/lib/Styles/mirrorStyle.js +2 -2
- package/lib/Toast/CollapseIcon.js +3 -1
- package/lib/Toast/DismissIcon.js +3 -1
- package/lib/Toast/ExpandIcon.js +3 -1
- package/lib/Toast/NotificationIcon.js +1 -1
- package/lib/Toast/createToastMiddleware.d.ts +4 -0
- package/lib/Toast/createToastMiddleware.d.ts.map +1 -0
- package/lib/Toast/createToastMiddleware.js +2 -2
- package/lib/Utils/AccessKeySink/Surface.js +7 -5
- package/lib/Utils/AccessibleButton.js +6 -4
- package/lib/Utils/AccessibleInputText.d.ts +21 -0
- package/lib/Utils/AccessibleInputText.d.ts.map +1 -0
- package/lib/Utils/AccessibleInputText.js +29 -25
- package/lib/Utils/AccessibleTextArea.d.ts +20 -0
- package/lib/Utils/AccessibleTextArea.d.ts.map +1 -0
- package/lib/Utils/AccessibleTextArea.js +35 -24
- package/lib/Utils/CroppedImage.js +2 -2
- package/lib/Utils/Fade.js +2 -2
- package/lib/Utils/FocusRedirector.js +3 -3
- package/lib/Utils/InlineMarkdown.js +6 -6
- package/lib/Utils/TypeFocusSink/FocusBox.js +6 -4
- package/lib/Utils/TypeFocusSink/getTabIndex.d.ts +2 -0
- package/lib/Utils/TypeFocusSink/getTabIndex.d.ts.map +1 -0
- package/lib/Utils/TypeFocusSink/getTabIndex.js +1 -1
- package/lib/Utils/TypeFocusSink/navigableEvent.js +1 -1
- package/lib/Utils/activityAltText.js +100 -0
- package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +1 -1
- package/lib/Utils/createCustomEvent.js +1 -1
- package/lib/Utils/debounce.js +1 -1
- package/lib/Utils/detectBrowser.js +1 -1
- package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +2 -2
- package/lib/Utils/downscaleImageToDataURL/index.js +2 -2
- package/lib/Utils/filterMap.js +1 -1
- package/lib/Utils/findLastIndex.js +2 -2
- package/lib/Utils/mapMap.js +1 -1
- package/lib/Utils/readDataURIToBlob.js +2 -2
- package/lib/Utils/singleToArray.js +1 -1
- package/lib/connectToWebChat.js +5 -3
- package/lib/hooks/index.d.ts +21 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/index.js +1 -1
- package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +97 -39
- package/lib/hooks/internal/UITracker.js +2 -2
- package/lib/hooks/internal/useAcknowledgedActivity.js +2 -2
- package/lib/hooks/internal/useDispatchScrollPosition.js +1 -1
- package/lib/hooks/internal/useDispatchTranscriptFocus.js +1 -1
- package/lib/hooks/internal/useEnterKeyHint.js +1 -1
- package/lib/hooks/internal/useForceRender.js +2 -2
- package/lib/hooks/internal/useForceRenderAtInterval.js +2 -2
- package/lib/hooks/internal/useInternalRenderMarkdownInline.js +1 -1
- package/lib/hooks/internal/useLocalizeAccessKey.js +2 -2
- package/lib/hooks/internal/useMemoize.js +2 -2
- package/lib/hooks/internal/useNavigatorPlatform.js +1 -1
- package/lib/hooks/internal/useNonce.js +1 -1
- package/lib/hooks/internal/useRegisterFocusSendBox.js +1 -1
- package/lib/hooks/internal/useRegisterFocusTranscript.js +1 -1
- package/lib/hooks/internal/useRegisterScrollRelative.js +1 -1
- package/lib/hooks/internal/useRegisterScrollTo.js +1 -1
- package/lib/hooks/internal/useRegisterScrollToEnd.js +1 -1
- package/lib/hooks/internal/useReplaceEmoticon.js +2 -2
- package/lib/hooks/internal/useResumeAudioContext.js +33 -0
- package/lib/hooks/internal/useScrollRelative.js +1 -1
- package/lib/hooks/internal/useSettableDictateAbortable.js +1 -1
- package/lib/hooks/internal/useSuggestedActionsAccessKey.js +1 -1
- package/lib/hooks/internal/useUniqueId.d.ts +2 -0
- package/lib/hooks/internal/useUniqueId.d.ts.map +1 -0
- package/lib/hooks/internal/useUniqueId.js +1 -1
- package/lib/hooks/useDictateAbortable.d.ts +2 -0
- package/lib/hooks/useDictateAbortable.d.ts.map +1 -0
- package/lib/hooks/useDictateAbortable.js +2 -2
- package/lib/hooks/useFocus.d.ts +2 -0
- package/lib/hooks/useFocus.d.ts.map +1 -0
- package/lib/hooks/useFocus.js +1 -1
- package/lib/hooks/useFocusSendBox.d.ts +3 -0
- package/lib/hooks/useFocusSendBox.d.ts.map +1 -0
- package/lib/hooks/useFocusSendBox.js +2 -1
- package/lib/hooks/useObserveScrollPosition.d.ts +3 -0
- package/lib/hooks/useObserveScrollPosition.d.ts.map +1 -0
- package/lib/hooks/useObserveScrollPosition.js +2 -2
- package/lib/hooks/useObserveTranscriptFocus.d.ts +5 -0
- package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -0
- package/lib/hooks/useObserveTranscriptFocus.js +2 -2
- package/lib/hooks/useRenderMarkdownAsHTML.d.ts +5 -0
- package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -0
- package/lib/hooks/useRenderMarkdownAsHTML.js +2 -2
- package/lib/hooks/useScrollDown.d.ts +4 -0
- package/lib/hooks/useScrollDown.d.ts.map +1 -0
- package/lib/hooks/useScrollDown.js +1 -1
- package/lib/hooks/useScrollTo.d.ts +5 -0
- package/lib/hooks/useScrollTo.d.ts.map +1 -0
- package/lib/hooks/useScrollTo.js +1 -1
- package/lib/hooks/useScrollToEnd.d.ts +2 -0
- package/lib/hooks/useScrollToEnd.d.ts.map +1 -0
- package/lib/hooks/useScrollToEnd.js +1 -1
- package/lib/hooks/useScrollUp.d.ts +4 -0
- package/lib/hooks/useScrollUp.d.ts.map +1 -0
- package/lib/hooks/useScrollUp.js +1 -1
- package/lib/hooks/useSendFiles.d.ts +2 -0
- package/lib/hooks/useSendFiles.d.ts.map +1 -0
- package/lib/hooks/useSendFiles.js +3 -3
- package/lib/hooks/useStyleSet.d.ts +2 -0
- package/lib/hooks/useStyleSet.d.ts.map +1 -0
- package/lib/hooks/useStyleSet.js +1 -1
- package/lib/hooks/useWebSpeechPonyfill.d.ts +3 -0
- package/lib/hooks/useWebSpeechPonyfill.d.ts.map +1 -0
- package/lib/hooks/useWebSpeechPonyfill.js +1 -1
- package/lib/index.d.ts +209 -22
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +19 -19
- package/lib/tsconfig.json +1 -1
- package/lib/types/ScrollPosition.d.ts +6 -0
- package/lib/types/ScrollPosition.d.ts.map +1 -0
- package/lib/types/ScrollPosition.js +2 -0
- package/package.json +38 -38
- package/src/Activity/{Avatar.js → Avatar.tsx} +9 -2
- package/src/Activity/{Bubble.js → Bubble.tsx} +10 -2
- package/src/Activity/CarouselFilmStrip.js +20 -29
- package/src/Activity/CarouselFilmStripAttachment.js +92 -0
- package/src/Activity/{Speak.js → Speak.tsx} +12 -5
- package/src/Activity/{StackedLayout.js → StackedLayout.tsx} +36 -11
- package/src/Attachment/Assets/DownloadIcon.js +8 -1
- package/src/Attachment/{AudioContent.js → AudioContent.tsx} +12 -3
- package/src/Attachment/{FileContent.js → FileContent.tsx} +10 -7
- package/src/Attachment/{HTMLVideoContent.js → HTMLVideoContent.tsx} +10 -2
- package/src/Attachment/{ImageContent.js → ImageContent.tsx} +7 -2
- package/src/Attachment/{TextContent.js → TextContent.tsx} +14 -7
- package/src/Attachment/{VideoContent.js → VideoContent.tsx} +10 -2
- package/src/Attachment/{VimeoContent.js → VimeoContent.tsx} +15 -8
- package/src/Attachment/{YouTubeContent.js → YouTubeContent.tsx} +12 -5
- package/src/{BasicSendBox.js → BasicSendBox.tsx} +9 -5
- package/src/BasicToaster.js +4 -4
- package/src/BasicTranscript.js +114 -98
- package/src/{BasicTypingIndicator.js → BasicTypingIndicator.tsx} +1 -1
- package/src/{BasicWebChat.js → BasicWebChat.tsx} +13 -4
- package/src/{Composer.js → Composer.tsx} +41 -42
- package/src/Dictation.js +13 -4
- package/src/{ErrorBox.js → ErrorBox.tsx} +7 -2
- package/src/Middleware/Activity/{createCoreMiddleware.js → createCoreMiddleware.tsx} +2 -1
- package/src/Middleware/ActivityStatus/SendStatus/{SendStatus.js → SendStatus.tsx} +8 -3
- package/src/Middleware/ActivityStatus/{Timestamp.js → Timestamp.tsx} +8 -2
- package/src/Middleware/ActivityStatus/{createCoreMiddleware.js → createCoreMiddleware.tsx} +3 -1
- package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +8 -6
- package/src/Middleware/ActivityStatus/createTimestampMiddleware.js +10 -8
- package/src/Middleware/Attachment/{createCoreMiddleware.js → createCoreMiddleware.tsx} +8 -7
- package/src/Middleware/AttachmentForScreenReader/{createCoreMiddleware.js → createCoreMiddleware.tsx} +4 -3
- package/src/Middleware/Avatar/{createCoreMiddleware.js → createCoreMiddleware.tsx} +10 -3
- package/src/Middleware/CardAction/createCoreMiddleware.js +43 -41
- package/src/Middleware/GroupActivities/createCoreMiddleware.js +6 -4
- package/src/Middleware/ScrollToEndButton/ScrollToEndButton.js +45 -0
- package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +17 -0
- package/src/Middleware/Toast/{createCoreMiddleware.js → createCoreMiddleware.tsx} +3 -1
- package/src/Middleware/TypingIndicator/{createCoreMiddleware.js → createCoreMiddleware.tsx} +3 -4
- package/src/{ReactWebChat.js → ReactWebChat.tsx} +25 -7
- package/src/ScreenReaderActivity.js +47 -37
- package/src/SendBox/Assets/AttachmentIcon.js +1 -1
- package/src/SendBox/Assets/MicrophoneIcon.js +1 -1
- package/src/SendBox/{AutoResizeTextArea.js → AutoResizeTextArea.tsx} +30 -4
- package/src/SendBox/{DictationInterims.js → DictationInterims.tsx} +6 -2
- package/src/SendBox/{MicrophoneButton.js → MicrophoneButton.tsx} +35 -25
- package/src/SendBox/{SendButton.js → SendButton.tsx} +8 -3
- package/src/SendBox/SuggestedAction.js +1 -15
- package/src/SendBox/{SuggestedActions.js → SuggestedActions.tsx} +42 -21
- package/src/SendBox/{TextBox.js → TextBox.tsx} +21 -7
- package/src/SendBox/{UploadButton.js → UploadButton.tsx} +7 -3
- package/src/Styles/StyleSet/CarouselFilmStrip.ts +0 -20
- package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +56 -0
- package/src/Styles/StyleSet/ScrollToEndButton.ts +33 -31
- package/src/Styles/StyleSet/SuggestedAction.ts +1 -1
- package/src/Styles/createStyleSet.ts +41 -39
- package/src/Toast/CollapseIcon.js +9 -1
- package/src/Toast/DismissIcon.js +9 -1
- package/src/Toast/ExpandIcon.js +9 -1
- package/src/Toast/{createToastMiddleware.js → createToastMiddleware.tsx} +3 -2
- package/src/Utils/{AccessibleInputText.js → AccessibleInputText.tsx} +48 -5
- package/src/Utils/{AccessibleTextArea.js → AccessibleTextArea.tsx} +67 -6
- package/src/Utils/TypeFocusSink/FocusBox.js +4 -4
- package/src/Utils/TypeFocusSink/getTabIndex.ts +1 -1
- package/src/Utils/activityAltText.ts +135 -0
- package/src/Utils/findLastIndex.spec.js +2 -0
- package/src/Utils/intersectionOf.spec.js +2 -0
- package/src/Utils/mapMap.spec.js +2 -0
- package/src/Utils/removeInline.spec.js +2 -0
- package/src/Utils/{singleToArray.js → singleToArray.ts} +1 -1
- package/src/Utils/walkMarkdownTokens.spec.js +3 -3
- package/src/hooks/{index.js → index.ts} +1 -0
- package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +68 -17
- package/src/hooks/internal/useMemoize.spec.js +2 -0
- package/src/hooks/internal/useResumeAudioContext.ts +7 -0
- package/src/hooks/internal/useScrollRelative.js +4 -3
- package/src/hooks/internal/{useUniqueId.js → useUniqueId.ts} +1 -1
- package/src/hooks/{useDictateAbortable.js → useDictateAbortable.ts} +1 -1
- package/src/hooks/{useFocus.js → useFocus.ts} +1 -1
- package/src/hooks/{useFocusSendBox.js → useFocusSendBox.ts} +2 -1
- package/src/hooks/{useObserveScrollPosition.js → useObserveScrollPosition.ts} +6 -1
- package/src/hooks/{useObserveTranscriptFocus.js → useObserveTranscriptFocus.ts} +6 -1
- package/src/hooks/{useRenderMarkdownAsHTML.js → useRenderMarkdownAsHTML.ts} +6 -2
- package/src/hooks/{useScrollDown.js → useScrollDown.ts} +1 -1
- package/src/hooks/{useScrollTo.js → useScrollTo.ts} +5 -1
- package/src/hooks/{useScrollToEnd.js → useScrollToEnd.ts} +1 -1
- package/src/hooks/{useScrollUp.js → useScrollUp.ts} +1 -1
- package/src/hooks/{useSendFiles.js → useSendFiles.ts} +3 -2
- package/src/hooks/{useStyleSet.js → useStyleSet.ts} +1 -1
- package/src/hooks/useWebSpeechPonyfill.ts +7 -0
- package/src/index.ts +7 -11
- package/src/tsconfig.json +1 -1
- package/src/types/ScrollPosition.ts +6 -0
- package/lib/Activity/ScrollToEndButton.js +0 -81
- package/lib/Attachment/Assets/ErrorIcon.js +0 -22
- package/lib/Utils/remarkStripMarkdown.js +0 -26
- package/lib/hooks/internal/useStripMarkdown.js +0 -19
- package/src/Activity/ScrollToEndButton.js +0 -58
- package/src/Attachment/Assets/ErrorIcon.js +0 -9
- package/src/Utils/remarkStripMarkdown.js +0 -13
- package/src/hooks/internal/useStripMarkdown.js +0 -7
- package/src/hooks/useWebSpeechPonyfill.js +0 -5
- package/src/index.tsx +0 -35
package/lib/BasicToaster.js
CHANGED
|
@@ -25,9 +25,9 @@ var _useStyleSet3 = _interopRequireDefault(require("./hooks/useStyleSet"));
|
|
|
25
25
|
|
|
26
26
|
var _useStyleToEmotionObject = _interopRequireDefault(require("./hooks/internal/useStyleToEmotionObject"));
|
|
27
27
|
|
|
28
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var
|
|
28
|
+
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); }
|
|
29
29
|
|
|
30
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
|
|
30
|
+
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; }
|
|
31
31
|
|
|
32
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
33
|
|
|
@@ -39,7 +39,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
39
39
|
|
|
40
40
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
41
41
|
|
|
42
|
-
function _iterableToArrayLimit(arr, i) {
|
|
42
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
43
43
|
|
|
44
44
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
45
45
|
|
|
@@ -204,4 +204,4 @@ var BasicToaster = function BasicToaster() {
|
|
|
204
204
|
|
|
205
205
|
var _default = BasicToaster;
|
|
206
206
|
exports.default = _default;
|
|
207
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNpY1RvYXN0ZXIuanMiXSwibmFtZXMiOlsidXNlRGVib3VuY2VkTm90aWZpY2F0aW9ucyIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwidXNlUmVuZGVyVG9hc3QiLCJST09UX1NUWUxFIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJmbGV4U2hyaW5rIiwiZmxleCIsImxpc3RTdHlsZVR5cGUiLCJMRVZFTF9BU19OVU1CRVIiLCJlcnJvciIsIndhcm4iLCJpbmZvIiwic3VjY2VzcyIsImdldExldmVsQXNOdW1iZXIiLCJsZXZlbCIsImNvbXBhcmVMZXZlbCIsIngiLCJ5Iiwic29ydE5vdGlmaWNhdGlvbnMiLCJtYXAiLCJPYmplY3QiLCJ2YWx1ZXMiLCJzb3J0IiwidGltZXN0YW1wIiwiUEFTU1RIUlVfRk4iLCJ2YWx1ZSIsIlRPQVNUX0FDQ09SRElPTl9JRFMiLCJ0d28iLCJmZXciLCJtYW55Iiwib3RoZXIiLCJCYXNpY1RvYXN0ZXIiLCJpbnN0YW5jZUlkIiwicmFuZG9tSWQiLCJ0b2FzdGVyU3R5bGVTZXQiLCJ0b2FzdGVyIiwiZGVib3VuY2VkTm90aWZpY2F0aW9ucyIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJsb2NhbGl6ZVdpdGhQbHVyYWwiLCJwbHVyYWwiLCJyZW5kZXJUb2FzdCIsInJvb3RDbGFzc05hbWUiLCJoYW5kbGVUb2dnbGVFeHBhbmQiLCJzb3J0ZWROb3RpZmljYXRpb25zIiwic29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbiIsIm5vdGlmaWNhdGlvbiIsImNoaWxkcmVuIiwiZmlsdGVyIiwiZXhwYW5kYWJsZSIsImxlbmd0aCIsImhpZ2hlc3RMZXZlbCIsImV4cGFuZGFibGVFbGVtZW50SWQiLCJ1bmRlZmluZWQiLCJoZWFkZXJFbGVtZW50SWQiLCJpZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRVFBLHlCLEdBQTREQyw2QixDQUE1REQseUI7SUFBMkJFLFksR0FBaUNELDZCLENBQWpDQyxZO0lBQWNDLGMsR0FBbUJGLDZCLENBQW5CRSxjO0FBRWpELElBQU1DLFVBQVUsR0FBRztBQUNqQkMsRUFBQUEsT0FBTyxFQUFFLE1BRFE7QUFFakJDLEVBQUFBLGFBQWEsRUFBRSxRQUZFO0FBSWpCLGlDQUErQjtBQUM3QkQsSUFBQUEsT0FBTyxFQUFFLE1BRG9CO0FBRTdCRSxJQUFBQSxVQUFVLEVBQUU7QUFGaUIsR0FKZDtBQVNqQixxQ0FBbUM7QUFDakNDLElBQUFBLElBQUksRUFBRTtBQUQyQixHQVRsQjtBQWFqQiwrQkFBNkI7QUFDM0JILElBQUFBLE9BQU8sRUFBRSxPQURrQjtBQUUzQkksSUFBQUEsYUFBYSxFQUFFO0FBRlk7QUFiWixDQUFuQjtBQW1CQSxJQUFNQyxlQUFlLEdBQUc7QUFDdEJDLEVBQUFBLEtBQUssRUFBRSxDQURlO0FBRXRCQyxFQUFBQSxJQUFJLEVBQUUsQ0FGZ0I7QUFHdEJDLEVBQUFBLElBQUksRUFBRSxDQUhnQjtBQUl0QkMsRUFBQUEsT0FBTyxFQUFFO0FBSmEsQ0FBeEI7O0FBT0EsU0FBU0MsZ0JBQVQsQ0FBMEJDLEtBQTFCLEVBQWlDO0FBQy9CLFNBQU9OLGVBQWUsQ0FBQ00sS0FBRCxDQUFmLElBQTBCLENBQWpDO0FBQ0Q7O0FBRUQsU0FBU0MsWUFBVCxDQUFzQkMsQ0FBdEIsRUFBeUJDLENBQXpCLEVBQTRCO0FBQzFCLFNBQU9KLGdCQUFnQixDQUFDRyxDQUFELENBQWhCLEdBQXNCSCxnQkFBZ0IsQ0FBQ0ksQ0FBRCxDQUE3QztBQUNEOztBQUVELFNBQVNDLGlCQUFULENBQTJCQyxHQUEzQixFQUFnQztBQUM5QixTQUNFQyxNQUFNLENBQUNDLE1BQVAsQ0FBY0YsR0FBZCxFQUNFO0FBREYsR0FFR0csSUFGSCxDQUVRO0FBQUEsUUFBY04sQ0FBZCxRQUFHTyxTQUFIO0FBQUEsUUFBZ0NOLENBQWhDLFNBQXFCTSxTQUFyQjtBQUFBLFdBQXdDTixDQUFDLEdBQUdELENBQTVDO0FBQUEsR0FGUixDQURGO0FBS0Q7O0FBRUQsSUFBTVEsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUo7QUFBQSxDQUF6Qjs7QUFDQSxJQUFNQyxtQkFBbUIsR0FBRztBQUMxQkMsRUFBQUEsR0FBRyxFQUFFLHFCQURxQjtBQUUxQkMsRUFBQUEsR0FBRyxFQUFFLHFCQUZxQjtBQUcxQkMsRUFBQUEsSUFBSSxFQUFFLHNCQUhvQjtBQUkxQkMsRUFBQUEsS0FBSyxFQUFFO0FBSm1CLENBQTVCOztBQU9BLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlLEdBQU07QUFDekIsTUFBTUMsVUFBVSxHQUFHLG9CQUFRQyxpQkFBUixFQUFrQixFQUFsQixDQUFuQjs7QUFEeUIscUJBRWMsNEJBRmQ7QUFBQTtBQUFBLE1BRVBDLGVBRk8sb0JBRWhCQyxPQUZnQjs7QUFBQSw4QkFHUXJDLHlCQUF5QixFQUhqQztBQUFBO0FBQUEsTUFHbEJzQyxzQkFIa0I7O0FBQUEsa0JBSU8scUJBQVMsS0FBVCxDQUpQO0FBQUE7QUFBQSxNQUlsQkMsUUFKa0I7QUFBQSxNQUlSQyxXQUpROztBQUt6QixNQUFNQyxrQkFBa0IsR0FBR3ZDLFlBQVksQ0FBQztBQUFFd0MsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FBRCxDQUF2QztBQUNBLE1BQU1DLFdBQVcsR0FBR3hDLGNBQWMsRUFBbEM7QUFDQSxNQUFNeUMsYUFBYSxHQUFHLHdDQUEwQnhDLFVBQTFCLElBQXdDLEVBQTlEO0FBRUEsTUFBTXlDLGtCQUFrQixHQUFHLHdCQUFZO0FBQUEsV0FBTUwsV0FBVyxDQUFDLENBQUNELFFBQUYsQ0FBakI7QUFBQSxHQUFaLEVBQTBDLENBQUNBLFFBQUQsRUFBV0MsV0FBWCxDQUExQyxDQUEzQjtBQUNBLE1BQU1NLG1CQUFtQixHQUFHLG9CQUFRO0FBQUEsV0FBTTFCLGlCQUFpQixDQUFDa0Isc0JBQUQsQ0FBdkI7QUFBQSxHQUFSLEVBQXlELENBQUNBLHNCQUFELENBQXpELENBQTVCO0FBQ0EsTUFBTVMsK0JBQStCLEdBQUcsb0JBQ3RDO0FBQUEsV0FDRUQsbUJBQW1CLENBQ2hCekIsR0FESCxDQUNPLFVBQUEyQixZQUFZLEVBQUk7QUFDbkIsVUFBTUMsUUFBUSxHQUFHTixXQUFXLENBQUM7QUFBRUssUUFBQUEsWUFBWSxFQUFaQTtBQUFGLE9BQUQsQ0FBNUI7QUFFQSxhQUFPQyxRQUFRLElBQUk7QUFBRUEsUUFBQUEsUUFBUSxFQUFSQSxRQUFGO0FBQVlELFFBQUFBLFlBQVksRUFBWkE7QUFBWixPQUFuQjtBQUNELEtBTEgsRUFNR0UsTUFOSCxDQU1VeEIsV0FOVixDQURGO0FBQUEsR0FEc0MsRUFTdEMsQ0FBQ2lCLFdBQUQsRUFBY0csbUJBQWQsQ0FUc0MsQ0FBeEM7QUFZQSxNQUFNSyxVQUFVLEdBQUdKLCtCQUErQixDQUFDSyxNQUFoQyxHQUF5QyxDQUE1RDs7QUF2QnlCLDhCQXdCRkwsK0JBQStCLENBQUMxQixHQUFoQyxDQUFvQztBQUFBLFFBQW1CTCxLQUFuQixTQUFHZ0MsWUFBSCxDQUFtQmhDLEtBQW5CO0FBQUEsV0FBaUNBLEtBQWpDO0FBQUEsR0FBcEMsRUFBNEVRLElBQTVFLENBQWlGUCxZQUFqRixDQXhCRTtBQUFBO0FBQUEsTUF3QmxCb0MsWUF4QmtCOztBQTBCekIsTUFBTUMsbUJBQW1CLEdBQUcsb0JBQzFCO0FBQUEsV0FBTyxDQUFDSCxVQUFELElBQWVaLFFBQWYscUNBQXFETCxVQUFyRCxJQUFvRXFCLFNBQTNFO0FBQUEsR0FEMEIsRUFFMUIsQ0FBQ0osVUFBRCxFQUFhWixRQUFiLEVBQXVCTCxVQUF2QixDQUYwQixDQUE1QjtBQUlBLE1BQU1zQixlQUFlLEdBQUcsb0JBQVE7QUFBQSxXQUFPTCxVQUFVLHVDQUFnQ2pCLFVBQWhDLElBQStDcUIsU0FBaEU7QUFBQSxHQUFSLEVBQW9GLENBQzFHSixVQUQwRyxFQUUxR2pCLFVBRjBHLENBQXBGLENBQXhCO0FBS0Esd0JBQVUsWUFBTTtBQUNkLEtBQUNpQixVQUFELElBQWVYLFdBQVcsQ0FBQyxLQUFELENBQTFCO0FBQ0QsR0FGRCxFQUVHLENBQUNXLFVBQUQsQ0FGSDtBQUlBLHNCQUNFO0FBQ0UsdUJBQWlCSyxlQURuQjtBQUVFLGlCQUFVLFFBRlo7QUFHRSxxQkFBYyxLQUhoQjtBQUlFLElBQUEsU0FBUyxFQUFFLHlCQUNULGtCQURTLEVBRVQ7QUFDRSxzQ0FBZ0NMLFVBRGxDO0FBRUUsb0NBQThCWixRQUZoQztBQUdFLGlDQUEyQmMsWUFBWSxLQUFLLE9BSDlDO0FBSUUsZ0NBQTBCQSxZQUFZLEtBQUssTUFKN0M7QUFLRSxtQ0FBNkJBLFlBQVksS0FBSyxTQUxoRDtBQU1FLGdDQUEwQkEsWUFBWSxLQUFLO0FBTjdDLEtBRlMsRUFVVFQsYUFWUyxFQVdUUixlQUFlLEdBQUcsRUFYVCxDQUpiO0FBaUJFLElBQUEsSUFBSSxFQUFDO0FBakJQLEtBbUJHZSxVQUFVLGlCQUNUO0FBQ0UscUJBQWVHLG1CQURqQjtBQUVFLHFCQUFlZixRQUZqQjtBQUdFLElBQUEsU0FBUyxFQUFDLDBCQUhaO0FBSUUsSUFBQSxFQUFFLEVBQUVpQixlQUpOO0FBS0UsSUFBQSxPQUFPLEVBQUVYLGtCQUxYO0FBTUUsSUFBQSxJQUFJLEVBQUM7QUFOUCxrQkFRRTtBQUFLLG1CQUFhLElBQWxCO0FBQXdCLElBQUEsU0FBUyxFQUFDO0FBQWxDLGtCQUNFLDZCQUFDLHlCQUFEO0FBQWtCLElBQUEsU0FBUyxFQUFDLG1DQUE1QjtBQUFnRSxJQUFBLEtBQUssRUFBRVE7QUFBdkUsSUFERixDQVJGLGVBV0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0daLGtCQUFrQixDQUFDYixtQkFBRCxFQUFzQm1CLCtCQUErQixDQUFDSyxNQUF0RCxDQURyQixDQVhGLGVBY0U7QUFBSyxtQkFBYSxJQUFsQjtBQUF3QixJQUFBLFNBQVMsRUFBQztBQUFsQyxrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FBb0RiLFFBQVEsZ0JBQUcsNkJBQUMscUJBQUQsT0FBSCxnQkFBc0IsNkJBQUMsbUJBQUQsT0FBbEYsQ0FERixDQWRGLENBcEJKLEVBdUNHLENBQUMsQ0FBQ1ksVUFBRCxJQUFlWixRQUFoQixrQkFDQztBQUFJLHVCQUFpQmlCLGVBQXJCO0FBQXNDLElBQUEsU0FBUyxFQUFDLHdCQUFoRDtBQUF5RSxJQUFBLEVBQUUsRUFBRUYsbUJBQTdFO0FBQWtHLElBQUEsSUFBSSxFQUFDO0FBQXZHLEtBQ0dQLCtCQUErQixDQUFDMUIsR0FBaEMsQ0FBb0M7QUFBQSxRQUFHNEIsUUFBSCxTQUFHQSxRQUFIO0FBQUEsUUFBNkJRLEVBQTdCLFNBQWFULFlBQWIsQ0FBNkJTLEVBQTdCO0FBQUEsd0JBQ25DO0FBQUkscUJBQWEsSUFBakI7QUFBdUIsTUFBQSxTQUFTLEVBQUMsNEJBQWpDO0FBQThELE1BQUEsR0FBRyxFQUFFQSxFQUFuRTtBQUF1RSxNQUFBLElBQUksRUFBQztBQUE1RSxPQUNHUixRQURILENBRG1DO0FBQUEsR0FBcEMsQ0FESCxDQXhDSixDQURGO0FBbURELENBMUZEOztlQTRGZWhCLFkiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFswLCAxLCAyLCAzLCA0LCA1XSB9XSAqL1xuLyogZXNsaW50IHJlYWN0L2ZvcmJpZC1kb20tcHJvcHM6IFwib2ZmXCIgKi9cblxuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBDb2xsYXBzZUljb24gZnJvbSAnLi9Ub2FzdC9Db2xsYXBzZUljb24nO1xuaW1wb3J0IEV4cGFuZEljb24gZnJvbSAnLi9Ub2FzdC9FeHBhbmRJY29uJztcbmltcG9ydCBOb3RpZmljYXRpb25JY29uIGZyb20gJy4vVG9hc3QvTm90aWZpY2F0aW9uSWNvbic7XG5pbXBvcnQgcmFuZG9tSWQgZnJvbSAnLi9VdGlscy9yYW5kb21JZCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi9ob29rcy91c2VTdHlsZVNldCc7XG5pbXBvcnQgdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QgZnJvbSAnLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmNvbnN0IHsgdXNlRGVib3VuY2VkTm90aWZpY2F0aW9ucywgdXNlTG9jYWxpemVyLCB1c2VSZW5kZXJUb2FzdCB9ID0gaG9va3M7XG5cbmNvbnN0IFJPT1RfU1RZTEUgPSB7XG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG5cbiAgJyYgLndlYmNoYXRfX3RvYXN0ZXJfX2hlYWRlcic6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleFNocmluazogMFxuICB9LFxuXG4gICcmIC53ZWJjaGF0X190b2FzdGVyX19leHBhbmRUZXh0Jzoge1xuICAgIGZsZXg6IDFcbiAgfSxcblxuICAnJiAud2ViY2hhdF9fdG9hc3Rlcl9fbGlzdCc6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIGxpc3RTdHlsZVR5cGU6ICdub25lJ1xuICB9XG59O1xuXG5jb25zdCBMRVZFTF9BU19OVU1CRVIgPSB7XG4gIGVycm9yOiAxLFxuICB3YXJuOiAyLFxuICBpbmZvOiAzLFxuICBzdWNjZXNzOiA0XG59O1xuXG5mdW5jdGlvbiBnZXRMZXZlbEFzTnVtYmVyKGxldmVsKSB7XG4gIHJldHVybiBMRVZFTF9BU19OVU1CRVJbbGV2ZWxdIHx8IDU7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVMZXZlbCh4LCB5KSB7XG4gIHJldHVybiBnZXRMZXZlbEFzTnVtYmVyKHgpIC0gZ2V0TGV2ZWxBc051bWJlcih5KTtcbn1cblxuZnVuY3Rpb24gc29ydE5vdGlmaWNhdGlvbnMobWFwKSB7XG4gIHJldHVybiAoXG4gICAgT2JqZWN0LnZhbHVlcyhtYXApXG4gICAgICAvLyBXZSB3YW50IHRoZSBvcmRlciByZXZlcnNlZCwgbW9zdCByZWNlbnQgb24gdG9wLlxuICAgICAgLnNvcnQoKHsgdGltZXN0YW1wOiB4IH0sIHsgdGltZXN0YW1wOiB5IH0pID0+IHkgLSB4KVxuICApO1xufVxuXG5jb25zdCBQQVNTVEhSVV9GTiA9IHZhbHVlID0+IHZhbHVlO1xuY29uc3QgVE9BU1RfQUNDT1JESU9OX0lEUyA9IHtcbiAgdHdvOiAnVE9BU1RfQUNDT1JESU9OX1RXTycsXG4gIGZldzogJ1RPQVNUX0FDQ09SRElPTl9GRVcnLFxuICBtYW55OiAnVE9BU1RfQUNDT1JESU9OX01BTlknLFxuICBvdGhlcjogJ1RPQVNUX0FDQ09SRElPTl9PVEhFUidcbn07XG5cbmNvbnN0IEJhc2ljVG9hc3RlciA9ICgpID0+IHtcbiAgY29uc3QgaW5zdGFuY2VJZCA9IHVzZU1lbW8ocmFuZG9tSWQsIFtdKTtcbiAgY29uc3QgW3sgdG9hc3RlcjogdG9hc3RlclN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgW2RlYm91bmNlZE5vdGlmaWNhdGlvbnNdID0gdXNlRGVib3VuY2VkTm90aWZpY2F0aW9ucygpO1xuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgbG9jYWxpemVXaXRoUGx1cmFsID0gdXNlTG9jYWxpemVyKHsgcGx1cmFsOiB0cnVlIH0pO1xuICBjb25zdCByZW5kZXJUb2FzdCA9IHVzZVJlbmRlclRvYXN0KCk7XG4gIGNvbnN0IHJvb3RDbGFzc05hbWUgPSB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCgpKFJPT1RfU1RZTEUpICsgJyc7XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRXhwYW5kID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0RXhwYW5kZWQoIWV4cGFuZGVkKSwgW2V4cGFuZGVkLCBzZXRFeHBhbmRlZF0pO1xuICBjb25zdCBzb3J0ZWROb3RpZmljYXRpb25zID0gdXNlTWVtbygoKSA9PiBzb3J0Tm90aWZpY2F0aW9ucyhkZWJvdW5jZWROb3RpZmljYXRpb25zKSwgW2RlYm91bmNlZE5vdGlmaWNhdGlvbnNdKTtcbiAgY29uc3Qgc29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbiA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIHNvcnRlZE5vdGlmaWNhdGlvbnNcbiAgICAgICAgLm1hcChub3RpZmljYXRpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcmVuZGVyVG9hc3QoeyBub3RpZmljYXRpb24gfSk7XG5cbiAgICAgICAgICByZXR1cm4gY2hpbGRyZW4gJiYgeyBjaGlsZHJlbiwgbm90aWZpY2F0aW9uIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoUEFTU1RIUlVfRk4pLFxuICAgIFtyZW5kZXJUb2FzdCwgc29ydGVkTm90aWZpY2F0aW9uc11cbiAgKTtcblxuICBjb25zdCBleHBhbmRhYmxlID0gc29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbi5sZW5ndGggPiAxO1xuICBjb25zdCBbaGlnaGVzdExldmVsXSA9IHNvcnRlZE5vdGlmaWNhdGlvbnNXaXRoQ2hpbGRyZW4ubWFwKCh7IG5vdGlmaWNhdGlvbjogeyBsZXZlbCB9IH0pID0+IGxldmVsKS5zb3J0KGNvbXBhcmVMZXZlbCk7XG5cbiAgY29uc3QgZXhwYW5kYWJsZUVsZW1lbnRJZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKCFleHBhbmRhYmxlIHx8IGV4cGFuZGVkID8gYHdlYmNoYXRfX3RvYXN0ZXJfX2xpc3RfXyR7aW5zdGFuY2VJZH1gIDogdW5kZWZpbmVkKSxcbiAgICBbZXhwYW5kYWJsZSwgZXhwYW5kZWQsIGluc3RhbmNlSWRdXG4gICk7XG4gIGNvbnN0IGhlYWRlckVsZW1lbnRJZCA9IHVzZU1lbW8oKCkgPT4gKGV4cGFuZGFibGUgPyBgd2ViY2hhdF9fdG9hc3Rlcl9faGVhZGVyX18ke2luc3RhbmNlSWR9YCA6IHVuZGVmaW5lZCksIFtcbiAgICBleHBhbmRhYmxlLFxuICAgIGluc3RhbmNlSWRcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAhZXhwYW5kYWJsZSAmJiBzZXRFeHBhbmRlZChmYWxzZSk7XG4gIH0sIFtleHBhbmRhYmxlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2hlYWRlckVsZW1lbnRJZH1cbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICBhcmlhLXJlbGV2YW50PVwiYWxsXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgJ3dlYmNoYXRfX3RvYXN0ZXInLFxuICAgICAgICB7XG4gICAgICAgICAgJ3dlYmNoYXRfX3RvYXN0ZXItLWV4cGFuZGFibGUnOiBleHBhbmRhYmxlLFxuICAgICAgICAgICd3ZWJjaGF0X190b2FzdGVyLS1leHBhbmRlZCc6IGV4cGFuZGVkLFxuICAgICAgICAgICd3ZWJjaGF0X190b2FzdGVyLS1lcnJvcic6IGhpZ2hlc3RMZXZlbCA9PT0gJ2Vycm9yJyxcbiAgICAgICAgICAnd2ViY2hhdF9fdG9hc3Rlci0taW5mbyc6IGhpZ2hlc3RMZXZlbCA9PT0gJ2luZm8nLFxuICAgICAgICAgICd3ZWJjaGF0X190b2FzdGVyLS1zdWNjZXNzJzogaGlnaGVzdExldmVsID09PSAnc3VjY2VzcycsXG4gICAgICAgICAgJ3dlYmNoYXRfX3RvYXN0ZXItLXdhcm4nOiBoaWdoZXN0TGV2ZWwgPT09ICd3YXJuJ1xuICAgICAgICB9LFxuICAgICAgICByb290Q2xhc3NOYW1lLFxuICAgICAgICB0b2FzdGVyU3R5bGVTZXQgKyAnJ1xuICAgICAgKX1cbiAgICAgIHJvbGU9XCJsb2dcIlxuICAgID5cbiAgICAgIHtleHBhbmRhYmxlICYmIChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtY29udHJvbHM9e2V4cGFuZGFibGVFbGVtZW50SWR9XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9faGVhZGVyXCJcbiAgICAgICAgICBpZD17aGVhZGVyRWxlbWVudElkfVxuICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUV4cGFuZH1cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgYXJpYS1oaWRkZW49e3RydWV9IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2V4cGFuZExldmVsSWNvbkJveFwiPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbkljb24gY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9fZXhwYW5kTGV2ZWxJY29uXCIgbGV2ZWw9e2hpZ2hlc3RMZXZlbH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2V4cGFuZFRleHRcIj5cbiAgICAgICAgICAgIHtsb2NhbGl6ZVdpdGhQbHVyYWwoVE9BU1RfQUNDT1JESU9OX0lEUywgc29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbi5sZW5ndGgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgYXJpYS1oaWRkZW49e3RydWV9IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2V4cGFuZEljb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9fZXhwYW5kSWNvbkZvY3VzXCI+e2V4cGFuZGVkID8gPENvbGxhcHNlSWNvbiAvPiA6IDxFeHBhbmRJY29uIC8+fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICl9XG4gICAgICB7KCFleHBhbmRhYmxlIHx8IGV4cGFuZGVkKSAmJiAoXG4gICAgICAgIDx1bCBhcmlhLWxhYmVsbGVkYnk9e2hlYWRlckVsZW1lbnRJZH0gY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9fbGlzdFwiIGlkPXtleHBhbmRhYmxlRWxlbWVudElkfSByb2xlPVwicmVnaW9uXCI+XG4gICAgICAgICAge3NvcnRlZE5vdGlmaWNhdGlvbnNXaXRoQ2hpbGRyZW4ubWFwKCh7IGNoaWxkcmVuLCBub3RpZmljYXRpb246IHsgaWQgfSB9KSA9PiAoXG4gICAgICAgICAgICA8bGkgYXJpYS1hdG9taWM9e3RydWV9IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2xpc3RJdGVtXCIga2V5PXtpZH0gcm9sZT1cIm5vbmVcIj5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC91bD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYXNpY1RvYXN0ZXI7XG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNpY1RvYXN0ZXIuanMiXSwibmFtZXMiOlsidXNlRGVib3VuY2VkTm90aWZpY2F0aW9ucyIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwidXNlUmVuZGVyVG9hc3QiLCJST09UX1NUWUxFIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJmbGV4U2hyaW5rIiwiZmxleCIsImxpc3RTdHlsZVR5cGUiLCJMRVZFTF9BU19OVU1CRVIiLCJlcnJvciIsIndhcm4iLCJpbmZvIiwic3VjY2VzcyIsImdldExldmVsQXNOdW1iZXIiLCJsZXZlbCIsImNvbXBhcmVMZXZlbCIsIngiLCJ5Iiwic29ydE5vdGlmaWNhdGlvbnMiLCJtYXAiLCJPYmplY3QiLCJ2YWx1ZXMiLCJzb3J0IiwidGltZXN0YW1wIiwiUEFTU1RIUlVfRk4iLCJ2YWx1ZSIsIlRPQVNUX0FDQ09SRElPTl9JRFMiLCJ0d28iLCJmZXciLCJtYW55Iiwib3RoZXIiLCJCYXNpY1RvYXN0ZXIiLCJpbnN0YW5jZUlkIiwicmFuZG9tSWQiLCJ0b2FzdGVyU3R5bGVTZXQiLCJ0b2FzdGVyIiwiZGVib3VuY2VkTm90aWZpY2F0aW9ucyIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJsb2NhbGl6ZVdpdGhQbHVyYWwiLCJwbHVyYWwiLCJyZW5kZXJUb2FzdCIsInJvb3RDbGFzc05hbWUiLCJoYW5kbGVUb2dnbGVFeHBhbmQiLCJzb3J0ZWROb3RpZmljYXRpb25zIiwic29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbiIsIm5vdGlmaWNhdGlvbiIsImNoaWxkcmVuIiwiZmlsdGVyIiwiZXhwYW5kYWJsZSIsImxlbmd0aCIsImhpZ2hlc3RMZXZlbCIsImV4cGFuZGFibGVFbGVtZW50SWQiLCJ1bmRlZmluZWQiLCJoZWFkZXJFbGVtZW50SWQiLCJpZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7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SCxnQkFBc0IsNkJBQUMsbUJBQUQsT0FBbEYsQ0FERixDQWRGLENBcEJKLEVBdUNHLENBQUMsQ0FBQ1ksVUFBRCxJQUFlWixRQUFoQixrQkFDQztBQUFJLHVCQUFpQmlCLGVBQXJCO0FBQXNDLElBQUEsU0FBUyxFQUFDLHdCQUFoRDtBQUF5RSxJQUFBLEVBQUUsRUFBRUYsbUJBQTdFO0FBQWtHLElBQUEsSUFBSSxFQUFDO0FBQXZHLEtBQ0dQLCtCQUErQixDQUFDMUIsR0FBaEMsQ0FBb0M7QUFBQSxRQUFHNEIsUUFBSCxTQUFHQSxRQUFIO0FBQUEsUUFBNkJRLEVBQTdCLFNBQWFULFlBQWIsQ0FBNkJTLEVBQTdCO0FBQUEsd0JBQ25DO0FBQUkscUJBQWEsSUFBakI7QUFBdUIsTUFBQSxTQUFTLEVBQUMsNEJBQWpDO0FBQThELE1BQUEsR0FBRyxFQUFFQSxFQUFuRTtBQUF1RSxNQUFBLElBQUksRUFBQztBQUE1RSxPQUNHUixRQURILENBRG1DO0FBQUEsR0FBcEMsQ0FESCxDQXhDSixDQURGO0FBbURELENBMUZEOztlQTRGZWhCLFkiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFswLCAxLCAyLCAzLCA0LCA1XSB9XSAqL1xuLyogZXNsaW50IHJlYWN0L2ZvcmJpZC1kb20tcHJvcHM6IFwib2ZmXCIgKi9cblxuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBDb2xsYXBzZUljb24gZnJvbSAnLi9Ub2FzdC9Db2xsYXBzZUljb24nO1xuaW1wb3J0IEV4cGFuZEljb24gZnJvbSAnLi9Ub2FzdC9FeHBhbmRJY29uJztcbmltcG9ydCBOb3RpZmljYXRpb25JY29uIGZyb20gJy4vVG9hc3QvTm90aWZpY2F0aW9uSWNvbic7XG5pbXBvcnQgcmFuZG9tSWQgZnJvbSAnLi9VdGlscy9yYW5kb21JZCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi9ob29rcy91c2VTdHlsZVNldCc7XG5pbXBvcnQgdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QgZnJvbSAnLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmNvbnN0IHsgdXNlRGVib3VuY2VkTm90aWZpY2F0aW9ucywgdXNlTG9jYWxpemVyLCB1c2VSZW5kZXJUb2FzdCB9ID0gaG9va3M7XG5cbmNvbnN0IFJPT1RfU1RZTEUgPSB7XG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG5cbiAgJyYgLndlYmNoYXRfX3RvYXN0ZXJfX2hlYWRlcic6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleFNocmluazogMFxuICB9LFxuXG4gICcmIC53ZWJjaGF0X190b2FzdGVyX19leHBhbmRUZXh0Jzoge1xuICAgIGZsZXg6IDFcbiAgfSxcblxuICAnJiAud2ViY2hhdF9fdG9hc3Rlcl9fbGlzdCc6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIGxpc3RTdHlsZVR5cGU6ICdub25lJ1xuICB9XG59O1xuXG5jb25zdCBMRVZFTF9BU19OVU1CRVIgPSB7XG4gIGVycm9yOiAxLFxuICB3YXJuOiAyLFxuICBpbmZvOiAzLFxuICBzdWNjZXNzOiA0XG59O1xuXG5mdW5jdGlvbiBnZXRMZXZlbEFzTnVtYmVyKGxldmVsKSB7XG4gIHJldHVybiBMRVZFTF9BU19OVU1CRVJbbGV2ZWxdIHx8IDU7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVMZXZlbCh4LCB5KSB7XG4gIHJldHVybiBnZXRMZXZlbEFzTnVtYmVyKHgpIC0gZ2V0TGV2ZWxBc051bWJlcih5KTtcbn1cblxuZnVuY3Rpb24gc29ydE5vdGlmaWNhdGlvbnMobWFwKSB7XG4gIHJldHVybiAoXG4gICAgT2JqZWN0LnZhbHVlcyhtYXApXG4gICAgICAvLyBXZSB3YW50IHRoZSBvcmRlciByZXZlcnNlZCwgbW9zdCByZWNlbnQgb24gdG9wLlxuICAgICAgLnNvcnQoKHsgdGltZXN0YW1wOiB4IH0sIHsgdGltZXN0YW1wOiB5IH0pID0+IHkgLSB4KVxuICApO1xufVxuXG5jb25zdCBQQVNTVEhSVV9GTiA9IHZhbHVlID0+IHZhbHVlO1xuY29uc3QgVE9BU1RfQUNDT1JESU9OX0lEUyA9IHtcbiAgdHdvOiAnVE9BU1RfQUNDT1JESU9OX1RXTycsXG4gIGZldzogJ1RPQVNUX0FDQ09SRElPTl9GRVcnLFxuICBtYW55OiAnVE9BU1RfQUNDT1JESU9OX01BTlknLFxuICBvdGhlcjogJ1RPQVNUX0FDQ09SRElPTl9PVEhFUidcbn07XG5cbmNvbnN0IEJhc2ljVG9hc3RlciA9ICgpID0+IHtcbiAgY29uc3QgaW5zdGFuY2VJZCA9IHVzZU1lbW8ocmFuZG9tSWQsIFtdKTtcbiAgY29uc3QgW3sgdG9hc3RlcjogdG9hc3RlclN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgW2RlYm91bmNlZE5vdGlmaWNhdGlvbnNdID0gdXNlRGVib3VuY2VkTm90aWZpY2F0aW9ucygpO1xuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgbG9jYWxpemVXaXRoUGx1cmFsID0gdXNlTG9jYWxpemVyKHsgcGx1cmFsOiB0cnVlIH0pO1xuICBjb25zdCByZW5kZXJUb2FzdCA9IHVzZVJlbmRlclRvYXN0KCk7XG4gIGNvbnN0IHJvb3RDbGFzc05hbWUgPSB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCgpKFJPT1RfU1RZTEUpICsgJyc7XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRXhwYW5kID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0RXhwYW5kZWQoIWV4cGFuZGVkKSwgW2V4cGFuZGVkLCBzZXRFeHBhbmRlZF0pO1xuICBjb25zdCBzb3J0ZWROb3RpZmljYXRpb25zID0gdXNlTWVtbygoKSA9PiBzb3J0Tm90aWZpY2F0aW9ucyhkZWJvdW5jZWROb3RpZmljYXRpb25zKSwgW2RlYm91bmNlZE5vdGlmaWNhdGlvbnNdKTtcbiAgY29uc3Qgc29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbiA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIHNvcnRlZE5vdGlmaWNhdGlvbnNcbiAgICAgICAgLm1hcChub3RpZmljYXRpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcmVuZGVyVG9hc3QoeyBub3RpZmljYXRpb24gfSk7XG5cbiAgICAgICAgICByZXR1cm4gY2hpbGRyZW4gJiYgeyBjaGlsZHJlbiwgbm90aWZpY2F0aW9uIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoUEFTU1RIUlVfRk4pLFxuICAgIFtyZW5kZXJUb2FzdCwgc29ydGVkTm90aWZpY2F0aW9uc11cbiAgKTtcblxuICBjb25zdCBleHBhbmRhYmxlID0gc29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbi5sZW5ndGggPiAxO1xuICBjb25zdCBbaGlnaGVzdExldmVsXSA9IHNvcnRlZE5vdGlmaWNhdGlvbnNXaXRoQ2hpbGRyZW4ubWFwKCh7IG5vdGlmaWNhdGlvbjogeyBsZXZlbCB9IH0pID0+IGxldmVsKS5zb3J0KGNvbXBhcmVMZXZlbCk7XG5cbiAgY29uc3QgZXhwYW5kYWJsZUVsZW1lbnRJZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKCFleHBhbmRhYmxlIHx8IGV4cGFuZGVkID8gYHdlYmNoYXRfX3RvYXN0ZXJfX2xpc3RfXyR7aW5zdGFuY2VJZH1gIDogdW5kZWZpbmVkKSxcbiAgICBbZXhwYW5kYWJsZSwgZXhwYW5kZWQsIGluc3RhbmNlSWRdXG4gICk7XG4gIGNvbnN0IGhlYWRlckVsZW1lbnRJZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKGV4cGFuZGFibGUgPyBgd2ViY2hhdF9fdG9hc3Rlcl9faGVhZGVyX18ke2luc3RhbmNlSWR9YCA6IHVuZGVmaW5lZCksXG4gICAgW2V4cGFuZGFibGUsIGluc3RhbmNlSWRdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAhZXhwYW5kYWJsZSAmJiBzZXRFeHBhbmRlZChmYWxzZSk7XG4gIH0sIFtleHBhbmRhYmxlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2hlYWRlckVsZW1lbnRJZH1cbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICBhcmlhLXJlbGV2YW50PVwiYWxsXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgJ3dlYmNoYXRfX3RvYXN0ZXInLFxuICAgICAgICB7XG4gICAgICAgICAgJ3dlYmNoYXRfX3RvYXN0ZXItLWV4cGFuZGFibGUnOiBleHBhbmRhYmxlLFxuICAgICAgICAgICd3ZWJjaGF0X190b2FzdGVyLS1leHBhbmRlZCc6IGV4cGFuZGVkLFxuICAgICAgICAgICd3ZWJjaGF0X190b2FzdGVyLS1lcnJvcic6IGhpZ2hlc3RMZXZlbCA9PT0gJ2Vycm9yJyxcbiAgICAgICAgICAnd2ViY2hhdF9fdG9hc3Rlci0taW5mbyc6IGhpZ2hlc3RMZXZlbCA9PT0gJ2luZm8nLFxuICAgICAgICAgICd3ZWJjaGF0X190b2FzdGVyLS1zdWNjZXNzJzogaGlnaGVzdExldmVsID09PSAnc3VjY2VzcycsXG4gICAgICAgICAgJ3dlYmNoYXRfX3RvYXN0ZXItLXdhcm4nOiBoaWdoZXN0TGV2ZWwgPT09ICd3YXJuJ1xuICAgICAgICB9LFxuICAgICAgICByb290Q2xhc3NOYW1lLFxuICAgICAgICB0b2FzdGVyU3R5bGVTZXQgKyAnJ1xuICAgICAgKX1cbiAgICAgIHJvbGU9XCJsb2dcIlxuICAgID5cbiAgICAgIHtleHBhbmRhYmxlICYmIChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtY29udHJvbHM9e2V4cGFuZGFibGVFbGVtZW50SWR9XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9faGVhZGVyXCJcbiAgICAgICAgICBpZD17aGVhZGVyRWxlbWVudElkfVxuICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUV4cGFuZH1cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgYXJpYS1oaWRkZW49e3RydWV9IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2V4cGFuZExldmVsSWNvbkJveFwiPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbkljb24gY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9fZXhwYW5kTGV2ZWxJY29uXCIgbGV2ZWw9e2hpZ2hlc3RMZXZlbH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2V4cGFuZFRleHRcIj5cbiAgICAgICAgICAgIHtsb2NhbGl6ZVdpdGhQbHVyYWwoVE9BU1RfQUNDT1JESU9OX0lEUywgc29ydGVkTm90aWZpY2F0aW9uc1dpdGhDaGlsZHJlbi5sZW5ndGgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgYXJpYS1oaWRkZW49e3RydWV9IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2V4cGFuZEljb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9fZXhwYW5kSWNvbkZvY3VzXCI+e2V4cGFuZGVkID8gPENvbGxhcHNlSWNvbiAvPiA6IDxFeHBhbmRJY29uIC8+fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICl9XG4gICAgICB7KCFleHBhbmRhYmxlIHx8IGV4cGFuZGVkKSAmJiAoXG4gICAgICAgIDx1bCBhcmlhLWxhYmVsbGVkYnk9e2hlYWRlckVsZW1lbnRJZH0gY2xhc3NOYW1lPVwid2ViY2hhdF9fdG9hc3Rlcl9fbGlzdFwiIGlkPXtleHBhbmRhYmxlRWxlbWVudElkfSByb2xlPVwicmVnaW9uXCI+XG4gICAgICAgICAge3NvcnRlZE5vdGlmaWNhdGlvbnNXaXRoQ2hpbGRyZW4ubWFwKCh7IGNoaWxkcmVuLCBub3RpZmljYXRpb246IHsgaWQgfSB9KSA9PiAoXG4gICAgICAgICAgICA8bGkgYXJpYS1hdG9taWM9e3RydWV9IGNsYXNzTmFtZT1cIndlYmNoYXRfX3RvYXN0ZXJfX2xpc3RJdGVtXCIga2V5PXtpZH0gcm9sZT1cIm5vbmVcIj5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC91bD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYXNpY1RvYXN0ZXI7XG4iXX0=
|