{"version":3,"sources":["../webpack/bootstrap","../node_modules/react/index.js","../node_modules/@redux-saga/core/dist/redux-saga-effects.esm.js","../node_modules/@redux-saga/core/dist/io-c3792963.js","../node_modules/@redux-saga/is/dist/redux-saga-is.esm.js","../node_modules/prop-types/index.js","../node_modules/core-js-pure/internals/export.js","../component:/src/hooks/internal/useWebChatAPIContext.js","../../src/Observable.ts","../node_modules/react-film/node_modules/prop-types/index.js","../component:/src/index.ts","../node_modules/botframework-webchat-component/node_modules/prop-types/index.js","../../src/Constants.ts","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/regenerator/index.js","../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.esm.js","Webchat/WebChatOptions.ts","resources/images/druidAnimations.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/global.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/common/utils.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/objectSpread2.js","../node_modules/react/jsx-runtime.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","../node_modules/core-js-pure/internals/global.js","../component:/src/hooks/useStyleSet.ts","../node_modules/core-js-pure/internals/fails.js","../node_modules/core-js-pure/internals/path.js","../node_modules/core-js-pure/internals/function-uncurry-this.js","../node_modules/core-js-pure/internals/is-callable.js","../node_modules/core-js-pure/internals/well-known-symbol-define.js","../node_modules/simple-update-in/dist/simple-update-in.production.min.js","../node_modules/core-js-pure/internals/well-known-symbol.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/define-well-known-symbol.js","../../src/Subscriber.ts","../node_modules/botframework-webchat-component/node_modules/classnames/index.js","../node_modules/core-js-pure/internals/descriptors.js","../node_modules/core-js-pure/internals/function-call.js","../core:/src/sagas/effects/whileConnected.ts","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/function-uncurry-this.js","../core:/src/actions/postActivity.ts","../node_modules/deepmerge/dist/cjs.js","Webchat/WebChatContext.ts","../core:/src/index.ts","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-callable.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/well-known-symbol.js","../component:/src/hooks/internal/useStyleToEmotionObject.js","../node_modules/core-js-pure/internals/has-own-property.js","../node_modules/react-dom/index.js","../node_modules/core-js-pure/internals/object-is-prototype-of.js","../node_modules/core-js-pure/internals/get-built-in.js","Webchat/utils/cookiesUtils.ts","../node_modules/core-js-pure/internals/is-object.js","../component:/src/hooks/internal/WebChatReduxContext.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/js-cookie/dist/js.cookie.js","../node_modules/core-js-pure/internals/an-object.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/fails.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/core-js-pure/internals/to-indexed-object.js","../node_modules/core-js-pure/internals/to-object.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/has-own-property.js","Webchat/utils/mergeChatOptions.ts","Webchat/utils/localeUtils.ts","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","../../../src/scheduler/async.ts","../component:/src/hooks/internal/useWebChatUIContext.js","../node_modules/webpack/buildin/global.js","../node_modules/core-js-pure/internals/length-of-array-like.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/core-js-pure/internals/a-callable.js","../node_modules/core-js-pure/internals/is-pure.js","../node_modules/core-js-pure/internals/object-define-property.js","Webchat/logics/druidBusinessLogic.ts","../../../src/util/root.ts","../node_modules/math-random/browser/index.js","../node_modules/core-js-pure/internals/entry-virtual.js","../component:/src/hooks/useStyleOptions.ts","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/export.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-indexed-object.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-object.js","../core:/src/actions/setSendBox.js","../node_modules/is-plain-object/dist/is-plain-object.mjs","Webchat/utils/randomHash.js","../component:/src/ScreenReaderText.tsx","../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../node_modules/core-js-pure/internals/new-promise-capability.js","../component:/src/hooks/usePonyfill.ts","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/descriptors.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/function-call.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/path.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/an-object.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/global.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/descriptors.js","../node_modules/crypto-js/core.js","../core:/src/actions/setNotification.ts","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/set-timeout.js","../../src/directLine.ts","../node_modules/moment/moment.js","../node_modules/core-js-pure/internals/create-property-descriptor.js","../node_modules/core-js-pure/internals/to-string.js","../node_modules/core-js-pure/internals/define-built-in.js","../node_modules/botframework-webchat-api/node_modules/prop-types/index.js","../node_modules/core-js-pure/internals/is-array.js","../node_modules/core-js-pure/internals/create-property.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/fails.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/function-uncurry-this.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/is-callable.js","../core:/src/actions/dismissNotification.ts","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/parse-float.js","../../src/OuterSubscriber.ts","../../../src/util/subscribeToResult.ts","../../src/Subscription.ts","../core:/src/actions/connect.js","../node_modules/core-js-pure/internals/classof-raw.js","../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../node_modules/core-js-pure/internals/try-to-string.js","../node_modules/core-js-pure/internals/function-bind-context.js","../node_modules/core-js-pure/internals/iterate.js","../node_modules/core-js-pure/internals/iterators.js","../node_modules/core-js-pure/internals/classof.js","../node_modules/core-js-pure/internals/set-to-string-tag.js","../node_modules/core-js-pure/internals/perform.js","../node_modules/core-js-pure/internals/promise-native-constructor.js","../node_modules/core-js-pure/modules/web.dom-collections.iterator.js","../component:/src/providers/ActivityAcknowledgement/private/useContext.ts","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-object.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/create-non-enumerable-property.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-define-property.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/classof.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/iterators.js","../core:/src/actions/disconnect.js","../core:/src/actions/stopDictate.js","../node_modules/botframework-webchat-core/src/definitions/activityFromBot.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../core:/src/actions/setSuggestedActions.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/react-film/node_modules/classnames/index.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js","../../src/Helpers.ts","../node_modules/classnames/index.js","../../src/Subject.ts","../../../src/util/errorObject.ts","../../../src/util/isScheduler.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../core:/src/actions/incomingActivity.ts","../core:/src/actions/markActivity.ts","../node_modules/core-js-pure/internals/engine-v8-version.js","../node_modules/core-js-pure/internals/engine-user-agent.js","../node_modules/core-js-pure/internals/shared.js","../node_modules/core-js-pure/internals/to-absolute-index.js","../node_modules/core-js-pure/internals/object-create.js","../node_modules/core-js-pure/modules/es.array.iterator.js","../node_modules/core-js-pure/internals/engine-is-node.js","../node_modules/core-js-pure/internals/promise-constructor-detection.js","../component:/src/providers/ActivityKeyer/private/useContext.ts","../node_modules/globalize/dist/globalize-runtime.js","../node_modules/base64-js/index.js","../node_modules/core-js-pure/internals/array-method-has-species-support.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/create-property-descriptor.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/get-built-in.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-is-prototype-of.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-array.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/length-of-array-like.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@emotion/cache/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../../src/Enum.js","../../src/Utility.js","../../src/Tokenizer.js","../../src/Parser.js","../../src/Serializer.js","../../src/Middleware.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/css/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/css/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/css/node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/css/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/css/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../src/util/tryCatch.ts","../../../src/util/isArray.ts","Webchat/hooks/useWebChatRefsContext.ts","../../../src/observable/ArrayObservable.ts","../../../src/observable/EmptyObservable.ts","../core:/src/actions/sendFiles.js","../node_modules/core-js-pure/internals/function-apply.js","../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../node_modules/core-js-pure/internals/object-keys.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/typeof.js","../core:/src/constants/DictateState.js","../node_modules/timers-browserify/main.js","../core:/src/actions/reconnect.js","../core:/src/actions/setDictateState.js","../core:/src/actions/stopSpeakingActivity.js","../node_modules/core-js-pure/internals/function-bind-native.js","../node_modules/core-js-pure/internals/require-object-coercible.js","../node_modules/core-js-pure/internals/is-null-or-undefined.js","../node_modules/core-js-pure/internals/to-property-key.js","../node_modules/core-js-pure/internals/is-symbol.js","../node_modules/core-js-pure/internals/object-get-prototype-of.js","../node_modules/core-js-pure/internals/shared-key.js","../node_modules/core-js-pure/internals/object-set-prototype-of.js","../node_modules/core-js-pure/internals/hidden-keys.js","../node_modules/core-js-pure/internals/get-iterator-method.js","../node_modules/core-js-pure/internals/internal-state.js","../node_modules/core-js-pure/internals/is-constructor.js","../node_modules/core-js-pure/internals/array-slice.js","../node_modules/core-js-pure/modules/es.string.iterator.js","../core:/src/utils/sleep.ts","../component:/src/hooks/useActivities.ts","../component:/src/hooks/internal/useLocalizedGlobalize.js","../component:/src/hooks/useTrackEvent.ts","../component:/src/utils/createCustomEvent.ts","../node_modules/globalize/dist/globalize-runtime/number.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/typeof.js","../../src/Context.js","../../src/migrateDeprecatedProps.js","../node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","../node_modules/core-js-pure/internals/array-iteration.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/classof-raw.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-property-key.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-pure.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/hidden-keys.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/shared-key.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/set-to-string-tag.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/function-bind-native.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/to-indexed-object.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/is-object.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/path.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/has-own-property.js","Webchat/utils/urlUtils.ts","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","Webchat/utils/mobileAndTabletCheck.js","../component:/src/localization/getRTLList.ts","../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.esm.js","../core:/src/actions/submitSendBox.js","../bundle:/src/adaptiveCards/Styles/adaptiveCardHostConfig.ts","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/defineProperty.js","Webchat/contexts/WebChatRefsContext.ts","../node_modules/@redux-saga/core/node_modules/redux/es/redux.js","../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.esm.js","../node_modules/@redux-saga/core/dist/redux-saga-core.esm.js","../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js","Webchat/selectors/useMergedOptions.ts","../component:/src/connectToWebChat.js","../node_modules/uc.micro/categories/P/regex.js","../component:/src/hooks/useWebSpeechPonyfill.ts","../../../src/symbol/iterator.ts","../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../node_modules/core-js-pure/internals/indexed-object.js","../node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../node_modules/core-js-pure/internals/array-method-is-strict.js","../component:/src/Activity/Bubble.tsx","../component:/src/Utils/isZeroOrPositive.ts","../component:/src/Utils/downscaleImageToDataURL/index.js","../../../src/symbol/rxSubscriber.ts","../../../src/symbol/observable.ts","../../../src/util/ObjectUnsubscribedError.ts","../../../src/observable/merge.ts","Webchat/WebChatServices.ts","../node_modules/object-assign/index.js","../node_modules/redux/es/redux.js","../core:/src/actions/sagaError.ts","../core:/src/utils/uniqueID.ts","../core:/src/utils/isForbiddenPropertyName.ts","../core:/src/actions/startDictate.js","../core:/src/actions/setSendTypingIndicator.ts","../core:/src/actions/startSpeakingActivity.js","../core:/src/createPromiseQueue.js","../node_modules/core-js-pure/stable/promise/index.js","../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../node_modules/core-js-pure/internals/get-method.js","../node_modules/core-js-pure/internals/shared-store.js","../node_modules/core-js-pure/internals/uid.js","../node_modules/core-js-pure/internals/document-create-element.js","../node_modules/core-js-pure/internals/object-get-own-property-names.js","../node_modules/core-js-pure/internals/enum-bug-keys.js","../node_modules/core-js-pure/internals/object-define-properties.js","../node_modules/core-js-pure/internals/to-string-tag-support.js","../core:/src/actions/emitTypingIndicator.js","../core:/src/selectors/activities.ts","../core:/src/actions/sendMessage.js","../component:/src/localization/getAllLocalizedStrings.ts","../component:/src/hooks/internal/useForceRender.js","../component:/src/hooks/internal/WebChatAPIContext.ts","../component:/src/types/internal/SendStatus.ts","../component:/src/hooks/useLanguage.ts","../component:/src/hooks/useGetSendTimeoutForActivity.ts","../component:/src/utils/isObject.js","../component:/src/hooks/internal/useReadTelemetryDimensions.js","../component:/src/hooks/useTrackException.ts","../node_modules/globalize/dist/globalize-runtime/plural.js","../../src/Say.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../../src/Composer.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/slicedToArray.js","../../src/createCustomEvent.js","../component:/src/Styles/mirrorStyle.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/ruler.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/token.js","../node_modules/webpack/buildin/module.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/symbol.js","../node_modules/core-js-pure/internals/array-species-create.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/typeof.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-property-is-enumerable.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/require-object-coercible.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-symbol.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/native-symbol.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/engine-v8-version.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/get-method.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/a-callable.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/shared.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/shared-store.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/uid.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/function-bind-context.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-integer-or-infinity.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/create-property.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-constructor.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-string-tag-support.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-method-has-species-support.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-string.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-create.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-keys.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/enum-bug-keys.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-slice.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/redefine.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/internal-state.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-iteration.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/web.dom-collections.iterator.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/get-iterator-method.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/entry-virtual.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/function-call.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-define-property.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/an-object.js","../node_modules/svg-inline-react/lib/index.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/p-retry/index.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-redux/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/react-is/index.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/regeneratorRuntime.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","../node_modules/crypto-js/enc-utf8.js","../node_modules/botframework-webchat/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/botframework-webchat/node_modules/@babel/runtime/helpers/defineProperty.js","../component:/src/hooks/useFocus.ts","../node_modules/mdurl/index.js","../../src/ReplaySubject.ts","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","Webchat/selectors/useDeterminedDirection.ts","../../../src/scheduler/AsyncAction.ts","../../../src/scheduler/AsyncScheduler.ts","../../src/Notification.ts","../../../src/operators/map.ts","../../../src/operators/mergeMap.ts","../../../src/util/isNumeric.ts","../component:/src/utils/normalizeLanguage.ts","../component:/src/hooks/index.ts","../node_modules/uc.micro/properties/Any/regex.js","../node_modules/uc.micro/categories/Cc/regex.js","../node_modules/uc.micro/categories/Z/regex.js","../component:/src/hooks/internal/useUniqueId.ts","../../src/BehaviorSubject.ts","../../../src/util/isFunction.ts","../../../src/operators/observeOn.ts","../../../src/util/isDate.ts","../../../src/operators/throttle.ts","../../../src/add/observable/dom/ajax.ts","Webchat/hooks/useAutoExpand.ts","../core:/src/actions/clearSuggestedActions.js","../core:/src/actions/setLanguage.js","../component:/src/Composer.tsx","../node_modules/core-js-pure/stable/instance/slice.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../component:/src/hooks/internal/WebChatUIContext.js","../component:/src/Utils/textFormatToContentType.js","../component:/src/Utils/randomId.js","Webchat/hooks/useContainerElementToggle.ts","../../../src/add/operator/catch.ts","../../../src/add/operator/combineLatest.ts","../../../src/observable/ScalarObservable.ts","../../../src/add/operator/count.ts","../../../src/add/operator/delay.ts","../../../src/add/operator/do.ts","../../../src/add/operator/filter.ts","../../../src/add/operator/map.ts","../../../src/add/operator/merge.ts","../../../src/add/operator/mergeMap.ts","../../../src/add/operator/retryWhen.ts","../../../src/add/operator/share.ts","../../../src/operators/refCount.ts","../../../src/add/operator/take.ts","../../../src/add/observable/timer.ts","../../../src/add/operator/throttleTime.ts","../../../src/add/operator/bufferTime.ts","../../../src/add/operator/buffer.ts","../../../src/add/operator/debounceTime.ts","../../../src/add/operator/distinctUntilChanged.ts","../../../src/add/observable/empty.ts","../../../src/add/observable/from.ts","../../../src/add/observable/interval.ts","../../../src/add/observable/of.ts","../../../src/add/observable/throw.ts","Webchat/hooks/useLoadConfiguration.ts","Webchat/utils/pictureUtils.js","Webchat/hooks/useCreateDirectLine.ts","../node_modules/platform/platform.js","../../../out/lib/src/DynamicProto.js","../LoggingEnums.js","../HelperFuncs.js","../EnvUtils.js","../DiagnosticLogger.js","../PerfManager.js","../TelemetryPluginChain.js","../ProcessTelemetryContext.js","../Constants.js","../BaseTelemetryPlugin.js","../TelemetryHelpers.js","../ChannelController.js","../CookieMgr.js","../BaseCore.js","../EventsDiscardedReason.js","../NotificationManager.js","../AppInsightsCore.js","../RandomHelper.js","../CoreUtils.js","../applicationinsights-common.js","../DataSanitizer.js","../DataPointType.js","../TelemetryItemCreator.js","../EventData.js","../Event.js","../Trace.js","../MessageData.js","../MetricData.js","../DataPoint.js","../Metric.js","../PageViewData.js","../PageView.js","../PageViewPerformance.js","../PageViewPerfData.js","../StackFrame.js","../ExceptionDetails.js","../Exception.js","../SeverityLevel.js","../Enums.js","../ExceptionData.js","../StorageHelperFuncs.js","../DomHelperFuncs.js","../RequestResponseHeaders.js","../UrlHelperFuncs.js","../Util.js","../RemoteDependencyData.js","../PageViewManager.js","../PageVisitTimeManager.js","../PageViewPerformanceManager.js","../ApplicationInsights.js","../SendBuffer.js","../ContextTagKeys.js","../PartAExtensions.js","../Envelope.js","../Base.js","../Data.js","../EnvelopeCreator.js","../Serializer.js","../Sender.js","../Offline.js","../HashCodeScoreGenerator.js","../SamplingScoreGenerator.js","../Sample.js","../Session.js","../Application.js","../Device.js","../Internal.js","../User.js","../Location.js","../TelemetryTrace.js","../TelemetryContext.js","../PropertiesPlugin.js","../InstrumentHooks.js","../ajaxRecord.js","../TraceParent.js","../ajax.js","../ConnectionStringParser.js","../Initialization.js","../IConfig.js","../ApplicationInsightsDeprecated.js","../ApplicationInsightsContainer.js","../../../src/ViewContext.js","../../../src/hooks/internal/useViewContext.js","../../../src/hooks/useIndex.js","../../../src/FunctionContext.js","../../../src/hooks/internal/useFunctionContext.js","../../../src/hooks/useScrollTo.js","../../../src/Dot.js","../../../src/PropsContext.js","../../../src/hooks/internal/usePropsContext.js","../../../src/hooks/useNumItems.js","../../../src/Dots.js","../../../src/InternalContext.js","../../../src/hooks/internal/useInternalContext.js","../../../src/hooks/useItemContainerCallbackRef.js","../../../src/hooks/useScrollableCallbackRef.js","../../../src/Filmstrip.js","../../../src/hooks/useDir.js","../../../src/hooks/useScrollBarPercentage.js","../../../src/hooks/useScrollOneLeft.js","../../../src/hooks/useScrollOneRight.js","../../../src/Flipper.js","../../../src/browser.js","../../../src/hooks/useScrollBarWidth.js","../../../src/ScrollBar.js","../../../src/hooks/useHeight.js","../../../src/hooks/useScrolling.js","../../../src/hooks/useStyleOptions.js","../../../src/hooks/useStyleSetClassNames.js","../../../src/BasicFilm.js","../../../src/hooks/internal/useAutoCenter.js","../../../src/hooks/internal/useTimeout.js","../../../src/AutoCenter.js","../../../src/patchStyleOptions.js","../../../src/createBasicStyleSet.js","../../../src/getView.js","../../../src/util/best.js","../../../src/LegacyContext.js","../../../src/hooks/internal/useAnimateScrollLeft.js","../../../src/hooks/internal/useCallbackRefWithSubscribe.js","../../../src/util/debounce.js","../../../src/Composer.js","../../../src/util/createCSSKey.js","../../../src/hooks/internal/useObserveScrollLeft.js","../../../src/computeScrollLeft.js","../../../src/DeprecatedFilmStrip.js","../../../src/ReactFilm.js","../../../src/hooks/useIndexFraction.js","../../../src/index.js","../../dist-src/index.js","../node_modules/use-reducer-logger/srhfl.js","Webchat/actions/druid/setDisabled.ts","Webchat/logics/buildContextMenuWithTranslations.ts","Webchat/hooks/useWebChatReducer.ts","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../core:/src/actions/setDictateInterims.js","../core:/src/actions/connectionStatusUpdate.js","../core:/src/actions/setReferenceGrammarID.js","../core:/src/actions/setSendTimeout.js","../node_modules/core-js-pure/modules/es.aggregate-error.js","../node_modules/core-js-pure/internals/document-all.js","../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../node_modules/core-js-pure/internals/ie8-dom-define.js","../node_modules/core-js-pure/internals/is-forced.js","../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../node_modules/core-js-pure/internals/correct-prototype-getter.js","../node_modules/core-js-pure/internals/own-keys.js","../node_modules/core-js-pure/internals/object-keys-internal.js","../node_modules/core-js-pure/internals/array-includes.js","../node_modules/core-js-pure/internals/html.js","../node_modules/core-js-pure/internals/is-array-iterator-method.js","../node_modules/core-js-pure/internals/get-iterator.js","../node_modules/core-js-pure/internals/iterator-close.js","../node_modules/core-js-pure/internals/add-to-unscopables.js","../node_modules/core-js-pure/internals/iterator-define.js","../node_modules/core-js-pure/internals/iterators-core.js","../node_modules/core-js-pure/internals/create-iter-result-object.js","../node_modules/core-js-pure/internals/species-constructor.js","../node_modules/core-js-pure/internals/inspect-source.js","../node_modules/core-js-pure/internals/task.js","../node_modules/core-js-pure/internals/validate-arguments-length.js","../node_modules/core-js-pure/internals/engine-is-ios.js","../node_modules/core-js-pure/internals/engine-is-deno.js","../node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../node_modules/core-js-pure/internals/promise-resolve.js","../node_modules/core-js-pure/modules/es.promise.all-settled.js","../node_modules/core-js-pure/modules/es.promise.any.js","../core:/src/sagas/effects/observeEach.js","../core:/src/definitions/speakingActivity.js","../core:/src/actions/queueIncomingActivity.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/defineProperty.js","../core:/src/actions/sendEvent.js","../core:/src/actions/sendMessageBack.js","../core:/src/actions/sendPostBack.js","../component:/src/providers/Ponyfill/usePonyfill.ts","../component:/src/providers/Ponyfill/private/PonyfillContext.ts","../component:/src/providers/ActivityKeyer/useActivityKeys.ts","../component:/src/providers/ActivityKeyer/private/Context.ts","../component:/src/providers/ActivityAcknowledgement/private/Context.ts","../component:/src/hooks/internal/useCreateActivityRendererInternal.ts","../component:/src/hooks/useRenderAttachment.js","../component:/src/hooks/useCreateActivityStatusRenderer.tsx","../component:/src/hooks/useGetKeyByActivity.ts","../component:/src/providers/ActivityKeyer/useGetKeyByActivity.ts","../component:/src/hooks/useSendStatusByActivityKey.ts","../component:/src/providers/ActivitySendStatus/private/Context.ts","../component:/src/hooks/useCreateAvatarRenderer.ts","../component:/src/hooks/useDateFormatter.ts","../component:/src/hooks/internal/useLocalizedStrings.js","../component:/src/hooks/useLocalizer.ts","../component:/src/hooks/useMarkAllAsAcknowledged.ts","../component:/src/hooks/useTrackDimension.ts","../component:/src/hooks/internal/usePrevious.ts","../component:/src/hooks/utils/ErrorBoundary.js","../component:/src/normalizeStyleOptions.ts","../component:/src/defaultStyleOptions.ts","../component:/src/hooks/internal/ErrorBox.js","../component:/src/hooks/middleware/concatMiddleware.ts","../node_modules/react-say/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/react-say/node_modules/@babel/runtime/regenerator/index.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/asyncToGenerator.js","../../src/createErrorEvent.js","../../src/SayButton.js","../../src/createNativeUtterance.js","../../src/SayUtterance.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/common/entities.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/common/html_re.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/strikethrough.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/emphasis.js","../component:/src/hooks/internal/BypassSpeechSynthesisPonyfill.js","../component:/src/providers/ActivityTree/private/Context.ts","../component:/src/Utils/walkMarkdownTokens.js","../node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","../node_modules/core-js-pure/modules/es.symbol.js","../node_modules/core-js-pure/internals/symbol-define-to-primitive.js","../node_modules/core-js-pure/internals/symbol-registry-detection.js","../node_modules/core-js-pure/modules/es.symbol.iterator.js","../node_modules/core-js-pure/modules/es.symbol.to-primitive.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/for-each.js","../node_modules/core-js-pure/stable/instance/for-each.js","../node_modules/core-js-pure/internals/whitespaces.js","../node_modules/core-js-pure/internals/schedulers-fix.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/promise.js","../component:/src/Middleware/ActivityStatus/AbsoluteTime.js","../component:/src/Utils/CroppedImage.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/function-apply.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/indexed-object.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/use-symbol-as-uid.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/try-to-string.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/ie8-dom-define.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/document-create-element.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-species-create.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/inspect-source.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-keys-internal.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-absolute-index.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-get-own-property-names.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.array.iterator.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/define-iterator.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/iterators-core.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-get-prototype-of.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.string.iterator.js","../component:/src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js","../node_modules/use-ref-from/node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/export.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/classof-raw.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/document-all.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/create-property-descriptor.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/require-object-coercible.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/is-null-or-undefined.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/to-property-key.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/is-symbol.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/get-built-in.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/use-symbol-as-uid.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/symbol-constructor-detection.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/a-callable.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/shared.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/uid.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/ie8-dom-define.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/document-create-element.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../node_modules/use-ref-from/node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/to-integer-or-infinity.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/hidden-keys.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/enum-bug-keys.js","Webchat/hooks/useDraggableEffect.ts","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/toArray.js","../node_modules/@babel/runtime/helpers/objectSpread.js","../../../src/util/isObject.ts","../../src/Observer.ts","../../src/SubjectSubscription.ts","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../../src/util/isArrayLike.ts","../../../src/util/isPromise.ts","../../../src/index.ts","../node_modules/crypto-js/evpkdf.js","../node_modules/color-name/index.js","../node_modules/color/node_modules/color-convert/conversions.js","../node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/fill.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/object/from-entries.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/math/sign.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/splice.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/asyncToGenerator.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","../node_modules/focus-trap-react/dist/focus-trap-react.js","Webchat/utils/babelTransform.ts","../node_modules/crypto-js/aes.js","../node_modules/color/index.js","../../../src/operators/multicast.ts","../component:/src/Utils/removeInline.js","../node_modules/process/browser.js","../../../src/util/ArgumentOutOfRangeError.ts","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/set.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/event-target-shim/es5.mjs","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/p-defer-es5/lib/esm/index.mjs","../component:/src/hooks/useRenderMarkdownAsHTML.ts","../component:/src/Utils/detectBrowser.js","../../../src/operators/combineLatest.ts","../../../src/operators/mergeAll.ts","../node_modules/uc.micro/index.js","../node_modules/node-libs-browser/node_modules/punycode/punycode.js","../component:/src/hooks/internal/useNonce.js","../component:/src/hooks/useScrollToEnd.ts","../../../src/util/pipe.ts","../../../src/util/noop.ts","../../../src/operators/filter.ts","../../../src/operators/distinctUntilChanged.ts","../core:/src/createStore.ts","../bundle:/src/adaptiveCards/normalizeStyleOptions.ts","../../src/index.js","../component:/src/Styles/createStyleSet.ts","../component:/src/providers/ActivityTree/private/useContext.ts","../component:/src/Middleware/Activity/createCoreMiddleware.tsx","../component:/src/Activity/CarouselLayout.js","../node_modules/core-js-pure/features/array/is-array.js","../node_modules/core-js-pure/features/symbol/index.js","../node_modules/core-js-pure/internals/object-get-own-property-names-external.js","../node_modules/core-js-pure/features/get-iterator-method.js","../node_modules/core-js-pure/features/instance/slice.js","../node_modules/core-js-pure/features/array/from.js","../node_modules/core-js-pure/stable/object/keys.js","../node_modules/core-js-pure/stable/instance/filter.js","../node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","../node_modules/core-js-pure/stable/object/define-property.js","../node_modules/core-js-pure/features/symbol/iterator.js","../node_modules/core-js-pure/stable/instance/index-of.js","../node_modules/core-js-pure/stable/instance/splice.js","../node_modules/core-js-pure/stable/object/get-prototype-of.js","../component:/src/Activity/StackedLayout.tsx","../component:/src/Middleware/ActivityStatus/createCoreMiddleware.tsx","../component:/src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx","../component:/src/Middleware/ActivityStatus/Timestamp.tsx","../component:/src/hooks/internal/useTimer.ts","../component:/src/Middleware/Attachment/createCoreMiddleware.tsx","../component:/src/Attachment/AudioContent.tsx","../component:/src/Attachment/FileContent.tsx","../component:/src/Attachment/ImageAttachment.js","../component:/src/Attachment/ImageContent.tsx","../component:/src/Attachment/TextContent.tsx","../component:/src/Attachment/VideoContent.tsx","../component:/src/Attachment/HTMLVideoContent.tsx","../component:/src/Attachment/VimeoContent.tsx","../component:/src/Attachment/YouTubeContent.tsx","../component:/src/Middleware/Avatar/createCoreMiddleware.tsx","../component:/src/Toast/NotificationIcon.js","../component:/src/Assets/TypingAnimation.js","../component:/src/hooks/internal/useSettableDictateAbortable.js","../component:/src/ErrorBox.tsx","../component:/src/providers/internal/SendBox/private/Context.ts","../../../src/util/UnsubscriptionError.ts","../../../src/scheduler/queue.ts","../../../src/operators/catchError.ts","../../../src/operators/count.ts","../../../src/operators/delay.ts","../../../src/operators/tap.ts","../../../src/operators/merge.ts","../../../src/util/identity.ts","../../../src/operators/retryWhen.ts","../../../src/operators/share.ts","../../../src/observable/ConnectableObservable.ts","../../../src/operators/take.ts","../../../src/observable/timer.ts","../../../src/operators/throttleTime.ts","../../../src/operators/bufferTime.ts","../../../src/operators/buffer.ts","../../../src/operators/debounceTime.ts","../../../src/observable/dom/AjaxObservable.ts","../../../src/observable/from.ts","../../../src/observable/FromObservable.ts","../../../src/observable/PromiseObservable.ts","../../../src/observable/of.ts","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../component:/src/localization/Localize.ts","../core:/src/constants/ActivityClientState.js","../node_modules/setimmediate/setImmediate.js","../node_modules/redux-devtools-extension/index.js","../core:/src/createReducer.ts","../core:/src/reducers/createActivitiesReducer.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/babel-preset-react-app/node_modules/regenerator-runtime/runtime.js","../core:/src/actions/deleteActivity.ts","../core:/src/types/internal/SendStatus.ts","../core:/src/reducers/createInternalReducer.ts","../core:/src/reducers/createNotificationsReducer.ts","../node_modules/math-random/browser/crypto.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../core:/src/reducers/createTypingReducer.ts","../core:/src/reducers/connectivityStatus.js","../core:/src/reducers/dictateInterims.js","../core:/src/reducers/dictateState.js","../core:/src/reducers/language.js","../core:/src/reducers/readyState.js","../core:/src/reducers/referenceGrammarID.js","../core:/src/reducers/sendBoxValue.js","../core:/src/reducers/sendTimeout.js","../core:/src/reducers/sendTypingIndicator.js","../core:/src/reducers/shouldSpeakIncomingActivity.js","../core:/src/reducers/suggestedActions.js","../core:/src/createSagas.ts","../node_modules/botframework-webchat-core/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../core:/src/sagas/clearSuggestedActionsOnPostActivitySaga.js","../core:/src/sagas/connectionStatusToNotificationSaga.js","../node_modules/core-js-pure/es/promise/index.js","../node_modules/core-js-pure/modules/es.aggregate-error.constructor.js","../node_modules/core-js-pure/internals/to-primitive.js","../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../node_modules/core-js-pure/internals/define-global-property.js","../node_modules/core-js-pure/internals/a-possible-prototype.js","../node_modules/core-js-pure/internals/copy-constructor-properties.js","../node_modules/core-js-pure/internals/math-trunc.js","../node_modules/core-js-pure/internals/to-length.js","../node_modules/core-js-pure/internals/error-stack-clear.js","../node_modules/core-js-pure/internals/install-error-cause.js","../node_modules/core-js-pure/internals/normalize-string-argument.js","../node_modules/core-js-pure/internals/error-stack-installable.js","../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../node_modules/core-js-pure/internals/function-name.js","../node_modules/core-js-pure/internals/iterator-create-constructor.js","../node_modules/core-js-pure/internals/object-to-string.js","../node_modules/core-js-pure/modules/es.promise.js","../node_modules/core-js-pure/modules/es.promise.constructor.js","../node_modules/core-js-pure/internals/set-species.js","../node_modules/core-js-pure/internals/an-instance.js","../node_modules/core-js-pure/internals/a-constructor.js","../node_modules/core-js-pure/internals/microtask.js","../node_modules/core-js-pure/internals/engine-is-ios-pebble.js","../node_modules/core-js-pure/internals/engine-is-webos-webkit.js","../node_modules/core-js-pure/internals/host-report-errors.js","../node_modules/core-js-pure/internals/queue.js","../node_modules/core-js-pure/internals/engine-is-browser.js","../node_modules/core-js-pure/modules/es.promise.all.js","../node_modules/core-js-pure/modules/es.promise.catch.js","../node_modules/core-js-pure/modules/es.promise.race.js","../node_modules/core-js-pure/modules/es.promise.reject.js","../node_modules/core-js-pure/modules/es.promise.resolve.js","../node_modules/core-js-pure/modules/es.promise.finally.js","../node_modules/core-js-pure/internals/string-multibyte.js","../node_modules/core-js-pure/internals/dom-iterables.js","../core:/src/sagas/connectionStatusUpdateSaga.js","../core:/src/sagas/connectSaga.js","../../lib/atob.js","../../lib/base64_url_decode.js","../../lib/index.js","../core:/src/sagas/effects/forkPut.js","../core:/src/actions/updateConnectionStatus.js","../core:/src/sagas/detectSlowConnectionSaga.ts","../core:/src/sagas/emitTypingIndicatorToPostActivitySaga.js","../core:/src/sagas/markAllAsSpokenOnStopSpeakActivitySaga.js","../core:/src/sagas/observeActivitySaga.ts","../core:/src/sagas/postActivitySaga.ts","../core:/src/utils/dateToLocaleISOString.ts","../core:/src/utils/deleteKey.ts","../core:/src/selectors/language.ts","../core:/src/sagas/effects/observeOnce.ts","../core:/src/selectors/sendTimeout.ts","../core:/src/sagas/queueIncomingActivitySaga.ts","../core:/src/definitions/activityFromBot.js","../core:/src/sagas/sendEventToPostActivitySaga.js","../core:/src/sagas/sendFilesToPostActivitySaga.js","../node_modules/botframework-webchat-core/node_modules/mime/index.js","../node_modules/botframework-webchat-core/node_modules/mime/Mime.js","../node_modules/botframework-webchat-core/node_modules/mime/types/standard.js","../node_modules/botframework-webchat-core/node_modules/mime/types/other.js","../core:/src/sagas/sendMessageBackToPostActivitySaga.js","../core:/src/sagas/sendMessageToPostActivitySaga.js","../core:/src/sagas/sendPostBackToPostActivitySaga.js","../core:/src/sagas/sendTypingIndicatorOnSetSendBoxSaga.ts","../core:/src/selectors/sendTypingIndicator.ts","../core:/src/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js","../core:/src/selectors/shouldSpeakIncomingActivity.ts","../core:/src/definitions/speakableActivity.js","../core:/src/sagas/startDictateOnSpeakCompleteSaga.js","../core:/src/selectors/dictateState.ts","../core:/src/sagas/startSpeakActivityOnPostActivitySaga.js","../core:/src/sagas/stopDictateOnCardActionSaga.js","../core:/src/sagas/stopSpeakingActivityOnInputSaga.js","../core:/src/sagas/submitSendBoxSaga.js","../core:/src/selectors/sendBoxValue.ts","../core:/src/utils/singleToArray.ts","../core:/src/utils/warnOnce.ts","../core:/src/utils/once.ts","../component:/src/localization/mergeLocalizedStrings.ts","../component:/src/hooks/useActiveTyping.ts","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../component:/src/providers/Ponyfill/private/useContext.ts","../component:/src/hooks/useActivityKeys.ts","../component:/src/hooks/useActivityKeysByRead.ts","../component:/src/providers/ActivityAcknowledgement/useActivityKeysByRead.tsx","../component:/src/hooks/useAvatarForBot.ts","../component:/src/hooks/useAvatarForUser.ts","../component:/src/hooks/useByteFormatter.ts","../component:/src/hooks/useConnectivityStatus.ts","../component:/src/hooks/useCreateActivityRenderer.ts","../node_modules/botframework-webchat-api/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/botframework-webchat-api/node_modules/prop-types/lib/ReactPropTypesSecret.js","../component:/src/providers/ActivitySendStatus/useSendStatusByActivityKey.ts","../component:/src/providers/ActivitySendStatus/private/useContext.ts","../component:/src/hooks/useCreateAttachmentForScreenReaderRenderer.js","../component:/src/hooks/useCreateScrollToEndButtonRenderer.ts","../component:/src/hooks/useDebouncedNotifications.ts","../component:/src/utils/findMin.ts","../component:/src/hooks/useNotifications.ts","../component:/src/hooks/useDictateInterims.ts","../component:/src/hooks/useDictateState.ts","../component:/src/hooks/useDirection.ts","../component:/src/hooks/internal/useDirFromProps.js","../component:/src/hooks/useDisabled.ts","../component:/src/hooks/useDismissNotification.ts","../component:/src/hooks/useEmitTypingIndicator.ts","../component:/src/hooks/useGetActivityByKey.ts","../component:/src/providers/ActivityKeyer/useGetActivityByKey.ts","../component:/src/hooks/useGetHasAcknowledgedByActivityKey.ts","../component:/src/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.ts","../component:/src/hooks/useGetKeyByActivityId.ts","../component:/src/providers/ActivityKeyer/useGetKeyByActivityId.ts","../component:/src/hooks/useGrammars.ts","../component:/src/hooks/useGroupActivities.ts","../component:/src/hooks/useGroupTimestamp.ts","../component:/src/hooks/useLastAcknowledgedActivityKey.ts","../component:/src/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.ts","../component:/src/hooks/useLastReadActivityKey.ts","../component:/src/providers/ActivityAcknowledgement/useLastReadActivityKey.ts","../component:/src/hooks/useMarkActivityAsSpoken.ts","../component:/src/hooks/internal/useMarkActivity.js","../component:/src/hooks/useMarkActivityKeyAsRead.ts","../component:/src/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.ts","../component:/src/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.ts","../component:/src/hooks/usePerformCardAction.ts","../component:/src/hooks/usePostActivity.ts","../component:/src/hooks/useReferenceGrammarID.ts","../component:/src/hooks/useRelativeTimeFormatter.ts","../component:/src/hooks/useRenderActivity.js","../component:/src/hooks/useRenderActivityStatus.js","../component:/src/hooks/useRenderAvatar.js","../component:/src/hooks/useRenderToast.ts","../component:/src/hooks/useRenderTypingIndicator.ts","../component:/src/hooks/useSendBoxValue.ts","../component:/src/hooks/useSendEvent.ts","../component:/src/hooks/useSendFiles.ts","../component:/src/hooks/useSendMessage.ts","../component:/src/hooks/useSendMessageBack.ts","../component:/src/hooks/useSendPostBack.ts","../component:/src/hooks/useSendTimeoutForActivity.ts","../component:/src/hooks/useSendTypingIndicator.ts","../component:/src/hooks/useSetNotification.ts","../component:/src/hooks/useShouldSpeakIncomingActivity.ts","../component:/src/hooks/useStartDictate.ts","../component:/src/hooks/useStopDictate.ts","../component:/src/hooks/useSubmitSendBox.ts","../component:/src/hooks/useSuggestedActions.ts","../component:/src/hooks/useTimeoutForSend.ts","../component:/src/hooks/useTrackTiming.ts","../component:/src/utils/randomId.ts","../component:/src/hooks/useUserID.ts","../component:/src/hooks/useUsername.ts","../component:/src/hooks/useVoiceSelector.ts","../component:/src/hooks/Composer.tsx","../component:/src/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.tsx","../component:/src/utils/findLastIndex.ts","../component:/src/hooks/internal/useValueRef.ts","../component:/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx","../component:/src/providers/ActivityKeyer/private/getActivityId.ts","../component:/src/providers/ActivityKeyer/private/getClientActivityId.ts","../component:/src/providers/ActivityKeyer/private/uniqueId.ts","../component:/src/providers/ActivitySendStatus/ActivitySendStatusComposer.tsx","../component:/src/utils/freezeArray.ts","../component:/src/providers/ActivitySendStatus/private/isMapEqual.ts","../component:/src/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.tsx","../component:/src/hooks/middleware/createDefaultCardActionMiddleware.ts","../component:/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts","../component:/src/hooks/internal/defaultSelectVoice.js","../component:/src/utils/mapMap.ts","../component:/src/hooks/utils/observableToPromise.ts","../component:/src/patchStyleOptionsFromDeprecatedProps.js","../component:/src/providers/Ponyfill/PonyfillComposer.tsx","../component:/src/hooks/internal/Tracker.ts","../component:/src/hooks/internal/useTracker.js","../component:/src/hooks/middleware/applyMiddleware.js","../component:/src/hooks/internal/useErrorBoxClass.js","../component:/src/hooks/middleware/UserlandBoundary.js","../node_modules/botframework-webchat-api/lib/external/PrecompiledGlobalize.js","../node_modules/globalize/dist/globalize-runtime/date.js","../node_modules/globalize/dist/globalize-runtime/relative-time.js","../node_modules/globalize/dist/globalize-runtime/unit.js","../bundle:/src/adaptiveCards/defaultStyleOptions.ts","../node_modules/react-say/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/readOnlyError.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/nonIterableRest.js","../../src/createSynthesize.js","../node_modules/react-say/node_modules/regenerator-runtime/runtime.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../src/QueuedUtterance.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/react-say/node_modules/@babel/runtime/helpers/createClass.js","../../src/createDeferred.js","../../src/useEvent.js","../../src/useImmediateEffect.js","../../src/useSynthesize.js","../component:/src/Styles/StyleSet/Activities.ts","../component:/src/Styles/StyleSet/AudioAttachment.ts","../component:/src/Styles/StyleSet/AudioContent.ts","../component:/src/Styles/StyleSet/AutoResizeTextArea.ts","../component:/src/Styles/StyleSet/Avatar.ts","../component:/src/Styles/StyleSet/BasicTranscript.ts","../component:/src/Styles/StyleSet/Bubble.ts","../component:/src/Styles/StyleSet/CarouselFilmStrip.ts","../component:/src/Styles/StyleSet/CarouselFilmStripAttachment.ts","../component:/src/Styles/StyleSet/CarouselFlipper.ts","../component:/src/Styles/StyleSet/ConnectivityNotification.ts","../component:/src/Styles/StyleSet/DictationInterims.ts","../component:/src/Styles/StyleSet/ErrorBox.ts","../component:/src/Styles/StyleSet/ErrorNotification.ts","../component:/src/Styles/StyleSet/FileContent.ts","../component:/src/Styles/StyleSet/ImageAvatar.ts","../component:/src/Styles/StyleSet/InitialsAvatar.ts","../component:/src/Styles/StyleSet/KeyboardHelp.ts","../component:/src/Styles/StyleSet/MicrophoneButton.ts","../component:/src/Styles/StyleSet/Root.ts","../component:/src/Styles/StyleSet/ScrollToEndButton.ts","../component:/src/Styles/StyleSet/SendBoxButton.ts","../component:/src/Styles/StyleSet/SendBox.ts","../component:/src/Styles/StyleSet/SendBoxTextBox.ts","../component:/src/Styles/StyleSet/SendStatus.ts","../component:/src/Styles/StyleSet/SingleAttachmentActivity.ts","../component:/src/Styles/StyleSet/SpinnerAnimation.ts","../component:/src/Styles/StyleSet/StackedLayout.ts","../component:/src/Styles/StyleSet/SuggestedActions.ts","../component:/src/Styles/StyleSet/SuggestedAction.ts","../component:/src/Styles/StyleSet/TextContent.ts","../component:/src/Styles/StyleSet/Toaster.ts","../component:/src/Styles/StyleSet/Toast.ts","../component:/src/Styles/StyleSet/TypingAnimation.ts","../component:/src/Styles/StyleSet/TypingIndicator.ts","../component:/src/Styles/StyleSet/UploadButton.ts","../component:/src/Styles/StyleSet/VideoAttachment.ts","../component:/src/Styles/StyleSet/VideoContent.ts","../component:/src/Styles/StyleSet/VimeoContent.ts","../component:/src/Styles/StyleSet/WarningNotification.ts","../component:/src/Styles/StyleSet/YouTubeContent.ts","../node_modules/botframework-webchat-component/node_modules/markdown-it/index.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/index.js","../node_modules/mdurl/encode.js","../node_modules/mdurl/decode.js","../node_modules/mdurl/format.js","../node_modules/mdurl/parse.js","../node_modules/uc.micro/categories/Cf/regex.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/helpers/index.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/helpers/parse_link_label.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/helpers/parse_link_destination.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/helpers/parse_link_title.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/renderer.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/parser_core.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/normalize.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/block.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/inline.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/linkify.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/replacements.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/smartquotes.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/text_join.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_core/state_core.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/parser_block.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/table.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/code.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/fence.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/blockquote.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/hr.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/list.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/reference.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/html_block.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/common/html_blocks.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/heading.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/lheading.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/paragraph.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_block/state_block.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/parser_inline.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/text.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/linkify.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/newline.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/escape.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/backticks.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/link.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/image.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/autolink.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/html_inline.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/entity.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/balance_pairs.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/fragments_join.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/rules_inline/state_inline.js","../node_modules/botframework-webchat-component/node_modules/linkify-it/index.js","../node_modules/botframework-webchat-component/node_modules/linkify-it/lib/re.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/presets/default.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/presets/zero.js","../node_modules/botframework-webchat-component/node_modules/markdown-it/lib/presets/commonmark.js","../node_modules/botframework-webchat-component/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/botframework-webchat-component/node_modules/prop-types/lib/ReactPropTypesSecret.js","../component:/src/providers/ActivityTree/ActivityTreeComposer.tsx","../component:/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts","../component:/src/hooks/internal/useMemoize.ts","../component:/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts","../component:/src/Utils/intersectionOf.ts","../component:/src/hooks/internal/useMemoWithPrevious.ts","../component:/src/Utils/addTargetBlankToHyperlinksMarkdown.js","../component:/src/Utils/updateMarkdownAttrs.js","../component:/src/Utils/createCSSKey.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","../node_modules/core-js-pure/full/array/is-array.js","../node_modules/core-js-pure/actual/array/is-array.js","../node_modules/core-js-pure/stable/array/is-array.js","../node_modules/core-js-pure/es/array/is-array.js","../node_modules/core-js-pure/modules/es.array.is-array.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","../node_modules/core-js-pure/full/symbol/index.js","../node_modules/core-js-pure/actual/symbol/index.js","../node_modules/core-js-pure/stable/symbol/index.js","../node_modules/core-js-pure/es/symbol/index.js","../node_modules/core-js-pure/modules/es.array.concat.js","../node_modules/core-js-pure/internals/array-species-constructor.js","../node_modules/core-js-pure/modules/es.symbol.constructor.js","../node_modules/core-js-pure/internals/array-slice-simple.js","../node_modules/core-js-pure/modules/es.symbol.for.js","../node_modules/core-js-pure/modules/es.symbol.key-for.js","../node_modules/core-js-pure/modules/es.json.stringify.js","../node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","../node_modules/core-js-pure/modules/es.symbol.async-iterator.js","../node_modules/core-js-pure/modules/es.symbol.has-instance.js","../node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","../node_modules/core-js-pure/modules/es.symbol.match.js","../node_modules/core-js-pure/modules/es.symbol.match-all.js","../node_modules/core-js-pure/modules/es.symbol.replace.js","../node_modules/core-js-pure/modules/es.symbol.search.js","../node_modules/core-js-pure/modules/es.symbol.species.js","../node_modules/core-js-pure/modules/es.symbol.split.js","../node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","../node_modules/core-js-pure/modules/es.symbol.unscopables.js","../node_modules/core-js-pure/modules/es.json.to-string-tag.js","../node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","../node_modules/core-js-pure/modules/esnext.symbol.dispose.js","../node_modules/core-js-pure/modules/esnext.symbol.matcher.js","../node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","../node_modules/core-js-pure/modules/esnext.symbol.observable.js","../node_modules/core-js-pure/modules/esnext.symbol.metadata.js","../node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","../node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","../node_modules/core-js-pure/full/get-iterator-method.js","../node_modules/core-js-pure/actual/get-iterator-method.js","../node_modules/core-js-pure/stable/get-iterator-method.js","../node_modules/core-js-pure/es/get-iterator-method.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js","../node_modules/core-js-pure/full/instance/slice.js","../node_modules/core-js-pure/actual/instance/slice.js","../node_modules/core-js-pure/es/instance/slice.js","../node_modules/core-js-pure/es/array/virtual/slice.js","../node_modules/core-js-pure/modules/es.array.slice.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/array/from.js","../node_modules/core-js-pure/full/array/from.js","../node_modules/core-js-pure/actual/array/from.js","../node_modules/core-js-pure/stable/array/from.js","../node_modules/core-js-pure/es/array/from.js","../node_modules/core-js-pure/modules/es.array.from.js","../node_modules/core-js-pure/internals/array-from.js","../node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","../node_modules/core-js-pure/stable/instance/map.js","../node_modules/core-js-pure/es/instance/map.js","../node_modules/core-js-pure/es/array/virtual/map.js","../node_modules/core-js-pure/modules/es.array.map.js","../node_modules/core-js-pure/stable/instance/fill.js","../node_modules/core-js-pure/es/instance/fill.js","../node_modules/core-js-pure/es/array/virtual/fill.js","../node_modules/core-js-pure/modules/es.array.fill.js","../node_modules/core-js-pure/internals/array-fill.js","../node_modules/react-film/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/react-film/node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/keys.js","../node_modules/core-js-pure/features/object/keys.js","../node_modules/core-js-pure/full/object/keys.js","../node_modules/core-js-pure/actual/object/keys.js","../node_modules/core-js-pure/es/object/keys.js","../node_modules/core-js-pure/modules/es.object.keys.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-symbols.js","../node_modules/core-js-pure/features/object/get-own-property-symbols.js","../node_modules/core-js-pure/full/object/get-own-property-symbols.js","../node_modules/core-js-pure/actual/object/get-own-property-symbols.js","../node_modules/core-js-pure/stable/object/get-own-property-symbols.js","../node_modules/core-js-pure/es/object/get-own-property-symbols.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/filter.js","../node_modules/core-js-pure/features/instance/filter.js","../node_modules/core-js-pure/full/instance/filter.js","../node_modules/core-js-pure/actual/instance/filter.js","../node_modules/core-js-pure/es/instance/filter.js","../node_modules/core-js-pure/es/array/virtual/filter.js","../node_modules/core-js-pure/modules/es.array.filter.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js","../node_modules/core-js-pure/features/object/get-own-property-descriptor.js","../node_modules/core-js-pure/full/object/get-own-property-descriptor.js","../node_modules/core-js-pure/actual/object/get-own-property-descriptor.js","../node_modules/core-js-pure/es/object/get-own-property-descriptor.js","../node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","../node_modules/core-js-pure/features/instance/for-each.js","../node_modules/core-js-pure/full/instance/for-each.js","../node_modules/core-js-pure/actual/instance/for-each.js","../node_modules/core-js-pure/stable/array/virtual/for-each.js","../node_modules/core-js-pure/es/array/virtual/for-each.js","../node_modules/core-js-pure/modules/es.array.for-each.js","../node_modules/core-js-pure/internals/array-for-each.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptors.js","../node_modules/core-js-pure/features/object/get-own-property-descriptors.js","../node_modules/core-js-pure/full/object/get-own-property-descriptors.js","../node_modules/core-js-pure/actual/object/get-own-property-descriptors.js","../node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","../node_modules/core-js-pure/es/object/get-own-property-descriptors.js","../node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/define-properties.js","../node_modules/core-js-pure/features/object/define-properties.js","../node_modules/core-js-pure/full/object/define-properties.js","../node_modules/core-js-pure/actual/object/define-properties.js","../node_modules/core-js-pure/stable/object/define-properties.js","../node_modules/core-js-pure/es/object/define-properties.js","../node_modules/core-js-pure/modules/es.object.define-properties.js","../node_modules/core-js-pure/features/object/define-property.js","../node_modules/core-js-pure/full/object/define-property.js","../node_modules/core-js-pure/actual/object/define-property.js","../node_modules/core-js-pure/es/object/define-property.js","../node_modules/core-js-pure/modules/es.object.define-property.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/toPropertyKey.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js","../node_modules/core-js-pure/full/symbol/iterator.js","../node_modules/core-js-pure/actual/symbol/iterator.js","../node_modules/core-js-pure/stable/symbol/iterator.js","../node_modules/core-js-pure/es/symbol/iterator.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/toPrimitive.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/symbol/to-primitive.js","../node_modules/core-js-pure/features/symbol/to-primitive.js","../node_modules/core-js-pure/full/symbol/to-primitive.js","../node_modules/core-js-pure/actual/symbol/to-primitive.js","../node_modules/core-js-pure/stable/symbol/to-primitive.js","../node_modules/core-js-pure/es/symbol/to-primitive.js","../node_modules/core-js-pure/stable/parse-float.js","../node_modules/core-js-pure/es/parse-float.js","../node_modules/core-js-pure/modules/es.parse-float.js","../node_modules/core-js-pure/internals/number-parse-float.js","../node_modules/core-js-pure/internals/string-trim.js","../node_modules/core-js-pure/stable/object/from-entries.js","../node_modules/core-js-pure/es/object/from-entries.js","../node_modules/core-js-pure/modules/es.object.from-entries.js","../node_modules/core-js-pure/stable/object/entries.js","../node_modules/core-js-pure/es/object/entries.js","../node_modules/core-js-pure/modules/es.object.entries.js","../node_modules/core-js-pure/internals/object-to-array.js","../node_modules/core-js-pure/stable/set-timeout.js","../node_modules/core-js-pure/modules/web.timers.js","../node_modules/core-js-pure/modules/web.set-interval.js","../node_modules/core-js-pure/modules/web.set-timeout.js","../node_modules/core-js-pure/stable/instance/reduce.js","../node_modules/core-js-pure/es/instance/reduce.js","../node_modules/core-js-pure/es/array/virtual/reduce.js","../node_modules/core-js-pure/modules/es.array.reduce.js","../node_modules/core-js-pure/internals/array-reduce.js","../node_modules/core-js-pure/stable/math/sign.js","../node_modules/core-js-pure/es/math/sign.js","../node_modules/core-js-pure/modules/es.math.sign.js","../node_modules/core-js-pure/internals/math-sign.js","../node_modules/core-js-pure/stable/date/now.js","../node_modules/core-js-pure/es/date/now.js","../node_modules/core-js-pure/modules/es.date.now.js","../node_modules/core-js-pure/es/instance/index-of.js","../node_modules/core-js-pure/es/array/virtual/index-of.js","../node_modules/core-js-pure/modules/es.array.index-of.js","../node_modules/core-js-pure/es/instance/splice.js","../node_modules/core-js-pure/es/array/virtual/splice.js","../node_modules/core-js-pure/modules/es.array.splice.js","../node_modules/core-js-pure/internals/array-set-length.js","../node_modules/core-js-pure/internals/delete-property-or-throw.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/create.js","../node_modules/core-js-pure/features/object/create.js","../node_modules/core-js-pure/full/object/create.js","../node_modules/core-js-pure/actual/object/create.js","../node_modules/core-js-pure/stable/object/create.js","../node_modules/core-js-pure/es/object/create.js","../node_modules/core-js-pure/modules/es.object.create.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js","../node_modules/core-js-pure/features/object/get-prototype-of.js","../node_modules/core-js-pure/full/object/get-prototype-of.js","../node_modules/core-js-pure/actual/object/get-prototype-of.js","../node_modules/core-js-pure/es/object/get-prototype-of.js","../node_modules/core-js-pure/modules/es.object.get-prototype-of.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js","../node_modules/core-js-pure/features/object/set-prototype-of.js","../node_modules/core-js-pure/full/object/set-prototype-of.js","../node_modules/core-js-pure/actual/object/set-prototype-of.js","../node_modules/core-js-pure/stable/object/set-prototype-of.js","../node_modules/core-js-pure/es/object/set-prototype-of.js","../node_modules/core-js-pure/modules/es.object.set-prototype-of.js","../node_modules/core-js-pure/features/promise/index.js","../node_modules/core-js-pure/full/promise/index.js","../node_modules/core-js-pure/actual/promise/index.js","../node_modules/core-js-pure/modules/esnext.aggregate-error.js","../node_modules/core-js-pure/modules/esnext.promise.all-settled.js","../node_modules/core-js-pure/modules/esnext.promise.try.js","../node_modules/core-js-pure/modules/esnext.promise.any.js","../node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/reverse.js","../node_modules/core-js-pure/features/instance/reverse.js","../node_modules/core-js-pure/full/instance/reverse.js","../node_modules/core-js-pure/actual/instance/reverse.js","../node_modules/core-js-pure/stable/instance/reverse.js","../node_modules/core-js-pure/es/instance/reverse.js","../node_modules/core-js-pure/es/array/virtual/reverse.js","../node_modules/core-js-pure/modules/es.array.reverse.js","../component:/src/Activity/CarouselFilmStrip.js","../component:/src/Activity/CarouselFilmStripAttachment.js","../component:/src/Middleware/ActivityStatus/createSendStatusMiddleware.tsx","../component:/src/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js","../component:/src/Utils/InlineMarkdown.js","../component:/src/Utils/createCustomEvent.js","../component:/src/hooks/internal/useInternalMarkdownIt.js","../component:/src/Middleware/ActivityStatus/createTimestampMiddleware.tsx","../component:/src/Middleware/ActivityStatus/RelativeTime.js","../component:/src/hooks/internal/useForceRenderAtInterval.ts","../component:/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx","../component:/src/Middleware/AttachmentForScreenReader/AudioAttachment.js","../component:/src/Middleware/AttachmentForScreenReader/FileAttachment.js","../component:/src/Middleware/AttachmentForScreenReader/ImageAttachment.js","../component:/src/Middleware/AttachmentForScreenReader/TextAttachment.js","../component:/src/Middleware/AttachmentForScreenReader/VideoAttachment.js","../component:/src/Attachment/AudioAttachment.js","../component:/src/Attachment/FileAttachment.js","../component:/src/Attachment/Assets/DownloadIcon.js","../component:/src/Utils/readDataURIToBlob.js","../component:/src/Attachment/TextAttachment.js","../component:/src/Attachment/VideoAttachment.js","../component:/src/Avatar/ImageAvatar.js","../component:/src/Avatar/InitialsAvatar.js","../component:/src/Middleware/CardAction/createCoreMiddleware.js","../component:/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts","../component:/src/Middleware/ScrollToEndButton/ScrollToEndButton.js","../component:/src/Middleware/Toast/createCoreMiddleware.tsx","../component:/src/Toast/createToastMiddleware.tsx","../component:/src/BasicToast.js","../component:/src/Toast/DismissIcon.js","../component:/src/Toast/CheckMarkIcon.js","../component:/src/Toast/ExclamationMarkIcon.js","../component:/src/hooks/internal/useInternalRenderMarkdownInline.js","../component:/src/Middleware/TypingIndicator/createCoreMiddleware.tsx","../component:/src/Dictation.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","../node_modules/react-dictate-button/node_modules/core-js-pure/features/array/is-array.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/array/is-array.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/array/is-array.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.array.is-array.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-primitive.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/engine-user-agent.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/ordinary-to-primitive.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/set-global.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-forced.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js/symbol.js","../node_modules/react-dictate-button/node_modules/core-js-pure/features/symbol/index.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/symbol/index.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/symbol/index.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.array.concat.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/to-length.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-species-constructor.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-define-properties.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-includes.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/html.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-get-own-property-names-external.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-to-string.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/native-weak-map.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.async-iterator.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.has-instance.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.iterator.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.match.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.match-all.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.replace.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.search.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.species.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.split.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.to-primitive.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.symbol.unscopables.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.json.to-string-tag.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/add-to-unscopables.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/function-name.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/create-iterator-constructor.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/correct-prototype-getter.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-set-prototype-of.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/a-possible-prototype.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/dom-iterables.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/esnext.symbol.dispose.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/esnext.symbol.matcher.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/esnext.symbol.metadata.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/esnext.symbol.observable.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","../node_modules/react-dictate-button/node_modules/core-js-pure/features/get-iterator-method.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/get-iterator-method.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/get-iterator-method.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/string-multibyte.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","../node_modules/react-dictate-button/node_modules/core-js-pure/features/instance/slice.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/instance/slice.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/instance/slice.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/array/virtual/slice.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.array.slice.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/core-js/array/from.js","../node_modules/react-dictate-button/node_modules/core-js-pure/features/array/from.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/array/from.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/array/from.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.array.from.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-from.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/iterator-close.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/is-array-iterator-method.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/get-iterator.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","../node_modules/react-dictate-button/node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/instance/for-each.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/array/virtual/for-each.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/array/virtual/for-each.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.array.for-each.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-for-each.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/array-method-is-strict.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/instance/map.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/instance/map.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/array/virtual/map.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.array.map.js","../node_modules/react-dictate-button/node_modules/core-js-pure/stable/object/entries.js","../node_modules/react-dictate-button/node_modules/core-js-pure/es/object/entries.js","../node_modules/react-dictate-button/node_modules/core-js-pure/modules/es.object.entries.js","../node_modules/react-dictate-button/node_modules/core-js-pure/internals/object-to-array.js","../component:/src/hooks/internal/useResumeAudioContext.ts","../component:/src/hooks/internal/useSetDictateState.js","../component:/src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingBrowser.js","../component:/src/Utils/downscaleImageToDataURL/blobToArrayBuffer.js","../component:/src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.worker.js","../component:/src/Utils/mapMap.js","../component:/src/providers/internal/SendBox/SendBoxComposer.tsx","../node_modules/use-ref-from/node_modules/core-js-pure/stable/object/define-property.js","../node_modules/use-ref-from/node_modules/core-js-pure/es/object/define-property.js","../node_modules/use-ref-from/node_modules/core-js-pure/modules/es.object.define-property.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/function-apply.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-property-is-enumerable.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/indexed-object.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/to-primitive.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-is-prototype-of.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/engine-v8-version.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/engine-user-agent.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/get-method.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/try-to-string.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/ordinary-to-primitive.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/well-known-symbol.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/is-pure.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/shared-store.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/define-global-property.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/to-object.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/is-forced.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/function-bind-context.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../src/useRefFrom.ts","../node_modules/use-ref-from/node_modules/@babel/runtime-corejs3/core-js-stable/object/create.js","../node_modules/use-ref-from/node_modules/core-js-pure/stable/object/create.js","../node_modules/use-ref-from/node_modules/core-js-pure/es/object/create.js","../node_modules/use-ref-from/node_modules/core-js-pure/modules/es.object.create.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-create.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-define-properties.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-keys.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/object-keys-internal.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/array-includes.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/to-absolute-index.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/math-trunc.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/length-of-array-like.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/to-length.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/html.js","../node_modules/use-ref-from/node_modules/core-js-pure/internals/shared-key.js","../component:/src/hooks/internal/UITracker.js","../node_modules/svg-inline-react/node_modules/prop-types/index.js","../node_modules/svg-inline-react/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/svg-inline-react/node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/svg-inline-react/lib/util.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/botframework-directlinejs/node_modules/reconnecting-websocket/dist/reconnecting-websocket-mjs.js","../../../src/util/toSubscriber.ts","../../../src/scheduler/QueueAction.ts","../../../src/scheduler/Action.ts","../../../src/scheduler/QueueScheduler.ts","../../src/Scheduler.ts","../../../src/shared/service-proxies/service-proxies.ts","../node_modules/@babel/runtime/helpers/isNativeFunction.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../../../src/operator/catch.ts","../../src/InnerSubscriber.ts","../../../src/operator/combineLatest.ts","../../../src/operator/count.ts","../../../src/operator/delay.ts","../../../src/operator/do.ts","../../../src/operator/filter.ts","../../../src/operator/map.ts","../../../src/operator/merge.ts","../../../src/operator/mergeMap.ts","../../../src/operator/retryWhen.ts","../../../src/operator/share.ts","../../../src/operator/take.ts","../../../src/observable/TimerObservable.ts","../../../src/operator/throttleTime.ts","../../../src/operator/bufferTime.ts","../../../src/operator/buffer.ts","../../../src/operator/debounceTime.ts","../../../src/operator/distinctUntilChanged.ts","../../../src/observable/dom/ajax.ts","../../../src/observable/empty.ts","../../../src/observable/IteratorObservable.ts","../../../src/observable/ArrayLikeObservable.ts","../../../src/observable/interval.ts","../../../src/observable/IntervalObservable.ts","../../../src/observable/throw.ts","../../../src/observable/ErrorObservable.ts","../node_modules/@druidsoft/botframework-directlinejs/node_modules/reconnecting-websocket/dist/reconnecting-websocket-mjs.js","../node_modules/mobile-detect/mobile-detect.js","../node_modules/webpack/buildin/amd-define.js","../node_modules/crypto-js/enc-base64.js","../node_modules/crypto-js/md5.js","../node_modules/crypto-js/sha1.js","../node_modules/crypto-js/hmac.js","../node_modules/crypto-js/cipher-core.js","../node_modules/retry/index.js","../node_modules/retry/lib/retry.js","../node_modules/retry/lib/retry_operation.js","../node_modules/color-string/index.js","../node_modules/simple-swizzle/index.js","../node_modules/simple-swizzle/node_modules/is-arrayish/index.js","../node_modules/color/node_modules/color-convert/index.js","../node_modules/color/node_modules/color-convert/route.js","../../../src/Context.js","../../../src/useRefFrom.js","../../../src/vendorPrefix.js","../../../src/usePrevious.js","../../../src/hooks/internal/useDictateContext.js","../../../src/hooks/useReadyState.js","../../../src/hooks/useSupported.js","../../../src/DictateButton.js","../../../src/DictateCheckbox.js","../../../src/hooks/useAbortable.js","webpackPublicPath.ts","../node_modules/@loadable/component/dist/loadable.esm.js","../node_modules/re-resizable/lib/resizer.js","../node_modules/re-resizable/lib/index.js","Webchat/MinimizableWebChat.tsx","App.tsx","index.tsx","resources/audio/notificationSounds.js","../../index.js","../../src/TsLibShims.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","installedCssChunks","__webpack_require__","exports","module","l","e","promises","Promise","resolve","reject","href","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","head","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","this","oldJsonpFunction","slice","s","require","done","qEnd","safeName","patternOrChannel","channel","stringableFunc","String","func","fsmIterator","fsm","startState","stateUpdater","errorState","effect","nextState","next","arg","currentState","makeIterator","takeEvery","worker","_len","arguments","args","Array","_key","action","yTake","take","setAction","ac","q1","q2","fork","apply","concat","takeLatest","task","yFork","yCancel","cancel","setTask","q3","takeLeading","throttle","delayLength","channel$1","yDelay","delay","setChannel","ch","needsChannel","actionChannel","sliding","q4","retry","maxTries","fn","counter","yCall","q10","debounceHelper","raceOutput","yRace","race","debounce","setRaceOutput","ro","takeEvery$1","takeLatest$1","_len2","_key2","takeLeading$1","_len3","_key3","throttle$1","ms","_len4","_key4","retry$1","_len5","_key5","pattern","_len6","_key6","kTrue","v","konst","noop","identity","asyncIterator","check","predicate","assignWithSymbols","source","_extends","getOwnPropertySymbols","forEach","flatMap","mapper","arr","_ref","map","remove","array","item","index","indexOf","splice","once","called","kThrow","kReturn","thro","iterator","meta","throw","return","isSagaIterator","logError","_ref2","sagaStack","internalErr","createEmptyArray","wrapSagaDispatch","dispatch","SAGA_ACTION","shouldTerminate","res","TERMINATE","shouldCancel","TASK_CANCEL","shouldComplete","createAllStyleChildCallbacks","shape","parentCallback","keys","totalCount","completed","completedCount","results","childCallbacks","chCbAtKey","isErr","getMetaInfo","location","getLocation","instrumented","SAGA_LOCATION","zeroBuffer","isEmpty","put","ringBuffer","limit","overflowAction","pushIndex","popIndex","it","flush","items","doubledLimit","none","expanding","initialSize","buffers","freeze","__proto__","fixed","dropping","TAKE","PUT","ALL","RACE","CALL","CPS","FORK","JOIN","CANCEL","SELECT","ACTION_CHANNEL","CANCELLED","FLUSH","GET_CONTEXT","SET_CONTEXT","effectTypes","makeEffect","payload","IO","combinator","detach","eff","detached","multicastPattern","notUndef","warn","multicast","process","takeMaybe","maybe","undef","putResolve","effects","getFnCallDescriptor","fnDescriptor","context","string","cps","spawn","join","taskOrTasks","SELF_CANCELLATION","select","selector","pattern$1","buffer$1","buffer","cancelled","getContext","prop","setContext","props","delayP","f","isArray","obj","pat","symbol","every","close","sym","Boolean","constructor","MULTICAST","global","uncurryThis","isCallable","getOwnPropertyDescriptor","isForced","path","createNonEnumerableProperty","hasOwn","wrapConstructor","NativeConstructor","Wrapper","a","b","options","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","forced","dontCallGetSet","wrap","sham","real","_react","useContext","_WebChatAPIContext","default","root_1","toSubscriber_1","observable_1","pipe_1","Observable","subscribe","_isScalar","_subscribe","lift","operator","observable","observerOrNext","complete","sink","toSubscriber","add","syncErrorThrowable","_trySubscribe","syncErrorThrown","syncErrorValue","PromiseCtor","_this","root","Rx","config","subscription","unsubscribe","subscriber","pipe","operations","_i","pipeFromArray","toPromise","x","_Localize","hooks","_interopRequireWildcard","_Composer","_interopRequireDefault","_concatMiddleware","_defaultStyleOptions","_normalizeStyleOptions","strShimFunction","strShimObject","strShimUndefined","strShimPrototype","strShimHasOwnProperty","strDefault","ObjClass","ObjProto","ObjAssign","ObjCreate","ObjDefineProperty","ObjHasOwnProperty","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","createSymbol","CHANNEL_END_TYPE","MATCH","TASK","BotFrameworkDefaultStyleOptions","overridenBFStyleOptions","druidNormalizeStyleOptions","accent","paddingRegular","primaryFont","backgroundColor","botAvatarBackgroundColor","userAvatarBackgroundColor","hideSendBox","sendBoxButtonColor","sendBoxDisabledTextColor","sendBoxPlaceholderColor","sendBoxButtonColorOnDisabled","sendBoxButtonColorOnFocus","sendBoxButtonColorOnHover","sendBoxBackground","secondaryBackgroundColor","sendBoxBorderTop","sendBoxTextWrap","sendBoxMaxHeight","emojiSet","typingAnimationHeight","typingAnimationBackgroundImage","druidCreateBlobUrl","autoScrollSnapOnPage","autoScrollSnapOnActivityOffset","scrollToEndButtonBehavior","adaptiveCardsParserMaxVersion","bubbleFromUserBackground","bubbleBackground","bubbleBorderColor","messageActivityWordBreak","bubbleNubSize","bubbleNubOffset","bubbleFromUserNubSize","bubbleFromUserNubOffset","bubbleBorderRadius","bubbleFromUserBorderRadius","bubbleImageHeight","transcriptTerminatorBackgroundColor","transcriptTerminatorColor","transcriptTerminatorFontSize","transcriptVisualKeyboardIndicatorColor","transcriptVisualKeyboardIndicatorStyle","transcriptVisualKeyboardIndicatorWidth","transcriptActivityVisualKeyboardIndicatorColor","transcriptActivityVisualKeyboardIndicatorStyle","transcriptActivityVisualKeyboardIndicatorWidth","toasterSingularMaxHeight","suggestedActionsVisualKeyboardIndicatorColor","suggestedActionBorderRadius","suggestedActionBorderColor","suggestedActionTextColor","suggestedActionBackground","suggestedActionBackgroundColor","suggestedActionDisabledBackground","suggestedActionDisabledBorderColor","suggestedActionDisabledTextColor","suggestedActionLayout","timestampColor","druidDefaultStyleOptions","defaultStyleOptions","defaultAdaptiveCardHostConfig","createDefaultAdaptiveCardHostConfig","druidOverrides_adaptiveCardHostConfig","spacing","padding","actions","allowTitleToWrap","fontSizes","rootFontSize","webChatDefaultOptions","instanceID","randomHash","botConnection","userId","backgroundTrafficEnabled","authorizationBaseUrl","withCredentials","withCredentials_authorization","druidCookieConsentEnabled","conversationTokenEnabled","druidWebChatIsOpenedEnabled","conversationToken_namePrefix","druidWebChatIsOpened_namePrefix","druidCookiesExpirationInDays","notificationsEnabled","isDisabled","otherServicesEndpointIndex","_isSecondaryChannel","searchAssistEnabled","UI","isVoiceInput","containerElement","closeButtonEnabled","autoExpandEnabled","showPoweredBy","activityWrapperClassEnabled","accessibilityFeaturesEnabled","width","height","minWidth","bottom","top","chatTitle","withoutRender","restylingsEnabled","emojiPickerEnabled","botActivitiesActionsEnabled","position","showUploadButton","floatRight","resizableEnabled","draggableEnabled","buttonsPadding","buttonsBorderRadius","buttonsBorderColor","buttonsBackgroundColor","buttonsTextColor","activityStatusShowUserName","activityStatusShowBotName","v2_minimize_icon","v2_contextMenu_icon","v2_switch_icon","v2_customButton_toggled_icon","v2_customButton_off_icon","v2_containerElement_expand_icon","v2_containerElement_collapse_icon","chatBoxBorderRadius","chatBoxBorderColor","chatBoxBorderSize","headerTextColor","headerButtonColorOnFocus","headerFontSize","headerBottomBorderRadius","transcriptFontSize","transcriptLinkColor","sendBoxFontSize","lineHeight","headerOptions","showHeader","showChatTitle","showCloseButton","showChangeSideButton","showLanguageSelector","showIcon","showAvatar","showVoiceInputSelector","showReload","showReset","styleOptions","adaptiveCardsHostConfig","merge","languages","localization","druidDefaultLocalization","conversationHistoryActivities","designPatterns","nonCarousel_HeroCard_AutoWidth","nonCarousel_HeroCard_ButtonsOnly_BackgroundTransparent","Composer","defaultProps","suggestedActionsAccessKey","restylingsWebchatDefaultOptions","headerTextColorOnHover","headerBorderRadius","sendBoxHeight","sendBoxButtonShadeBorderRadius","sendBoxButtonShadeColorOnHover","sendBoxButtonAlignment","webChatFullScreenDefaultOptions","DruidCookies","suggestedActionBackgroundColorOnDisabled","suggestedActionBorderColorOnDisabled","suggestedActionTextColorOnDisabled","Math","window","self","_hasOwnProperty","has","isValidEntityCode","fromCodePoint","surrogate1","surrogate2","fromCharCode","UNESCAPE_MD_RE","UNESCAPE_ALL_RE","RegExp","DIGITAL_ENTITY_TEST_RE","entities","HTML_ESCAPE_TEST_RE","HTML_ESCAPE_REPLACE_RE","HTML_REPLACEMENTS","replaceUnsafeChar","REGEXP_ESCAPE_RE","UNICODE_PUNCT_RE","lib","mdurl","ucmicro","assign","TypeError","isString","toString","_class","unescapeMd","str","replace","unescapeAll","match","escaped","entity","charCodeAt","test","toLowerCase","parseInt","replaceEntityPattern","escapeHtml","arrayReplaceAt","pos","newElements","isSpace","isWhiteSpace","isMdAsciiPunct","isPunctChar","escapeRE","normalizeReference","trim","toUpperCase","_Object$keys","_Object$getOwnPropertySymbols","_filterInstanceProperty","_Object$getOwnPropertyDescriptor","_forEachInstanceProperty","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ownKeys","enumerableOnly","symbols","_context","_context2","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_useWebChatUIContext","styleSet","exec","NATIVE_BIND","FunctionPrototype","uncurryThisWithBind","$documentAll","documentAll","IS_HTMLDDA","argument","wrappedWellKnownSymbolModule","NAME","u","configurable","writable","filter","y","getOwnPropertyDescriptors","defineProperties","from","is","g","_regeneratorRuntime","mark","prev","h","sent","t0","t1","t2","t3","t4","t5","catch","finish","abrupt","stop","updateInAsync","t6","t7","t8","t9","t10","t11","t12","t13","reduce","includes","shared","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","isFunction_1","Subscription_1","Observer_1","rxSubscriber_1","Subscriber","_super","destinationOrNext","isStopped","destination","empty","isTrustedSubscriber","trustedSubscriber","rxSubscriber","SafeSubscriber","__extends","_next","_error","_complete","closed","_unsubscribeAndRecycle","_parent","_parents","Subscription","_parentSubscriber","isFunction","__tryOrSetError","__tryOrUnsub","wrappedComplete","parent","_unsubscribe","classNames","classes","argType","inner","fails","_effects","_regenerator","whileConnected","_yield$take","_yield$take$meta","userID","username","directLine","_connect","CONNECT_FULFILLING","_reconnect","RECONNECT_FULFILLING","_disconnect","DISCONNECT_PENDING","RECONNECT_PENDING","callBind","POST_ACTIVITY","POST_ACTIVITY_FULFILLED","POST_ACTIVITY_IMPEDED","POST_ACTIVITY_PENDING","POST_ACTIVITY_REJECTED","activity","method","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","clone","deepmerge","val","defaultArrayMerge","element","getKeys","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","_","mergeObject","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","deepmerge_1","DruidWebchatContext","createContext","displayName","ActivityClientState","DictateState","_clearSuggestedActions","_createStore","_dismissNotification","_emitTypingIndicator","_isForbiddenPropertyName","_markActivity","_postActivity","_sendEvent","_sendFiles","_sendMessage","_sendMessageBack","_sendPostBack","_setDictateInterims","_setDictateState","_setLanguage","_setNotification","_setSendBox","_setSendTimeout","_setSendTypingIndicator","_singleToArray","_startDictate","_startSpeakingActivity","_stopDictate","_stopSpeakingActivity","_submitSendBox","_warnOnce","Constants","styleToEmotionObject","toObject","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","isPrototypeOf","aFunction","variable","namespace","getCookie","Cookies","setCookie","druidWebChatState","_options","mergedChatOptions","expires","secure","DruidCookieConsent","set","DruidWebChatIsOpened","DruidConversationToken","DruidConversationLanguage","removeAllCookies","cookie","removeCookie","_reactRedux","useDispatch","createDispatchHook","useSelector","createSelectorHook","init","converter","defaultAttributes","attributes","Date","now","toUTCString","encodeURIComponent","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","write","cookies","jar","parts","foundKey","read","withAttributes","withConverter","factory","isObject","$String","$TypeError","_assertThisInitialized","ReferenceError","IndexedObject","requireObjectCoercible","$Object","mergeChatOptions","isPlainObject","visitMergedChatOptions","startsWith","tryGetValue","rootObject","propName","nextVal","determineDirection","dir","language","completeRTLList","getRTLList","getDruidRTLList","getSideRTLAware","side","AsyncAction_1","AsyncScheduler_1","async","AsyncScheduler","AsyncAction","_WebChatUIContext","toLength","tryToString","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","O","P","Attributes","current","druidLanguageComparison","firstLocale","secondLocale","toLocaleLowerCase","isNewActivity","_currentState$directl","directlineInstance","serverTimestamp","moment","timestamp","shouldEnter_sensitiveDataInputMode","inputHint","shouldEnter_fileUploadInputMode","_activity$channelData","channelData","flowStepType","AppConsts","DefaultLanguageId","getConversationHistoryActivityFrom","convHistoryAct","role","originator","getConversationHistoryActivity_isFromMe","id","abpUserName","botId","botName","helpdeskAgentName","helpdeskClientName","mapConversationHistoryActivityToActivity","isShown","text","conversationId","dateUtc","status","MessageStatus","Read","conversationHistory","removeTapFromImagesAttachmentIfEmpty","images","img","_img$tap","alt","tap","withoutTap","__window","__self","WorkerGlobalScope","_root","crypto","random","max","pow","u32","Uint32Array","getRandomValues","CONSTRUCTOR","_useWebChatAPIContext","noTargetGet","SET_SEND_BOX","ctor","prot","result","characters","charAt","floor","expandStringToLength","ret","substring","_propTypes","_useStyleToEmotionObject","ROOT_STYLE","color","overflow","whiteSpace","ScreenReaderText","forwardRef","ref","ariaHidden","rootClassName","className","propTypes","bool","isRequired","definePropertyModule","createPropertyDescriptor","aCallable","PromiseCapability","C","$$resolve","$$reject","CryptoJS","msCrypto","cryptoSecureRandomInt","randomBytes","readInt32LE","F","subtype","C_lib","Base","extend","overrides","mixIn","$super","instance","properties","propertyName","WordArray","words","sigBytes","encoder","Hex","stringify","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","j","ceil","nBytes","C_enc","enc","hexChars","bite","parse","hexStr","hexStrLength","substr","Latin1","latin1Chars","latin1Str","latin1StrLength","Utf8","utf8Str","unescape","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","doFlush","processedWords","dataWords","dataSigBytes","blockSize","nBlocksReady","nWordsReady","_minBufferSize","nBytesReady","min","offset","_doProcessBlock","C_algo","Hasher","cfg","_doReset","update","messageUpdate","finalize","_doFinalize","_createHelper","hasher","_createHmacHelper","HMAC","algo","level","_uniqueID","SET_NOTIFICATION","_setPrototypeOf","setPrototypeOf","_reconnectingWebsocket","_BehaviorSubject","_ReplaySubject","_serviceProxies","_Observable","ConnectionStatus","ServiceStatus","_moment","_applicationinsightsWeb","_tsStopwatch","intervalRefreshToken","lifetimeRefreshToken","errorExpiredToken","errorConversationEnded","errorFailedToConnect","konsole","_console","optionalParams","log","DirectLine","_classCallCheck2","_defineProperty2","BehaviorSubject","Uninitialized","count","respData","JSON","ex","messageType","routedConversationId","updateConversationStatus","activities","appInsights_DirectLineConstructorTimestamp","utc","secret","token","webSocket","WebSocket","initiatorUserId","initiatorBotId","domain","watermark","streamUrl","isBotApiEnabled","druidBotApiUrl","druidApiUrl","isOutOfBandUpload","conversationStatusInputSubject","apcUrl","apcExternalUrl","webSocketInstance","_botAgent","getBotAgent","botAgent","timerSubscription","parsedPollingInterval","pollingInterval","expiredTokenExhaustion","setConnectionStatusFallback","ExpiredToken","FailedToConnect","activity$","webSocketActivity$","pollingGetActivity$","share","markMessageStatusesFromBotEmitter","asObservable","throttleTime","distinctUntilChanged","error$","of","obs","sendMarkMessagesStatuses","markMessageStatusesFromRoot2HumanEmitter","markSenderActionsEmitter","debounceTime","retryWhen","mergeMap","sendMarkSenderActions","instrumentationKey","applicationInsightsEnabled","appInsights","ApplicationInsights","maxAjaxCallsPerView","loadAppInsights","trackPageView","backendStartTimestamp","backendEndTimestamp","webServiceStatus$","badRequests$","payLoad","timer","getValue","Online","Warning","Offline","_this2","connectionStatus$","connectionStatus","Connecting","startConversation","do","conversation","referenceGrammarId","refreshTokenLoop","Ended","connectionStatusFrom","connectionStatusTo","maxAttempts","attempts","currStatus","protectedConnectionStatus","_this3","reportBackendMetric","url","baseUrl","ajax","responseType","headers","_objectSpread2","commonHeaders","ajaxResponse","response","observer","ConversationStatus","newStatuses","messageStatuses","activityId","activitiesStatuses","_this4","tokenRefreshSubscription","interval","refreshToken","_this5","checkConnection","expiredToken","conversationStatusWebSocket","conversationStatusWebSocketSubjectSubscription","_this6","sessionId","catchExpiredToken","_this7","attachments","postMessageWithAttachments","newAppInsightsQueueItem","localTimestamp","appInsightsQueue","body","AWSConnectionConnectionToken","isFromMe","ClientToken","Content","ContentType","createXHR","xhr","XMLHttpRequest","setRequestHeader","resp","catchPostError","senderAction","_this8","nextArray","_this8$parseFilename","parseFilename","extname","nextValue","segment","filename","_filename$split$rever","reverse","_filename$split$rever2","_toArray2","formData","_this9","attachmentNames","dedupeFilenames","media","cleansedAttachments","attachment","FormData","append","Blob","contentUrl","others","_objectWithoutProperties2","contentType","operationId","foundQueueItemIdx","findIndex","fi","clientActivityId","momentUtcNow","foundQueueItem","reportFailedServerPost","diff","isFromBotOrIsFromRoot2Human","outputJson","hidden","output","MarkSenderActionInput","isFromBot","SenderAction","dateTimeUtc","SenderActionAction","_0","routedMessageId","_this10","notReadActivities","outputFromBot","MarkMessageStatusInput","outputFromRoot2Human","sendMessagesRead","lastConfirmedStatus","nra","MessageStatusInputDto","routedActivityId","sourceMessageId","correlationId","Sent","Created","isPreviousStatusSkipped","toJSON","markMessageStatusesFromBotEmitter_skippedCount","markMessageStatusesFromRoot2HumanEmitter_skippedCount","act","actId","minWatermark","_toConsumableArray2","Number","MAX_SAFE_INTEGER","conversationStatus","botAction","conversationStatus_SenderAction","conversationStatus_ActionUser","actionUser","_this11","poller$","trigger$","startTimestamp","markMessagesStatuses","pollingGetMessagesStatus","stopwatch","Stopwatch","start","Accept","getTime","activityGroup","observableFromActivityGroup","humanActivity","miliseconds","humanTimestamp","localHumanTimestamp","humanActivityId","isRootToHuman","telemetryTrace","parentID","trackMetric","average","botActivity","msServer","msLocal","botTimestamp","localBotTimestamp","botActivityId","_properties","authenticationEvent","endTimestamp","localStartTimestamp","toISOString","localEndTimestamp","_this12","isSameOrBefore","reportChatStartupMetric","deliveredTimestamp","reportServerPost","replyToId","replyToIdItemIdx","replyToIdItem","reportActivityMetric","toRemoveItems","idx","tri","nrActivity","actIndex","foundIndex","isActivityStatusUpdate","typingIsActive","userName","isHideTyping","_this13","observableWebSocket","bufferTime","buff","merged","getRetryDelay","reconnectToConversation","_this14","sub","markMessagesStatusesSub","ws","onopen","open","send","wsObservable","handleConversationStatusWebSocket","observableConversationStatusWebSocket","conversationStatusWebSocketSubject","onclose","onmessage","unparsedData","apcExternalUrl_regex","readyState","_this15","replaySubject","ReplaySubject","addEventListener","_this16","dateNow","customAgent","clientAgent","mergedOptions","mergedHeadersOptions","wsUrl","connectionToken","_this17","AWSConnectionWebSocket","respMessage","topic","respMessageContent","content","Type","ParticipantRole","postActivity","hookCallback","some","setHookCallback","callback","input","hasOwnProp","isObjectEmpty","getOwnPropertyNames","k","isUndefined","isNumber","isDate","arrLen","valueOf","createUTC","format","locale","strict","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","len","momentProperties","updateInProgress","copyConfig","to","momentPropertiesLen","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","stack","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","_calendar","zeroFill","number","targetLength","forceSign","absNumber","abs","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","ordinal","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","ss","mm","hh","dd","w","ww","M","MM","yy","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","sort","isLeapYear","year","absFloor","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","month","date","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","isPM","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","dayOfMonthOrdinalParse","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","values","getLocale","defineLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_bubble","isDuration","absRound","round","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","tmp","isAdding","invalid","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","keepOffset","toDate","inspect","prefix","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","bitmap","classof","propertyKey","DISMISS_NOTIFICATION","OuterSubscriber","notifyNext","outerValue","innerValue","outerIndex","innerIndex","innerSub","notifyError","notifyComplete","isArrayLike_1","isPromise_1","isObject_1","Observable_1","iterator_1","InnerSubscriber_1","subscribeToResult","outerSubscriber","InnerSubscriber","isArrayLike","isPromise","isArray_1","tryCatch_1","errorObject_1","UnsubscriptionError_1","_subscriptions","errors","hasErrors","tryCatch","errorObject","UnsubscriptionError","flattenUnsubscriptionErrors","teardown","EMPTY","_addParent","subscriptions","subscriptionIndex","errs","CONNECT","CONNECT_FULFILLED","CONNECT_PENDING","CONNECT_REJECTED","CONNECT_STILL_PENDING","stringSlice","propertyIsEnumerableModule","toIndexedObject","V8_VERSION","isArrayIteratorMethod","lengthOfArrayLike","getIterator","getIteratorMethod","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","condition","callFn","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","wellKnownSymbol","CORRECT_ARGUMENTS","tryGet","callee","TAG","SET_METHOD","DOMIterables","Iterators","COLLECTION_NAME","Collection","CollectionPrototype","thrownOnUndefined","contextValue","_Context","DISCONNECT","DISCONNECT_REJECTED","DISCONNECT_FULFILLED","STOP_DICTATE","_defineProperty","suggestedActions","EMPTY_ARRAY","SET_SUGGESTED_ACTIONS","getGlobal","throwTypeError","objCreateFn","tmpFunc","Subscriber_1","ObjectUnsubscribedError_1","SubjectSubscription_1","SubjectSubscriber","Subject","observers","hasError","thrownError","subject","AnonymousSubject","ObjectUnsubscribedError","copy","SubjectSubscription","isScheduler","schedule","_objectWithoutPropertiesLoose","excluded","sourceKeys","INCOMING_ACTIVITY","MARK_ACTIVITY","activityID","userAgent","Deno","versions","v8","getBuiltIn","IS_PURE","store","copyright","license","toIntegerOrInfinity","integer","activeXDocument","definePropertiesModule","enumBugKeys","hiddenKeys","html","documentCreateElement","sharedKey","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","contentWindow","NullProtoObjectViaIFrame","Properties","addToUnscopables","InternalStateModule","defineIterator","createIterResultObject","ARRAY_ITERATOR","setInternalState","getInternalState","getterFor","iterated","kind","state","Arguments","NativePromiseConstructor","inspectSource","IS_BROWSER","IS_DENO","NativePromisePrototype","SPECIES","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","REJECTION_EVENT","define","formatMessage","objectExtend","createError","partsPush","formatMessageToParts","lastOffset","nameIncludingBrackets","part","partsJoin","runtimeStringify","runtimeKey","stringHash","hash","fnName","argsStr","validate","validateParameterPresence","validateParameterType","expected","validateParameterTypeString","regexpEscape","stringPad","right","Globalize","_createError","_formatMessage","_formatMessageToParts","_partsJoin","_partsPush","_regexpEscape","_runtimeKey","_stringPad","_validateParameterPresence","_validateParameterTypeString","_validateParameterType","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","Uint8Array","end","num","METHOD_NAME","foo","_typeof","StyleSheet","_insertTag","before","tags","insertionPoint","nextSibling","prepend","container","firstChild","insertBefore","isSpeedy","speedy","ctr","nonce","_proto","hydrate","nodes","insert","rule","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","z","A","S","q","B","D","G","H","I","J","children","line","column","K","Q","R","T","U","V","X","re","Z","ee","ae","ne","ce","se","$","ue","ie","te","le","pe","identifierWithPointTracking","begin","points","previous","character","peek","getRules","dealloc","parsed","delimit","toRules","alloc","fixedElements","WeakMap","compat","isImplicitRule","rules","parentRules","removeLabel","WEBKIT","MOZ","MS","strlen","charat","indexof","defaultStylisPlugins","DECLARATION","KEYFRAMES","serialize","RULESET","combine","createCache","ssrStyles","querySelectorAll","node","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","omnipresentPlugins","currentSheet","finalizingPlugins","rulesheet","serializer","middleware","serialized","shouldCache","compile","styles","cache","registered","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","memoize","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","identifierName","hashString","getRegisteredStyles","registeredStyles","rawClassName","insertWithoutScoping","css","classnames","cls","toAdd","createEmotion","isStringTag","registerStyles","insertStyles","cx","injectGlobal","keyframes","animation","ids","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","tryCatchTarget","tryCatcher","useWebChatRefsContext","DruidWebchatRefsContext","useInitWebChatRefsContext","wcRootRef","setWcRootRef","useState","headerRef","setHeaderRef","headerWasDragged","setHeaderWasDragged","useMemo","ScalarObservable_1","EmptyObservable_1","isScheduler_1","ArrayObservable","scheduler","pop","ScalarObservable","EmptyObservable","files","SEND_FILES","Reflect","trunc","internalObjectKeys","scope","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","clearImmediate","RECONNECT","RECONNECT_FULFILLED","RECONNECT_REJECTED","dictateState","SET_DICTATE_STATE","STOP_SPEAKING_ACTIVITY","isNullOrUndefined","toPrimitive","isSymbol","$Symbol","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","aPossiblePrototype","CORRECT_SETTER","getMethod","ITERATOR","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","metadata","facade","STATE","enforce","TYPE","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","STRING_ITERATOR","point","ponyfill","_WebChatReduxContext","localizedGlobalizeState","onTelemetry","_useWebChatAPIContext2","readTelemetryDimensions","_useReadTelemetryDimensions","trackEvent","useCallback","_isObject","isNonNegativeFiniteNumberOrString","_createCustomEvent","dimensions","info","debug","eventInitDict","CustomEvent","createEvent","initEvent","entries","_botframeworkWebchatCore","isForbiddenPropertyName","createErrorUnsupportedFeature","feature","validateParameterTypeNumber","numberCompactPatternRe","numberFormatGroupingSeparator","primaryGroupingSize","secondaryGroupingSize","currentGroupingSize","sep","switchToSecondary","numberFormatIntegerFractionDigits","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","roundIncrement","exponent","numberToPrecision","precision","roundOrder","numberFormatSignificantDigits","minimumSignificantDigits","maximumSignificantDigits","atMinimum","atMaximum","numberSymbolName","removeLiteralQuotes","numberFormat","pluralGenerator","aux","compactMap","infinitySymbol","nanSymbol","nuDigitsMap","stringToParts","symbolMap","compactPattern","compactProperties","numberExponent","pluralForm","numberType","literal","digit","etc","maxExponent","_garbage","space","compact","numberFormatterFn","numberToPartsFormatter","regexpCfG","regexpDashG","regexpZsG","looseMatching","numberParse","grammar","invertedNuDigitsMap","invertedSymbolMap","negative","prefixNSuffix","tokenizer","lexeme","Infinity","tokenizeNParse","_value","statement","numberParserFn","numberToPartsFormatterFn","numberTruncate","numberRound","incrementOrExp","exp","increment","toExponential","_createErrorUnsupportedFeature","_looseMatching","_numberFormat","_numberFormatterFn","_numberParse","_numberParserFn","_numberRound","_numberToPartsFormatterFn","_removeLiteralQuotes","_validateParameterTypeNumber","numberFormatter","numberParser","formatNumber","formatNumberToParts","parseNumber","componentType","speak","speechSynthesis","speechSynthesisUtterance","otherProps","_excluded","warnings","SpeechSynthesisUtterance","_Say","_SayButton","saySpeak","_objectSpread","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","find","filterReject","parseQueryString","search","query","ensureHttpProtocol","urlString","druidCreateBlob","BASE64","URL","createObjectURL","Constructor","_defineProperties","protoProps","staticProps","MobileDetect","mobileAndTabletcheck","navigator","mobile","tablet","innerWidth","timeoutId","SUBMIT_SEND_BOX","_normalizeStyleOption","_botframeworkWebchatApi","normalizeStyleOptions","bubbleTextColor","cardEmphasisBackgroundColor","subtle","containerStyles","foregroundColors","attention","dark","good","light","warning","emphasis","supportsInteractivity","fontFamily","imageSizes","small","medium","large","actionAlignment","actionsOrientation","buttonSpacing","maxActions","showCard","actionMode","inlineTopMargin","adaptiveCard","allowCustomStyle","imageSet","imageSize","maxImageHeight","factSet","title","size","isSubtle","weight","maxWidth","textBlock","headingLevel","randomString","compose","funcs","deferred","def","queue","semaphore","suspend","release","asap","immediately","patterns","_predicate","wildcard","matcherCreator","string$1","array$1","symbol$1","END","isEnd","takers","cb","taker","eventChannel","chan","multicastChannel","currentTakers","nextTakers","ensureCanMutateNextTakers","stdChannel","RUNNING","ABORTED","DONE","resolvePromise","cancelPromise","_effectRunnerMap","nextSagaId","cancelSingleTask","taskToCancel","isRunning","effectRunnerMap","env","_ref3","_ref3$channel","takeCb","_ref11","digestEffect","effectId","_ref12","childCbs","_ref4","_ref5","proc","_ref6","cpsCb","_ref7","_ref8","taskIterator","resolved","createTaskIterator","getIteratorMetaInfo","child","addTask","isAborted","abort","_ref9","joinSingleTask","taskToJoin","joiner","joiners","CANCEL$1","_ref10","_ref13","getState","_ref14","CANCELLED$1","_ref15","isCancelled","_ref16","_ref17","formatLocation","fileName","lineNumber","sagaLocationAsString","sagaMeta","cancelledTasksAsString","cancelledTasks","crashedEffect","addSagaFrame","frame","clear","setCrashedEffect","firstSaga","otherSagas","crashedEffectLocation","effectLocationAsString","newTask","mainTask","parentContext","parentEffectId","isRoot","cont","_task","taskResult","taskError","deferredEnd","cancelledDueToErrorTasks","onAbort","tasks","cancelAll","getTasks","forkQueue","onError","iterator$1","finalRunEffect","finalizeRunEffect","currCb","effectRunner","executingContext","label","effectSettled","sagaMonitor","effectRejected","effectResolved","effectTriggered","effectCancelled","runSaga","saga","_ref$channel","_ref$context","effectMiddlewares","_ref$onError","rootSagaStarted","actionDispatched","runEffect","sagaMiddlewareFactory","_temp","boundRunSaga","sagaMiddleware","run","createSagaMiddleware__default","useMergedOptions","computedMergedChatOptions","useDruidAdaptiveCardsHostConfig","combinedSelector","combineSelectors","Component","ConnectedComponent","connect","ownProps","_objectWithoutProperties","Consumer","selectors","webSpeechPonyfill","symbolIteratorPonyfill","Set_1","Set","Map_1","Map","$$iterator","$propertyIsEnumerable","NASHORN_BUG","_classnames","_isZeroOrPositive","_useStyleSet3","useDirection","useStyleOptions","Bubble","fromUser","nub","bubbleStyleSet","_slicedToArray","_useStyleOptions2$","bubbleBorderWidth","bubbleFromUserBorderWidth","borderWidth","nubOffset","nubSize","upSideDown","halfNubSize","halfStrokeWidth","horizontalTransform","verticalTransform","viewBox","xmlns","transform","acuteNubSVG","any","oneOf","_downscaleImageToDataURLUsingBrowser","_downscaleImageToDataURLUsingWorker","_callee","blob","maxHeight","quality","checkSupport","$$rxSubscriber","getSymbolObservable","$$observable","ArrayObservable_1","mergeAll_1","observables","concurrent","POSITIVE_INFINITY","last","mergeAll","doAuthorize","authorizationUrl","authorizationDto","customAuthHeaders","url_","fetch","credentials","doHeartBeat","getSpeechToken","oldToken","encryptSensitiveData","dataToEncrypt","conversationToken","searchAssist","searchText","abpToken","languageCode","modelId","intent","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","formatProdErrorMessage","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","createStore","reducer","preloadedState","enhancer","currentReducer","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","listener","isSubscribed","listeners","replaceReducer","nextReducer","outerSubscribe","observeState","legacy_createStore","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","SAGA_ERROR","_mathRandom","FORBIDDEN_PROPERTY_NAMES","START_DICTATE","sendTypingIndicator","SET_SEND_TYPING_INDICATOR","START_SPEAKING_ACTIVITY","_pDeferEs","defineGlobalProperty","SHARED","postfix","EXISTS","objectKeys","EMIT_TYPING_INDICATOR","targetID","targetType","SEND_MESSAGE","localizedStrings","_arEG","_arJO","_arSA","_bgBG","_caES","_csCZ","_daDK","_deDE","_elGR","_enUS","_esES","_etEE","_euES","_fiFI","_frFR","_glES","_heIL","_hiIN","_hrHR","_huHU","_idID","_itIT","_jaJP","_kkKZ","_koKR","_ltLT","_lvLV","_msMY","_nbNO","_nlNL","_plPL","_ptBR","_ptPT","_roRO","_ruRU","_skSK","_slSI","_srCyrlCS","_srLatnCS","_svSE","_thTH","_trTR","_ukUA","_viVN","_yue","_zhCN","_zhHK","_zhTW","_overrides","_mergeLocalizedStrings","yue","setForceRender","_useLocalizedStrings","SPEECH_LANGUAGE","_useStyleOptions3","sendTimeout","sendTimeoutForAttachments","_activity$attachments","telemetryDimensionsRef","fatal","pluralGeneratorFn","plural","_pluralGeneratorFn","_createNativeUtterance","_migrateDeprecatedProps","_SayUtterance","Say","_migrateDeprecatedPro","onBoundary","onEnd","onStart","pitch","rate","voice","volume","_readOnlyError2","utterance","oneOfType","SayWithContext","objectWithoutPropertiesLoose","sourceSymbolKeys","_createSynthesize","_useEvent","ponyfillFromProps","parentPonyfill","parentSynthesize","synthesize","webkitSpeechSynthesis","webkitSpeechSynthesisUtterance","_useState","getVoices","_useState2","_slicedToArray2","voices","setVoices","Provider","ErrorEvent","mirrorStyle","mirrorSelector","mirrored","_Object$entries","_Object$entries$_i","patchedKey","relative","Ruler","__rules__","__cache__","__find__","__compile__","chains","enabled","altName","at","opt","beforeName","ruleName","after","afterName","enable","list","ignoreInvalid","enableOnly","disable","chainName","Token","nesting","attrs","markup","block","attrIndex","attrPush","attrData","attrSet","attrGet","attrJoin","webpackPolyfill","paths","arraySpeciesConstructor","originalArray","_Symbol","_Symbol$iterator","setGlobal","wmget","wmhas","wmset","_createClass","_react2","_util","InlineSVG","_React$Component","_classCallCheck","_possibleConstructorReturn","subClass","superClass","_inherits","NODE_ENV","Element","__html","svgProps","_props","extractSVGProps","getSVGFromSource","innerHTML","dangerouslySetInnerHTML","_getPrototypeOf","networkErrorMsgs","AbortError","super","originalError","pRetry","onFailedAttempt","retries","operation","attempt","attemptNumber","errorMessage","decorateErrorWithCounts","retriesLeft","mainError","ReactReduxContext","React","batch","getBatch","nullListeners","notify","createSubscription","parentSub","handleChangeWrapper","onStateChange","trySubscribe","addNestedSub","first","createListenerCollection","notifyNestedSubs","tryUnsubscribe","getListeners","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","previousState","Context","_excluded2","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2$getDisplayName","getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","_ref2$context","connectOptions","WrappedComponent","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","reactReduxForwardedRef","propsContext","ContextToUse","isContextConsumer","didStoreComeFromProps","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","useReducer","previousStateUpdateResult","useRef","renderedWrappedComponent","Connect","memo","forwarded","hoistStatics","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","mapDispatchToProps","_loop","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","createConnect","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","defaultMapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","defaultMergePropsFactories","_ref$selectorFactory","defaultSelectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","useReduxContext","createStoreHook","useDefaultReduxContext","useStore","useDefaultStore","refEquality","equalityFn","_useReduxContext","selectedState","contextSub","forceRender","latestSubscriptionCallbackError","latestSelector","latestSelectedState","storeState","newSelectedState","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","newBatch","_Object$create","_Object$getPrototypeOf","_Object$setPrototypeOf","_Promise","_reverseInstanceProperty","_sliceInstanceProperty","Op","desc","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","makeInvokeMethod","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","iter","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","_useWebChatUIContext2","focusSendBoxCallbacksRef","focusTranscriptCallbacksRef","where","noKeyboard","encode","decode","Subject_1","queue_1","observeOn_1","bufferSize","windowTime","_events","_bufferSize","_windowTime","_getNow","ReplayEvent","_trimBufferThenGetEvents","ObserveOnSubscriber","eventsCount","spliceCount","_inheritsLoose","useDeterminedDirection","propsDir","work","pending","recycleAsyncId","requestAsyncId","execute","_execute","errored","errorValue","Action","scheduled","Scheduler","Notification","hasValue","observe","accept","nextOrObserver","toObservable","createNext","undefinedValueNotification","createComplete","completeNotification","project","thisArg","MapOperator","MapSubscriber","subscribeToResult_1","OuterSubscriber_1","resultSelector","MergeMapOperator","MergeMapSubscriber","hasCompleted","_tryNext","_innerSub","ish","_notifyResultSelector","isNumeric","_useActiveTyping","_useActivities","_useActivityKeys","_useActivityKeysByRead","_useAvatarForBot","_useAvatarForUser","_useByteFormatter","_useConnectivityStatus","_useCreateActivityRenderer","_useCreateActivityStatusRenderer","_useCreateAttachmentForScreenReaderRenderer","_useCreateAvatarRenderer","_useCreateScrollToEndButtonRenderer","_useDateFormatter","_useDebouncedNotifications","_useDictateInterims","_useDictateState","_useDirection","_useDisabled","_useDismissNotification","_useEmitTypingIndicator","_useGetActivityByKey","_useGetHasAcknowledgedByActivityKey","_useGetKeyByActivity","_useGetKeyByActivityId","_useGetSendTimeoutForActivity","_useGrammars","_useGroupActivities","_useGroupTimestamp","_useLanguage","_useLastAcknowledgedActivityKey","_useLastReadActivityKey","_useLocalizer","_useMarkActivityAsSpoken","_useMarkActivityKeyAsRead","_useMarkAllAsAcknowledged","_usePerformCardAction","_usePonyfill","_usePostActivity","_useReferenceGrammarID","_useRelativeTimeFormatter","_useRenderActivity","_useRenderActivityStatus","_useRenderAttachment","_useRenderAvatar","_useRenderToast","_useRenderTypingIndicator","_useSendBoxValue","_useSendEvent","_useSendFiles","_useSendMessage","_useSendMessageBack","_useSendPostBack","_useSendStatusByActivityKey","_useSendTimeoutForActivity","_useSendTypingIndicator","_useSetNotification","_useShouldSpeakIncomingActivity","_useStartDictate","_useStopDictate","_useStyleOptions","_useSubmitSendBox","_useSuggestedActions","_useTimeoutForSend","_useTrackDimension","_useTrackEvent","_useTrackException","_useTrackTiming","_useUserID","_useUsername","_useVoiceSelector","Notification_1","observeOn","ObserveOnOperator","notification","scheduleMessage","ObserveOnMessage","defaultThrottleConfig","leading","trailing","durationSelector","ThrottleOperator","ThrottleSubscriber","_leading","_trailing","_hasTrailingValue","throttled","_trailingValue","tryDurationSelector","_sendTrailing","ajax_1","useAutoExpand","_druidWebChatState$me2","druidWebChatDispatch","_druidWebChatState$me","initialized","loaded","CLEAR_SUGGESTED_ACTIONS","SET_LANGUAGE","_reactSay","_createInstance","_createStyleSet","_markdownIt","_BypassSpeechSynthesisPonyfill","_ActivityTreeComposer","_addTargetBlankToHyperlinksMarkdown","_createCSSKey","_createCoreMiddleware","_createCoreMiddleware2","_createCoreMiddleware3","_createCoreMiddleware4","_createCoreMiddleware5","_createCoreMiddleware6","_createScrollToEndButtonMiddleware","_createCoreMiddleware7","_createCoreMiddleware8","_Dictation","_downscaleImageToDataURL","_mapMap","_SendBoxComposer","_UITracker","useGetActivityByKey","useReferenceGrammarID","emotionPool","ComposerCore","extraStyleSet","renderMarkdown","webSpeechPonyfillFactory","dictateAbortable","setDictateAbortable","referenceGrammarID","internalMarkdownIt","scrollToCallbacksRef","scrollToEndCallbacksRef","scrollRelativeCallbacksRef","dictationOnError","internalRenderMarkdownInline","markdown","tree","parseInline","patchedTree","renderer","emotion","patchedStyleSet","styleSetToEmotionObjects","scrollPositionObserversRef","dispatchScrollPosition","observeScrollPosition","_toConsumableArray","transcriptFocusObserversRef","_useState4","numTranscriptFocusObservers","setNumTranscriptFocusObservers","getActivityByKey","dispatchTranscriptFocusByActivityKey","prevActivityKey","activityKey","observeTranscriptFocus","internalMarkdownItState","activityMiddleware","activityStatusMiddleware","attachmentForScreenReaderMiddleware","attachmentMiddleware","avatarMiddleware","cardActionMiddleware","scrollToEndButtonMiddleware","toastMiddleware","typingIndicatorMiddleware","composerProps","patchedActivityMiddleware","singleToArray","patchedActivityStatusMiddleware","patchedAttachmentForScreenReaderMiddleware","patchedAttachmentMiddleware","patchedAvatarMiddleware","patchedCardActionMiddleware","patchedToastMiddleware","patchedTypingIndicatorMiddleware","defaultScrollToEndButtonMiddleware","patchedScrollToEndButtonMiddleware","Fragment","downscaleImageToDataURL","internalErrorBoxClass","safeIsNaN","areInputsEqual","newInputs","lastInputs","memoizeOne","resultFn","isEqual","memoized","newArgs","lastThis","lastArgs","lastResult","textFormat","maxLength","useContainerElementToggle","_initialOptions$UI3","initialOptions","openWebchatAction","minimized","_initialOptions$UI","_initialOptions$UI$co","_initialOptions$UI2","_initialOptions$UI2$c","removeEventListener","catch_1","_catch","combineLatest_1","combineLatest","count_1","delay_1","do_1","_do","filter_1","map_1","merge_1","mergeMap_1","retryWhen_1","share_1","refCount","RefCountOperator","connectable","_refCount","refCounter","RefCountSubscriber","connection","sharedConnection","_connection","take_1","timer_1","throttleTime_1","bufferTime_1","buffer_1","debounceTime_1","distinctUntilChanged_1","empty_1","from_1","interval_1","of_1","throw_1","_throw","useLoadConfiguration","loadConfigurationResult","_loadConfigurationJSON","loadConfigurationCallResult","_loadConfigurationCal","json","DruidWebchat_v2","destroy","unstable_batchedUpdates","_nonDefaults_mergedCh","_nonDefaults_mergedCh2","_mergedChatOptions$UI","_mergedChatOptions$UI2","_mergedChatOptions$UI4","_mergedChatOptions$UI5","_mergedChatOptions$UI6","babelTransform_WebChatEventHandlers","nonDefaults_mergedChatOptions","customMergeWebChatEventHandlers","createMergedChatOptionsDefaults","mergedDefaultOptions","defaultOptions","isWidget","fullScreenMode","_mergedChatOptions$UI3","_mergedChatOptions$st","_mergedChatOptions$UI7","wideOptions","hideUploadButton","sendBoxButtonShadeColor","Color","alpha","mid","handlerName","handler","withDecorate","selectedLocaleByOptions","lg","isSelected","isDefault","selectedLanguage","setLoadedValue","webChatEventHandler","babel","babelEval","eval","presets","_mergedChatOptions$st2","_mergedChatOptions$st3","_mergedChatOptions$ad","paddingRegularDivided","simpleUpdateIn","_mergedChatOptions$UI8","spacingConfig","_mergedChatOptions$st4","makeThumbnail","file","createFormDataFunc","createDirectLineOverwrite","createFormData","useCreateDirectLine","ensureDirectLineProps","directlineOptions","dlOptions","_connection$initiator","_connection$initiator2","objectTypes","freeExports","freeModule","nodeType","freeGlobal","maxSafeInteger","reOpera","objectProto","capitalize","forOwn","getClassOf","qualify","accumulator","each","platform","ua","isCustomContext","nav","isSpecialCasedOS","likeChrome","objectClass","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","beta","doc","opera","operamini","operaClass","arch","prerelease","useFeatures","layout","guess","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","unshift","isHostType","System","getProperty","system","browser","electron","nw","flash","Capabilities","phantom","major","minor","patch","documentMode","appMinorVersion","external","family","architecture","cpuClass","Prototype","strFunction","DynInstFuncTable","DynProxyTag","DynClassName","DynInstChkTag","DynAllowInstChkTag","DynProtoDefaultOptions","UnknownValue","str__Proto","strUseBaseInst","strSetInstFuncs","Obj","_objGetPrototypeOf","_dynamicNames","_isObjectOrArrayPrototype","_isObjectArrayOrFunctionPrototype","_getObjProto","newProto","_forEachProp","getOwnProps","name_1","lp","_isDynamicCandidate","funcName","skipOwn","_throwTypeError","_hasVisited","_populatePrototype","baseInstFuncs","setInstanceFunc","_createDynamicPrototype","dynProtoProxy","instFunc","currentDynProtoProxy","instFuncTable","canAddInst","objProto","visited","protoFunc","_getInstFunc","_getProtoFunc","instFuncs_1","_getObjName","unknownValue","dynamicProto","theClass","delegateFunc","classProto","thisTarget","thisProto","_checkPrototype","perfOptions","useBaseInst","instFuncs","_getInstanceFuncs","baseFuncs","_instFuncProxy","funcHost","theFunc","baseProto","_getBaseFuncs","setInstFuncs","LoggingSeverity","_InternalMessageId","BrowserDoesNotSupportLocalStorage","BrowserCannotReadLocalStorage","BrowserCannotReadSessionStorage","BrowserCannotWriteLocalStorage","BrowserCannotWriteSessionStorage","BrowserFailedRemovalFromLocalStorage","BrowserFailedRemovalFromSessionStorage","CannotSendEmptyTelemetry","ClientPerformanceMathError","ErrorParsingAISessionCookie","ErrorPVCalc","ExceptionWhileLoggingError","FailedAddingTelemetryToBuffer","FailedMonitorAjaxAbort","FailedMonitorAjaxDur","FailedMonitorAjaxOpen","FailedMonitorAjaxRSC","FailedMonitorAjaxSend","FailedMonitorAjaxGetCorrelationHeader","FailedToAddHandlerForOnBeforeUnload","FailedToSendQueuedTelemetry","FailedToReportDataLoss","FlushFailed","MessageLimitPerPVExceeded","MissingRequiredFieldSpecification","NavigationTimingNotSupported","OnError","SessionRenewalDateIsZero","SenderNotInitialized","StartTrackEventFailed","StopTrackEventFailed","StartTrackFailed","StopTrackFailed","TelemetrySampledAndNotSent","TrackEventFailed","TrackExceptionFailed","TrackMetricFailed","TrackPVFailed","TrackPVFailedCalc","TrackTraceFailed","TransmissionFailed","FailedToSetStorageBuffer","FailedToRestoreStorageBuffer","InvalidBackendResponse","FailedToFixDepricatedValues","InvalidDurationValue","TelemetryEnvelopeInvalid","CreateEnvelopeError","CannotSerializeObject","CannotSerializeObjectNonSerializable","CircularReferenceDetected","ClearAuthContextFailed","ExceptionTruncated","IllegalCharsInName","ItemNotInArray","MaxAjaxPerPVExceeded","MessageTruncated","NameTooLong","SampleRateOutOfRange","SetAuthContextFailed","SetAuthContextFailedAccountName","StringValueTooLong","StartCalledMoreThanOnce","StopCalledWithoutStart","TelemetryInitializerFailed","TrackArgumentsNotSpecified","UrlTooLong","SessionStorageBufferFull","CannotAccessCookie","IdTooLong","InvalidEvent","FailedMonitorAjaxSetRequestHeader","SendBrowserInfoOnUserInit","PluginException","NotificationException","SnippetScriptLoadFailure","InvalidInstrumentationKey","CannotParseAiBlobValue","InvalidContentBlob","TrackPageActionEventFailed","FailedAddingCustomDefinedRequestContext","InMemoryStorageBufferFull","strOnPrefix","strAttachEvent","strAddEventHelper","_objDefineProperty","objToString","isNotNullOrUndefined","attachEvent","eventNameWithoutOn","handlerRef","useCapture","objForEachKey","strContains","isError","isBoolean","pad","getUTCHours","getUTCSeconds","getUTCMilliseconds","arrForEach","arrIndexOf","searchElement","fromIndex","arrMap","arrReduce","initialValue","strTrim","_objKeysHasDontEnumBug","_objKeysDontEnums","objKeys","objType","dontEnumsLength","objDefineAccessors","getProp","setProp","dt","getExceptionName","setValue","valChk","srcChk","theValue","getSetValue","defValue","isNotTruthy","isTruthy","throwError","proxyAssign","chkSet","_loop_1","originalArguments","optimizeObject","theObject","strWindow","strDocument","strNavigator","strLocation","strConsole","strPerformance","strJSON","strCrypto","strMsCrypto","strMsie","strTrident","_isTrident","_navUserAgentCheck","_enableMocks","_useXDomainRequest","_beaconsSupported","_hasProperty","supported","getGlobalInst","gbl","hasWindow","getWindow","hasDocument","getDocument","hasNavigator","getNavigator","getHistory","history","checkForMock","mockLocation","getPerformance","hasJSON","getJSON","isIE","getIEVersion","userAgentStr","navigator_1","tridentVer","dumpObj","objectTypeDump","propertyValueDump","isBeaconsSupported","sendBeacon","isFetchSupported","withKeepAlive","isSupported","useXDomainRequest","XDomainRequest","isXhrSupported","_sanitizeDiagnosticText","_logToConsole","theConsole","logFunc","_InternalLogMessage","msgId","isUserAct","_self","messageId","strProps","diagnosticText","dataType","safeGetLogger","core","logger","DiagnosticLogger","identifier","_messageCount","_messageLogged","_getConfigValue","consoleLoggingLevel","telemetryLoggingLevel","maxInternalMessageLimit","enableDebugExceptions","throwInternal","severity","CRITICAL","logLevel","messageKey","logInternalMessage","warnToConsole","errorToConsole","resetInternalMessageCount","logMessage","throttleLimitMessage","throttleMessage","strExecutionContextKey","_defaultPerfManager","PerfEvent","payloadDetails","isAsync","theDetails_1","accessorDefined","isChildEvt","getCtx","ParentContextKey","ChildrenContextKey","setCtx","childTime","childEvts","childEvt","exTime","PerfManager","manager","ctx","fire","perfEvent","doPerfActiveKey","doPerf","mgrSource","getSource","details","perfMgr","perfEvt","currentActive","TelemetryPluginChain","plugin","defItemCtx","_nextProxy","_hasProcessTelemetry","processTelemetry","_hasSetNext","setNextPlugin","_hasRun","getPlugin","getNext","setNext","nextPlugin","itemCtx","hasRun","diagLog","sync","_createProxyChain","plugins","proxies","lastProxy","thePlugin","newProxy","ProcessTelemetryContext","startAt","_copyProxyChain","srcPlugins","_copyPluginChain","getCfg","getExtCfg","defaultValue","theConfig","extConfig","extensionConfig","getConfig","hasNext","processNext","createNew","strExtensionConfig","strGetPlugin","BaseTelemetryPlugin","_isinitialized","_rootCtx","_nextPlugin","_getTelCtx","isInitialized","setInitialized","currentCtx","rootCtx","_baseTelInit","extensions","pluginChain","getProcessTelContext","initialize","initializePlugins","processContext","initPlugins","lastPlugin","sortPlugins","extA","extB","bHasProcess","ChannelControllerPriority","ChannelController","_channelQueue","_addChannelQueue","queueItem","_checkQueuePriority","_base","queues","getChannelControls","channels","extensionQueue_1","_createChannelQueues","_staticInit","strToGMTString","strToUTCString","strCookie","strExpires","strEnabled","strIsCookieUseDisabled","strDisableCookiesUsage","strConfigCookieMgr","strEmpty","_supportsCookies","_allowUaSameSite","_parsedCookieValue","_doc","_cookieCache","_globalCookieConfig","_gblCookieMgr","inst","createCookieMgr","_isMgrEnabled","cookieMgr","isEnabled","safeGetCookieMgr","getCookieMgr","cookieCfg","rootConfig","cookieMgrConfig","cookieMgrCfg","cookieDomain","cookiePath","cookieEnabled","_createCookieMgrConfig","_path","_domain","_enabled","areCookiesSupported","gblManager","setEnabled","maxAgeSec","_extractParts","_isIE","expireMs","expiry","_formatDate","location_1","protocol","uaDisallowsSameSiteNone","_setCookieValue","_formatCookieValue","_getCookieValue","del","purge","delCookie","WARNING","thePart","theDate","cookieValue","theCookie","searchLen","valLen","strEndsWith","strNotificationManager","_createPerfManager","notificationMgr","BaseCore","_eventQueue","_channelController","_notificationManager","_perfManager","_cookieManager","_isInitialized","_extensions","loggingLevelConsole","notificationManager","enablePerfMgr","NotificationManager","allExtensions","__spreadArray","coreExtensions","channelExtensions","extPriorities","ext","extPriority","getTransmissionControls","releaseQueue","track","telemetryItem","thePlugins","getNotifyMgr","addNotificationListener","removeNotificationListener","eventsSent","events","eventsDiscarded","reason","eventsSendRequest","sendReason","setCookieMgr","getPerfMgr","createPerfMgr","setPerfMgr","eventCnt","EventsDiscardedReason","perfEvtsSendAll","AppInsightsCore","_internalLogPoller","_notifyInvalidEvent","_validateTelemetryItem","pollInternalLogs","eventName","diagnosticLogInterval","stopPollingInternalLogs","iKey","baseType","baseData","UInt32Mask","MaxUInt32","_mwcSeeded","_mwcW","_mwcZ","_mwcSeed","seedValue","_autoSeedMwc","randomValue","maxValue","random32","signed","mwcRandom32","_canUseCookies","strVisibilityChangeEvt","strPageHide","_cookieMgrs","addEventHandler","addEventListeners","excludeEvents","added","excluded_1","addPageUnloadEventListener","addPageHideEventListener","pageUnloadAdded","evt","visibilityState","newId","chars","generateW3CId","hexValues","oct","clockSequenceHi","CoreUtils","isTypeof","theType","objCreate","disableCookies","newGuid","GuidRegex","perfNow","perf","mwcRandomSeed","_legacyCookieMgr","legacyCanUseCookies","mgr","PropertiesPluginIdentifier","BreezeChannelIdentifier","AnalyticsPluginIdentifier","dataSanitizeKeyAndAddUniqueness","origLength","dataSanitizeKey","uniqueField","dsPadNumber","nameTrunc","dataSanitizeString","valueTrunc","dataSanitizeUrl","dataSanitizeInput","dataSanitizeMessage","messageTrunc","dataSanitizeException","exceptionTrunc","dataSanitizeProperties","tempProps_1","dataSanitizeMeasurements","measurements","tempMeasurements_1","measure","dataSanitizeId","_msgId","inputTrunc","DataPointType","DataSanitizer","MAX_NAME_LENGTH","MAX_ID_LENGTH","MAX_PROPERTY_LENGTH","MAX_STRING_LENGTH","MAX_URL_LENGTH","MAX_MESSAGE_LENGTH","MAX_EXCEPTION_LENGTH","sanitizeKeyAndAddUniqueness","sanitizeKey","sanitizeString","sanitizeUrl","sanitizeMessage","sanitizeException","sanitizeProperties","sanitizeMeasurements","sanitizeId","sanitizeInput","padNumber","DisabledPropertyName","SampleRate","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","strNotSpecified","strIkey","TelemetryItemCreator","envelopeName","customProperties","systemProperties","EventData","ver","Event","aiDataContract","envelopeType","Trace","severityLevel","MetricData","metrics","DataPoint","stdDev","Measurement","Metric","dataPoint","PageViewData","stringToBoolOrDefault","msToTimeSpan","totalms","sec","getExtensionByName","extension","isCrossOriginError","columnNumber","PageView","durationMs","PageViewPerformance","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","PageViewPerfData","StackFrame","ExceptionDetails","hasFullStack","parsedStack","strError","strStack","strStackDetails","strErrorSrc","strMessage","strDescription","_stringify","convertToString","theEvent","evtMessage","_isStackDetails","_convertStackObj","errorStack","_getStackFromErrorObj","errorObj","lines","_getOperaStack","_getErrorType","typeName","_formatErrorCode","SeverityLevel","StorageType","DistributedTracingModes","Exception","exceptions","_isExceptionInternal","_ExceptionDetails","problemGroup","isManual","CreateAutoException","errorSrc","stackDetails","CreateFromInterface","__assign","toInterface","CreateSimpleException","assembly","formatError","outerId","_isExceptionDetailsInternal","frames","level_1","totalSizeInBytes_1","theFrame","_StackFrame","parsedFrame","sizeInBytes","left","acceptedLeft","acceptedRight","howMany","_parseStack","_formatStackTrace","sourceFrame","baseSize","_canUseLocalStorage","_canUseSessionStorage","_getLocalStorageObject","utlCanUseLocalStorage","_getVerifiedStorageObject","LocalStorage","storageType","storage","setItem","fail","getItem","removeItem","_getSessionStorageObject","utlCanUseSessionStorage","SessionStorage","utlDisableStorage","utlGetLocalStorage","utlSetLocalStorage","utlRemoveStorage","utlGetSessionStorage","utlSetSessionStorage","utlRemoveSessionStorage","createDomEvent","RequestHeaders","requestContextHeader","requestContextTargetKey","requestContextAppIdFormat","requestIdHeader","traceParentHeader","traceStateHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","requestContextHeaderLowerCase","_document","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","anchorIdx","anchorCache","tempAnchor","host","urlParseHost","urlGetAbsoluteUrl","urlGetCompleteUrl","absoluteUrl","inclPort","fullHost","urlParseFullHost","port","_internalEndpoints","isInternalApplicationInsightsEndpoint","endpointUrl","Util","NotSpecified","disableStorage","canUseLocalStorage","getStorage","setStorage","removeStorage","canUseSessionStorage","getSessionStorageKeys","getSessionStorage","setSessionStorage","removeSessionStorage","coreDisableCookies","canUseCookies","disallowsSameSiteNone","deleteCookie","toISOStringForIE8","dump","coreGetExceptionName","IsBeaconApiSupported","getExtension","UrlHelper","parseUrl","getAbsoluteUrl","getPathName","pathname","getCompleteUrl","parseHost","parseFullHost","CorrelationIdHelper","correlationIdPrefix","canIncludeCorrelationHeader","requestUrl","currentHost","disableCorrelationHeaders","correlationHeaderExcludePatterns","requestHost","enableCorsCorrelation","matchExists_1","includedDomains","correlationHeaderDomains","excludedDomains","correlationHeaderExcludedDomains","getCorrelationContext","responseHeader","getCorrelationContextValue","keyValues","keyValue","dateTimeUtilsNow","timing","navigationStart","dateTimeUtilsDuration","DateTimeUtils","Now","GetDuration","RemoteDependencyData","commandName","success","resultCode","requestAPI","correlationContext","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","parsedUrl","pathName","AjaxHelperParseDependencyPath","PageViewManager","overridePageViewDuration","pageViewPerformanceManager","_logger","intervalHandle","itemQueue","pageViewPerformanceSent","_flushChannels","pageView","uri","isPerformanceTimingSupported","sendPageViewInternal","customDuration","pageViewSent","getPerformanceTiming","shouldCollectDuration","processed","isPerformanceTimingDataReady","pageViewPerformance","populatePageViewPerformanceEvent","sendPageViewPerformanceInternal","allItems","PageVisitTimeManager","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","trackPreviousPageVisit","currentPageName","currentPageUrl","prevPageVisitTimeData","restartPageVisitTimer","pageName","pageUrl","pageVisitTime","prevPageVisitData","stopPageVisitTimer","startPageVisitTimer","currPageVisitData","PageVisitData","currPageVisitDataStr","pageVisitEndTime","pageVisitDataJsonStr","pageVisitStartTime","PageViewPerformanceManager","MAX_DURATION_ALLOWED","navigationTiming","getPerformanceNavigationTiming","network","dom","startTime","connectEnd","requestStart","responseStart","responseEnd","loadEventEnd","isPerformanceNavigationTimingSupported","getEntriesByType","domainLookupStart","domLoading","durations","botAgentNames","isGoogleBot","durationProperty","strEvent","_dispatchEvent","evnt","dispatchEvent","_eventTracking","_pageTracking","autoRoutePVDelay","_prevUri","_currUri","doNotSendItem","telemetryInitializersCount","_telemetryInitializers","telemetryInitializer","EventTelemetry","startTrackEvent","stopTrackEvent","trackTrace","trace","metric","inPv","_pageViewManager","autoTrackPageVisitTime","_pageVisitTimeManager","refUri","referrer","trackPageViewPerformance","_pageViewPerformanceManager","startTrackPage","stopTrackPage","measurement","sendExceptionInternal","theError","exceptionPartB","trackException","_onerror","_window","_sendCORSException","errorString","addTelemetryInitializer","getDefaultConfig","isStorageUseDisabled","configGetters","accountId","sessionRenewalMs","sessionExpirationMs","sampleRate","samplingPercentage","sdkExtension","isBrowserLinkTrackingEnabled","appId","PageName","PageUrl","sampleCount","trackPageVisitTime","browserLinkPaths_1","envelope","remoteData","_addDefaultTelemetryInitializers","Timing","pageViewItem","_history","_location","disableExceptionTracking","autoExceptionInstrumented","originalOnError_1","handled","enableUnhandledPromiseRejectionTracking","autoUnhandledPromiseInstrumented","onunhandledrejection_1","originalOnUnhandledRejection_1","_getReason","enableAutoRouteTracking","pushState","replaceState","_self_1","namePrefix","traceID","traceLocationName","enableDebug","disableFlushOnBeforeUnload","disableFlushOnUnload","Version","BaseSendBuffer","_buffer","_bufferFullMessageSent","_get","_set","enqueue","eventsLimitInMem","emitLineDelimitedJson","getItems","batchPayloads","ArraySendBuffer","markAsSent","clearSent","SessionStorageSendBuffer","bufferItems","_getBuffer","BUFFER_KEY","notDeliveredItems","SENT_BUFFER_KEY","_removePayloadsFromBuffer","payloads","remaining","prefixedKey","bufferJson","_setBuffer","MAX_BUFFER_SIZE","sentElements","_aiNameFunc","baseName","aiName","_aiApplication","_aiDevice","_aiLocation","_aiOperation","_aiSession","_aiUser","_aiCloud","_aiInternal","ContextTagKeys","applicationVersion","applicationBuild","applicationTypeId","applicationId","applicationLayer","deviceId","deviceIp","deviceLanguage","deviceLocale","deviceModel","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOS","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceType","deviceMachineName","deviceVMName","deviceBrowser","deviceBrowserVersion","locationIp","locationCountry","locationProvince","locationCity","operationName","operationParentId","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userStoreRegion","userAuthUserId","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalSdkVersion","internalAgentVersion","internalSnippet","internalSdkSrc","_this_1","Extensions","UserExt","DeviceExt","TraceExt","WebExt","AppExt","OSExt","SessionExt","SDKExt","CtxTagKeys","Envelope","Data","AIData","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","_extractPropsAndMeasurements","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","iKeyNoDashes","envTags","itmExt","itmTags","extUser","user","authId","localId","extApp","app","sesId","extDevice","device","deviceClass","ip","web","browserLang","browserVer","envData","envBaseData","envProps","screenRes","userConsent","extOs","extTrace","tgs","tg","theTags","EnvelopeCreator","_extractPartAExtensions","EnvelopeCreatorInit","EventEnvelopeCreator","customMeasurements","eventData","Serializer","_serializeObject","circularReferenceCheck","_serializeStringMap","_serializeArray","contract","isHidden","isPresent","isObj","sources","expectedType","OfflineListener","isListening","_onlineStatus","_setOnline","_setOffline","ononline","onoffline","_navigator","onLine","isOnline","isOffline","HashCodeScoreGenerator","getHashCodeScore","getHashCode","INT_MAX_VALUE","SamplingScoreGenerator","hashCodeGenerator","getSamplingScore","Sample","samplingRate","samplingScoreGenerator","isSampledIn","_getResponseText","responseText","EnvelopeTypeCreator","strDuration","currentContextId","bd","pageType","isLoggedIn","pageViewData","exData","baseMetricData","remoteDepData","responseCode","Sender","_consecutiveErrors","_retryAt","_timeoutHandle","_serializer","_stamp_specific_redirects","_fallbackSender","_syncUnloadSender","_paused","_headers","_syncFetchPayload","_senderConfig","maxBatchInterval","maxBatchSizeInBytes","disableTelemetry","enableSessionStorageBuffer","isRetryDisabled","isBeaconApiDisabled","disableXhr","onunloadDisableFetch","onunloadDisableBeacon","customHeaders","convertUndefined","_checkResponsStatus","responseUrl","countOfItemsInPayload","_appId","_parseResponse","_checkAndUpdateEndPointUrl","_onError","_isRetriable","_resendPayload","_onPartialSuccess","_onSuccess","_doUnloadSend","_beaconSender","_doBeaconSend","plainTextBatch","queued","droppedPayload","thePayload","_xhrSender","endPointUrl","headerName","onreadystatechange","_xhrReadyStateChange","_formatErrorMessageXhr","_fetchKeepAliveSender","payloadSize","_doFetchSender","_fetchSender","requestHeaders","Headers","batchLength","keepalive","Request","ok","statusText","itemsReceived","itemsAccepted","linearFactor","payload_1","delayInSeconds","SlotDelayInSeconds","backOffSlot","backOffDelay","retryAfterTimeSpan","_setRetryTime","_setupTimer","retryInterval","timerValue","triggerSend","_clearScheduledTimer","statusCode","_xdrSender","xdr","_xdrOnLoad","_formatErrorMessageXdr","hostingProtocol","lastIndexOf","pause","resume","onunloadFlush","addHeader","_sender","_sample","disableIKeyValidationFlag","disableInstrumentationKeyValidation","_validateInstrumentationKey","customHeader","header","senderConfig","sendPostFunc","defaultEnvelopeIkey","aiEnvelope_1","constructEnvelope","doNotSendItem_1","callBack","responseURL","forcedSender","sendRequest","_getNotifyMgr","_notifySendRequest","ieVer","failed","errors_1","extracted","orig","Session","_SessionManager","_storageNamePrefix","_cookieUpdatedTimestamp","acquisitionSpan","renewalSpan","sessionCookiePostfix","_initializeAutomaticSessionWithData","session","sessionData","sessionReset","acqMs","renewalMs","acquisitionDate","renewalDate","_setCookie","nowMs","acq","renewalPeriodMs","acqTimeLeftMs","automaticSession","isExpired","storageValue","_initializeAutomaticSession","timeSinceAcqMs","timeSinceRenewalMs","getNewId","idLength","_renew","cookieUpdateInterval","backup","guid","renewal","Application","Device","Internal","sdkVersion","_validateUserInput","User","isNewUser","isUserCookieSet","userCookiePostfix","userCookieName","params","cookieSeparator","_generateNewId","_generateNewCookie","acqStr","accountAcquisitionDate","_setUserCookie","authCookie","authUserCookieName","authCookieString","decodeURI","authenticatedId","setAuthenticatedUserContext","authenticatedUserId","storeInCookie","encodeURI","clearAuthenticatedUserContext","Location","TelemetryTrace","parentId","strExt","strTags","_removeEmpty","TelemetryContext","defaultConfig","getSessionId","application","internal","sessionManager","autoSession","applySessionContext","applyOperatingSystemContxt","applyApplicationContext","build","applyDeviceContext","applyInternalContext","agentVersion","snippetVer","sdkSrc","applyLocationContext","applyOperationContext","applyWebContext","applyUserContext","cleanUp","PropertiesPlugin","_breezeChannel","_extensionConfig","theContext","userCtx","_processTelemetryInternal","aiInstrumentHooks","cbNames","strConstructor","_arrLoop","_doCallbacks","callDetails","cbArgs","hookCtx","hook","cbks","orgEx","hookErrorCb","_getOwner","checkPrototype","owner","InstrumentFunc","callbacks","aiHook_1","newFunc","aiHook","orgArgs","funcArgs","_createArgs","theArgs","rslt","theHook","rm","_calcPerfDuration","resourceEntry","_setPerfDuration","_setPerfValue","strPerf","XHRMonitoringState","openDone","setRequestHeaderDone","sendDone","abortDone","stateChangeAttached","ajaxRecord","spanID","strResponseText","perfMark","requestHeadersSize","responseReceivingDuration","callbackDuration","ajaxTotalDuration","aborted","requestSize","requestSentTime","responseStartedTime","responseFinishedTime","callbackFinishedTime","endTime","xhrMonitoringState","clientFailure","CreateTrackItem","ajaxType","enableRequestHeaderTracking","getResponse","dependency","ajaxData","perfTiming","propsSet","strName","strStart","strEnd","strDomainLookup","strConnect","strRedirect","strRequest","strResponse","strStartTime","strDomainLookupStart","strDomainLookupEnd","strConnectStart","strConnectEnd","strRequestStart","strRequestEnd","strResponseStart","strResponseEnd","strRedirectStart","strRedirectEnd","strTransferSize","strEncodedBodySize","strDecodedBodySize","strServerTiming","serverTiming","server_1","normalizeJsName","newValue","perfAttempts","_populatePerfData","headerMap","responseHeaders","errorStatusText","Traceparent","traceId","spanId","traceFlag","DEFAULT_TRACE_FLAG","DEFAULT_VERSION","isValidTraceId","isValidSpanId","AJAX_MONITOR_PREFIX","strDiagLog","strAjaxData","strThrowInternal","strFetch","_markCount","_getFailedAjaxDiagnosticsMessage","_throwInternalCritical","ajaxMonitorInstance","_throwInternalWarning","_createErrorCallbackFunc","internalMessage","ajaxDiagnosticsMessage","_indexOf","AjaxMonitor","_isUsingW3CHeaders","_isUsingAIHeaders","_markPrefix","_excludeRequestFromAutoTrackingPatterns","_addRequestContext","strTrackDependencyDataInternal","_fetchInitialized","_xhrInitialized","_currentWindowHost","getEmptyConfig","_enableRequestHeaderTracking","_enableAjaxErrorStatusText","_trackAjaxAttempts","_enableAjaxPerfTracking","_maxAjaxCallsPerView","_enableResponseHeaderTracking","_hooks","_disabledUrls","_canIncludeHeaders","rlt","ignoreHeaders","_hookProto","InstrumentProto","_isDisabledRequest","theUrl","theRegex","idx2","_isMonitoredXhrInstance","excludeAjaxDataValidation","ajaxValidation","_getAjaxCorrelationContext","responseHeadersString","getAllResponseHeaders","getResponseHeader","_createMarkId","performance_1","markId","getEntriesByName","_findPerfResourceEntry","initiatorType","trackCallback","reportError","performance","maxAjaxPerfLookupAttempts","retryDelay","ajaxPerfLookupDelay","locateResourceTiming","getEntries","entryType","clearMarks","_getFailedFetchDiagnosticsMessage","_reportFetchMetrics","_reportFetchError","failedProps","errorProps","_getFetchCorrelationContext","fetchDiagnosticsMessage","ctx_1","distributedTracingMode","enableAjaxErrorStatusText","enableAjaxPerfTracking","enableResponseHeaderTracking","excludeRequestFromAutoTrackingPatterns","addRequestContext","AI","AI_AND_W3C","W3C","disableAjaxTracking","strPrototype","theOpen","_supportsAjaxMonitoring","req","_openHandler","_reportXhrError","responseHeaderMap_2","_onAjaxComplete","exceptionText","_attachToOnReadyStateChange","hkErr","includeCorrelationHeaders","_global","_supportsFetch","isPolyfill","polyfill","disableFetchTracking","fetchData","_createFetchRecord","newInit","rsp","responseHeaderMap_1","_instrumentFetch","propExt","extIx","trackDependencyData","currentWindowHost","traceparent","emptyConfig","parseConnectionString","connectionString","fields","kv","kvParts","endpointsuffix","locationPrefix","ingestionendpoint","_internalSdkSrc","ConnectionStringParser","ConfigurationManager","configValue","_ignoreUpdateSnippetProperties","Telemetry","FieldType","Default","Required","Hidden","AIBase","Initialization","snippet","_snippetVersion","sv","cs","ingest","instrumentationkey","DependenciesPlugin","getSKUDefaults","inPvp","legacyMode","_updateSnippetProperties","emptyQueue","addHousekeepingBeforeUnload","updateSnippetDefinitions","length_1","appInsightsInstance","performHousekeeping","_sessionManager","excludePageUnloadEvents","disablePageUnloadEvents","isReactNative","getSender","cdns","scrpt","currentScript","AppInsightsDeprecated","appInsightsNew","_hasLegacyInitializers","_queue","addTelemetryInitializers","verboseLogging","isCookieUseDisabled","_processLegacyInitializers","telemetry","trackDependency","totalTime","handledAt","downloadAndSetup","originalTrackPageView_1","pagePath","legacyPageView","legacyEvent","ApplicationInsightsContainer","getAppInsights","initialization","legacy","useViewContext","ViewContext","useIndex","useFunctionContext","FunctionContext","useScrollTo","scrollTo","Dot","ariaLabel","itemIndex","_useIndex","checked","handleChange","handleKeyPress","keyCode","preventDefault","stopPropagation","onChange","onKeyPress","PropTypes","usePropsContext","PropsContext","useNumItems","numItems","Dots","_useNumItems","_mapInstanceProperty","_fillInstanceProperty","useInternalContext","InternalContext","useItemContainerCallbackRef","itemContainerCallbackRefWithSubscribe","useScrollableCallbackRef","scrollableCallbackRefWithSubscribe","Filmstrip","itemContainerCallbackRef","scrollableCallbackRef","Children","useDir","useScrollBarPercentage","scrollBarPercentage","useScrollOneLeft","scrollOneLeft","useScrollOneRight","scrollOneRight","Flipper","hide","blurFocusOnClick","_useDir","_useScrollBarPercenta","buttonRef","handleClick","blur","handleKeyDown","onClick","onKeyDown","edgeUWP","internetExplorer","useScrollBarWidth","scrollBarWidth","ScrollBar","_useScrollBarWidth","marginRight","_parseFloat","marginLeft","useHeight","useScrolling","scrolling","useStyleSetClassNames","styleSetClassNames","BasicFilm","_useHeight","_useScrolling","_useStyleSetClassName","flipperBlurFocusOnClick","leftFlipperAriaLabel","leftFlipperText","rightFlipperAriaLabel","rightFlipperText","showDots","showFlipper","showScrollBar","contentStyle","useAutoCenter","onTrigger","autoCenter","handleTrigger","_setTimeout","AutoCenter","DOT_BOX_SIZE","DOT_SIZE","FLIPPER_BOX_WIDTH","FLIPPER_SIZE","SCROLL_BAR_HEIGHT","SCROLL_BAR_MARGIN","autoHide","autoHideFlipperOnEdge","dotBoxSize","dotSize","flipperBoxWidth","flipperSize","scrollBarHeight","scrollBarMargin","rtl","createDotsStyle","alignItems","justifyContent","listStyleType","margin","createDotStyle","touchAction","userSelect","background","borderRadius","createFlipperStyle","border","outline","font","fontSize","transitionDuration","transitionProperty","createFilmstripStyle","MsOverflowStyle","overflowX","overflowY","overscrollBehaviorX","createScrollBarStyle","boxSizing","transitionDelay","backdropFilter","createRootStyle","createBasicStyleSet","patchStyleOptions","getView","scrollable","itemContainer","scrollingTo","scorer","scrollLeft","trueScrollLeft","scrollCenter","offsetWidth","offsetCenter","offsetLeft","_reduceInstanceProperty","best","indexFraction","scrollWidth","squareStepper","_Math$sign","sqrt","useCallbackRefWithSubscribe","callbackRef","cleanup","_indexOfInstanceProperty","_spliceInstanceProperty","later","_Date$now","patchedStyleOptions","_Object$fromEntries","scrollLeftRef","scrollTimeoutRef","callbackRefWithSubscribe","scrollFn","view","targetIndex","computeScrollLeft","functionContext","internalContext","_useState3","viewContext","setViewContext","setViewContext2","nextViewContext","handleScroll","fraction","initial","handleScrollToEnd","legacyContext","animator","animate","requestAnimationFrame","stepper","cancelAnimationFrame","passive","memoizedEmitValue","emitValue","handlePointerOver","_asyncToGenerator","LegacyContext","arrayOf","deprecationNotesShown","DeprecatedFilmStrip","ReactFilm","useIndexFraction","SagaContext","mergeVoidMethods","contextMethod","localMethod","initializerArg","initializer","runSagaOptions","reactDispatch","stateRef","sagaIO","sagaContext","contextMonitor","localMonitor","sagaMonitorKeys","combinedSagaMonitor","mergeSagaMonitors","contextMiddlewares","localMiddlewares","mergeEffectMiddlewares","sagaOptions","setDisabled","disabled","buildContextMenuWithTranslations","contextMenuItems","contextMenuTranslations","defaultLanguage","defaultContextMenuTranslation","useWebChatReducer","initialState","_window$navigator","newMessage","containerElementVisible","speechOptions","isMobile","inputBlocked","blockingInputDruidSendBox","sensitiveDataInputMode","fileUploadInputMode","pristineMergedChatOptions","conversationHistoryShowAll","showTyping","selectedActivityForReply","cardActionsDisabled","botLanguages","bfWebchatProps","serviceStatus","INITIALIZATION_STATUS","INITIALIZATION_STATUS_MESSAGE","initializeState","newOptionsFromReset","lastState","memoizedReducer","updateIn","variablePath","variableValue","hideSuggestedActions","_state$mergedChatOpti","authorizationResultDto","_state$mergedChatOpti2","mergedAuthorizationResultDto","toSetLanguages","nativeName","icon","_action$payload","withMessage","druidStyleToEmotionObject","handleOpenWebchat","handleCloseWebchat","handleSearchAssist","_response$result$0$tu","cancelResult","delayResult","_currentState$store5","_currentState$store5$","tuplesList","topLabel","_responseResult$tuple","responseResult","tl","item2","datasource","_currentState$store6","setSuggestedActions","ds","incomingActivityAction","fromBot","activityFromBot","setSendBox","useSagaReducer","parsedJSON","handleChangeDruidCookies","setNotification","dismissNotification","handleChangeStatus","_currentState$mergedC","onLoadHandlerPromise","handleWebchatLoaded","handleMergedChatOptions","userAvatarImageValue","handleSimpleVariableUpdate","_botLanguages$find","bl","toSetLanguageName","skipPostEvent","selectedContextMenuTranslation","handleSetSelectedLanguage","_currentState$store","_currentState$store2","stopDictate","handleSetIsVoiceInput","_botLanguages$find2","handleSetContextMenuTranslations","includingCookies","withNewAuthorizationDtoDetails","withNewDruidConversationToken","withAutoExpand","handleResetWithOptions","_currentState$store3","handleSensitiveDataInputMode","_currentState$store4","handleDisableAndConfirmActivity","should_SENSITIVEDATAINPUT_MODE_be_enabled","handleIncomingActivity","originalSendMessage","originalTextValue","enc_key","CryptoJsUTF8","enc_IV","client_side_encrypted_data","AES","encrypt","iv","encryptedData","getCurrentToken","_currentState$store7","_currentState$store8","_druidInternal_passThrough_sensitiveDataInputMode","_currentState$store9","_currentState$store10","proccessSensitiveMessage","handleDisableCardActionUntilConfirmActivity","transformed","babelTransformObject","processSetMiddlewareOrEventHandler","currentBFStore","newBFStore","cha","processConversationHistoryActivities","customGeneratorFunction","errorInfo","_getState$store","_getState$store2","disconnect","_action$payload2","_action$payload2$acti","_action$payload2$acti2","arrayWithoutHoles","iterableToArray","nonIterableSpread","dictateInterims","SET_DICTATE_INTERIMS","CONNECTION_STATUS_UPDATE","SET_REFERENCE_GRAMMAR_ID","SET_SEND_TIMEOUT","replacement","detection","normalize","POLYFILL","NATIVE","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","toAbsoluteIndex","IS_INCLUDES","el","ArrayPrototype","usingIterator","innerResult","innerError","FunctionName","createIteratorConstructor","setToStringTag","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","aConstructor","defaultConstructor","functionToString","$location","defer","arraySlice","validateArgumentsLength","IS_IOS","IS_NODE","Dispatch","MessageChannel","ONREADYSTATECHANGE","runner","post","postMessage","nextTick","port2","port1","importScripts","passed","required","checkCorrectnessOfIteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","newPromiseCapability","promiseCapability","newPromiseCapabilityModule","perform","iterate","allSettled","capability","promiseResolve","alreadyCalled","PROMISE_ANY_ERROR","AggregateError","alreadyResolved","alreadyRejected","observeEach","_createPromiseQueue","QUEUE_INCOMING_ACTIVITY","SEND_EVENT","displayText","SEND_MESSAGE_BACK","SEND_POST_BACK","_useContext","ponyfillState","activityKeysState","renderAttachmentOverride","createActivityRenderer","activityRenderer","defaultRenderAttachment","renderAttachment","renderActivity","renderActivityOptions","isValidElement","activityElement","attachmentRenderer","nextVisibleActivity","hideTimestamp","ActivityStatusContainer","_SendStatus","ActivityStatusContainerCore","sendStatus","createActivityStatusRenderer","activityStatusRenderer","sameTimestampGroup","sendState","SEND_FAILED","SENT","SENDING","sendStatusByActivityKey","getKeyByActivity","avatarRenderer","_activity$from","_usePonyfill3","globalize","_useLocalizedGlobalize","dateFormatter","skeleton","stringId","pluralId","_i2","_arr2","unsupportedPluralForms","DEFAULT_STRINGS","_getAllLocalizedStrings","trackDimension","RenderChildrenFunction","ErrorBoundary","setState","normalizedBubbleFromUserNubOffset","normalizedBubbleNubOffset","normalizedEmojiSet","hideScrollToEndButton","newMessagesButtonFontSize","filledOptions","hideScrollToEndButtonDeprecation","patchedScrollToEndButtonBehavior","newMessagesButtonFontSizeDeprecation","scrollToEndButtonFontSize","suggestedActionBackgroundDeprecation","suggestedActionActiveBackground","suggestedActionXXXBackgroundDeprecation","suggestedActionBackgroundColorOnActive","suggestedActionFocusBackground","suggestedActionBackgroundColorOnFocus","suggestedActionHoverBackground","suggestedActionBackgroundColorOnHover","suggestedActionDisabledDeprecation","suggestedActionDisabledBorderStyle","suggestedActionBorderStyleOnDisabled","suggestedActionDisabledBorderWidth","suggestedActionBorderWidthOnDisabled","warnOnce","fonts","DEFAULT_SUBTLE","paddingWide","PADDING_REGULAR","fontSizeSmall","monospaceFont","rootHeight","rootWidth","rootZIndex","avatarBorderRadius","avatarSize","botAvatarImage","botAvatarInitials","userAvatarImage","userAvatarInitials","showAvatarInGroup","bubbleBorderStyle","bubbleFromUserBorderColor","bubbleFromUserBorderStyle","bubbleFromUserTextColor","bubbleMaxWidth","bubbleMinHeight","bubbleMinWidth","connectivityIconPadding","connectivityMarginLeftRight","connectivityMarginTopBottom","connectivityTextSize","failedConnectivity","slowConnectivity","notificationText","slowConnectionAfter","internalLiveRegionFadeAfter","markdownExternalLinkIconImage","markdownRespectCRLF","autoScrollSnapOnActivity","autoScrollSnapOnPageOffset","microphoneButtonColorOnDictate","sendBoxButtonColorOnActive","sendBoxButtonShadeColorOnActive","sendBoxButtonShadeColorOnDisabled","sendBoxButtonShadeColorOnFocus","sendBoxButtonShadeInset","sendBoxButtonKeyboardFocusIndicatorBorderColor","sendBoxButtonKeyboardFocusIndicatorBorderRadius","sendBoxButtonKeyboardFocusIndicatorBorderStyle","sendBoxButtonKeyboardFocusIndicatorBorderWidth","sendBoxButtonKeyboardFocusIndicatorInset","sendBoxTextColor","sendBoxBorderBottom","sendBoxBorderLeft","sendBoxBorderRight","showSpokenText","spinnerAnimationBackgroundImage","spinnerAnimationHeight","spinnerAnimationWidth","spinnerAnimationPadding","suggestedActionHeight","suggestedActionImageHeight","suggestedActionBorderStyle","suggestedActionBorderWidth","suggestedActionBorderColorOnActive","suggestedActionBorderStyleOnActive","suggestedActionBorderWidthOnActive","suggestedActionTextColorOnActive","suggestedActionBorderColorOnFocus","suggestedActionBorderStyleOnFocus","suggestedActionBorderWidthOnFocus","suggestedActionTextColorOnFocus","suggestedActionBorderColorOnHover","suggestedActionBorderStyleOnHover","suggestedActionBorderWidthOnHover","suggestedActionTextColorOnHover","suggestedActionKeyboardFocusIndicatorBorderColor","suggestedActionKeyboardFocusIndicatorBorderRadius","suggestedActionKeyboardFocusIndicatorBorderStyle","suggestedActionKeyboardFocusIndicatorBorderWidth","suggestedActionKeyboardFocusIndicatorInset","suggestedActionsCarouselFlipperCursor","suggestedActionsCarouselFlipperBoxWidth","suggestedActionsCarouselFlipperSize","suggestedActionsFlowMaxHeight","suggestedActionsStackedHeight","suggestedActionsStackedOverflow","suggestedActionsStackedLayoutButtonMaxHeight","suggestedActionsStackedLayoutButtonTextWrap","suggestedActionsVisualKeyboardIndicatorStyle","suggestedActionsVisualKeyboardIndicatorWidth","groupTimestamp","timestampFormat","transcriptOverlayButtonBackground","transcriptOverlayButtonBackgroundOnDisabled","transcriptOverlayButtonBackgroundOnFocus","transcriptOverlayButtonBackgroundOnHover","transcriptOverlayButtonColor","transcriptOverlayButtonColorOnDisabled","transcriptOverlayButtonColorOnFocus","transcriptOverlayButtonColorOnHover","notificationDebounceTimeout","hideToaster","toasterHeight","toasterMaxHeight","toastFontSize","toastIconWidth","toastSeparatorColor","toastTextPadding","toastErrorBackgroundColor","toastErrorColor","toastInfoBackgroundColor","toastInfoColor","toastSuccessBackgroundColor","toastSuccessColor","toastWarnBackgroundColor","toastWarnColor","transcriptTerminatorBorderRadius","typingAnimationDuration","typingAnimationWidth","enableUploadThumbnail","uploadThumbnailContentType","uploadThumbnailHeight","uploadThumbnailQuality","uploadThumbnailWidth","videoHeight","_useErrorBoxClass3","ErrorBox","errorBoxClass","group","groupEnd","setupArgs","setup","arrayLikeToArray","minLen","asyncGeneratorStep","gen","SayButton","_onEnd","busy","setBusy","sayProps","targetVoice","voiceURI","_createErrorEvent","_useSynthesize","SayUtterance","started","_synthesize","SayUtteranceWithContext","open_tag","close_tag","HTML_TAG_RE","HTML_OPEN_CLOSE_TAG_RE","postProcess","delimiters","startDelim","endDelim","loneMarkers","marker","tokenize","silent","scanned","scanDelims","can_open","can_close","curr","tokens_meta","isStrong","_es","SpeechSynthesisEvent","_utterance","_super2","_lang","_pitch","_rate","_text","_voice","_volume","getEventAttributeValue","setEventAttributeValue","SpeechSynthesisVoice","SpeechSynthesis","walkMarkdownTokens","walker","nextToken","SymbolPrototype","TO_PRIMITIVE","hint","keyFor","defineWellKnownSymbol","defineSymbolToPrimitive","DOMTokenList","NodeList","own","MSIE","boundArgs","_ScreenReaderText","useDateFormatter","useLocalizer","AbsoluteTime","localize","absoluteTime","formatDate","CroppedImage","sizeStyle","redefine","checkSupportPromise","_callee2","checkSupportOffscreenCanvas","checkSupportWebWorkerPromise","Worker","createWorker","terminate","_MessageChannel","_ref5$data","_blobToArrayBuffer","getWorker","arrayBuffer","workerPromise","finally","revokeObjectURL","_callee3","_context3","isOffscreenCanvasSupportGetContext2D","hasOffscreenCanvas","OffscreenCanvas","convertToBlob","toBlob","createImageBitmap","useDraggableEffect","withElementId","wasDragged","setWasDragged","onDragOverHandler","onDropHandler","_event$dataTransfer","_ref$current","elementId","dataTransfer","getData","getElementById","effectAllowed","dropEffect","clearData","setData","subscriberIndex","assertThisInitialized","isNativeFunction","_wrapNativeSuper","Class","_cache","getSystemTime","defaultSystemTimeGetter","stopDuration","completedSlices","startSystemTime","State","IDLE","stopSystemTime","STOPPED","isIdle","calculateStopwatchTime","getPendingSlice","calculatePendingSlice","getCompletedSlices","getCompletedAndPendingSlices","forceReset","systemNow","pendingSliceStartStopwatchTime","recordPendingSlice","systemTimeOfStopwatchTime","getSystemTimeOfCurrentStopwatchTime","endSystemTime","endStopwatchTime","setDefaultSystemTimeGetter","systemTimeGetter","MD5","EvpKDF","keySize","iterations","compute","password","salt","derivedKey","derivedKeyWords","cssKeywords","reverseKeywords","convert","rgb","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","delta","rdif","gdif","bdif","diffc","reversed","currentClosestKeyword","currentClosestDistance","distance","smin","lmin","hi","vmin","sl","wh","ratio","y2","x2","z2","atan2","PI","hr","cos","sin","saturation","ansi","mult","rem","colorString","char","chroma","grayscale","hue","mg","_createSuper","Derived","hasNativeReflectConstruct","Proxy","_isNativeReflectConstruct","Super","NewTarget","ReactDOM","createFocusTrap","FocusTrap","tailoredFocusTrapOptions","returnFocusOnDeactivate","focusTrapOptions","optionName","onPostDeactivate","focusTrapElements","containerElements","updatePreviousElement","optionValue","_this$getDocument","querySelector","getNodeForOption","previouslyFocusedElement","currentDocument","activeElement","_this$tailoredFocusTr","checkCanReturnFocus","_this$tailoredFocusTr2","preventScroll","focusTrap","deactivate","returnFocus","finishDeactivation","returnFocusNode","getReturnFocusNode","focus","focusTrapElementDOMNodes","findDOMNode","_createFocusTrap","activate","paused","setupFocusTrap","prevProps","updateContainerElements","hasActivated","hasDeactivated","hasPaused","hasUnpaused","deactivateTrap","unpause","only","cloneElement","ElementType","onActivate","onPostActivate","checkCanFocusTrap","onDeactivate","initialFocus","instanceOf","fallbackFocus","escapeDeactivates","clickOutsideDeactivates","setReturnFocus","allowOutsideClick","toTransform","BlockCipher","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","sx","x4","x8","RCON","_nRounds","_keyPriorReset","keyWords","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","encryptBlock","_doCryptBlock","decryptBlock","nRounds","s0","s1","s2","s3","skippedModels","hashedModelKeys","limiters","valpha","newArray","zeroArray","hashedKeys","places","percentString","percent","unitArray","unitObject","roundToPlace","red","getset","maxfn","green","blue","saturationl","lightness","saturationv","white","wblack","cyan","magenta","yellow","black","hexa","rgbArray","alphaHex","rgbNumber","luminosity","lum","contrast","color2","lum1","lum2","contrastRatio","isDark","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","color1","w1","w2","roundTo","modifier","ConnectableObservable_1","subjectOrSubjectFactory","subjectFactory","MulticastOperator","connectableObservableDescriptor","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","Item","argv","on","addListener","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","ArgumentOutOfRangeError","_arrayLikeToArray","_superPropBase","receiver","currentErrorHandler","Parent","assertType","anyToString","setErrorHandler","currentWarnHandler","Global","setWarningHandler","_b","InitEventWasCalledWhileDispatching","FalsyWasAssignedToCancelBubble","TruthyWasAssignedToReturnValue","NonCancelableEventWasCanceled","CanceledInPassiveListener","EventListenerWasDuplicated","OptionWasIgnored","InvalidEventListener","InvalidAttributeHandler","opts","internalDataMap","bubbles","cancelable","composed","currentTarget","stopPropagationFlag","stopImmediatePropagationFlag","canceledFlag","inPassiveListenerFlag","dispatchFlag","timeStamp","NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","setCancelFlag","retv","DOMException","ErrorCodeMap","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","VALIDATION_ERR","TYPE_MISMATCH_ERR","SECURITY_ERR","NETWORK_ERR","ABORT_ERR","URL_MISMATCH_ERR","QUOTA_EXCEEDED_ERR","TIMEOUT_ERR","INVALID_NODE_TYPE_ERR","DATA_CLONE_ERR","defineErrorCodeProperties","EventWrapper","_Event","_thisSuper","_thisSuper2","cancelBubble","defaultPrevented","internalDataMap$1","original","defineRedirectDescriptor","getWrapperClassOf","$$1","stopImmediatePropagation","returnValue","wrapperClassCache","originalEvent","wrapper","BaseEventWrapper","originalPrototype","CustomEventWrapper","_BaseEventWrapper","_super3","_i3","defineWrapper","isCapture","isPassive","isOnce","isRemoved","invokeCallback","handleEvent","maybeError","findIndexOfListener","capture","_i4","signal","signalListener","createListener","cow","removeListenerAt","disableCow","setRemoved","ensureListenerList","listenerMap","attrCallback","attrListener","EventTarget","internalDataMap$2","type0","callback0","options0","$$2","_normalizeAddOptions","assertCallback","normalizeAddOptions","warnDuplicate","_normalizeOptions","normalizeOptions","_Error","captureStackTrace","_i5","keys$1","_i6","defineEventAttributeCallback","upsertEventAttributeListener","listMap","removeEventAttributeListener","defineCustomEventTarget","CustomEventTarget","_EventTarget","_super4","_i7","defineEventAttribute","_eventClass","src_default","externalLinkAlt","android","chromium","edgeAnaheim","firefox","ie11","chrome","safari","CombineLatestOperator","CombineLatestSubscriber","toRespond","oldVal","_tryProject","identity_1","Any","Cc","Cf","punycode","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","baseMinusTMin","stringFromCharCode","RangeError","mapDomain","ucs2decode","extra","ucs2encode","digitToBasic","flag","adapt","numPoints","basic","oldi","baseMinusT","codePoint","inputLength","bias","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","behavior","noop_1","fns","FilterOperator","FilterSubscriber","keySelector","DistinctUntilChangedOperator","DistinctUntilChangedSubscriber","hasKey","withOptions","devTools","_redux","_reduxDevtoolsExtension","_reduxSaga","_createReducer","_createSagas","_sagaError","createEnhancerAndSagaMiddleware","getStore","globalThisOrWindow","ponyfillFromOptions","cancelIdleCallback","requestIdleCallback","_createEnhancerAndSag","composeWithDevTools","strictStyleOptions","_Activities","audioAttachment","_AudioAttachment","audioContent","_AudioContent","autoResizeTextArea","_AutoResizeTextArea","avatar","_Avatar","basicTranscript","_BasicTranscript","_Bubble","carouselFilmStrip","_CarouselFilmStrip","carouselFilmStripAttachment","_CarouselFilmStripAttachment","carouselFlipper","_CarouselFlipper","connectivityNotification","_ConnectivityNotification","dictationInterims","_DictationInterims","errorBox","_ErrorBox","errorNotification","_ErrorNotification","fileContent","_FileContent","imageAvatar","_ImageAvatar","initialsAvatar","_InitialsAvatar","keyboardHelp","_KeyboardHelp","microphoneButton","_MicrophoneButton","_Root","scrollToEndButton","_ScrollToEndButton","sendBox","_SendBox","sendBoxButton","_SendBoxButton","sendBoxTextBox","_SendBoxTextBox","singleAttachmentActivity","_SingleAttachmentActivity","spinnerAnimation","_SpinnerAnimation","stackedLayout","_StackedLayout","suggestedAction","_SuggestedAction","_SuggestedActions","textContent","_TextContent","toast","_Toast","toaster","_Toaster","typingAnimation","_TypingAnimation","typingIndicator","_TypingIndicator","uploadButton","_UploadButton","videoAttachment","_VideoAttachment","videoContent","_VideoContent","vimeoContent","_VimeoContent","warningNotification","_WarningNotification","youTubeContent","_YouTubeContent","postBack","messageBack","attachmentLayout","_CarouselLayout","_reactFilm","_useNonce3","CarouselLayoutCore","renderActivityStatus","renderAvatar","showCallout","carouselFlipperStyleSet","filmRootClassName","leftSideFlipper","rightSideFlipper","nextAlt","previousAlt","CarouselLayout","_props$activity","_props$activity$attac","filmStyleSet","$getOwnPropertyNames","windowNames","getWindowNames","_connectToWebChat","_textFormatToContentType","_useUniqueId","useAvatarForBot","useAvatarForUser","flexDirection","_ref$styleSet$options","_ref2$activity","_ref2$activity$from","_ref2$activity$from$r","avatarInitials","StackedLayout","_activity$channelData2","botInitials","initials","userInitials","stackedLayoutStyleSet","ariaLabelId","isMessage","messageBackDisplayText","activityDisplayText","attachedAlt","greetingAlt","otherInitials","hasAvatar","hasOtherAvatar","hasNub","hasOtherNub","topAlignedCallout","extraTrailing","showNub","_createSendStatusMiddleware","_createTimestampMiddleware","_SendFailedRetry","_useFocus","usePostActivity","focusSendBox","retrySend","SendStatus","sendStatusStyleSet","handleRetryClick","sendingText","onRetryClick","_AbsoluteTime","_RelativeTime","Timestamp","_useStyleSet2$","timestampStyleSet","_usePonyfill2$","usePonyfill","_args$","_args$$activity","_args$$activity2","_args$$activity2$from","_args$$activity2$from2","_args$$attachment","_args$$attachment$con","_args$$attachment$con2","_args$$attachment$thu","thumbnailUrl","isText","_ImageAttachment","_FileAttachment","_TextAttachment","AudioContent","autoPlay","loop","audioContentStyleSet","controls","poster","_DownloadIcon","useByteFormatter","ALLOWED_PROTOCOLS","FileContentBadge","downloadIcon","formatByte","localizedSize","FileContent","fileContentStyleSet","localizeBytes","isAllowedProtocol","download","_ImageContent","_readDataURIToBlob","ImageAttachment","imageURL","_CroppedImage","ImageContent","_useRenderMarkdownAsHTML","TextContent","textContentStyleSet","renderMarkdownAsHTML","_HTMLVideoContent","VideoContent","_parseURL","urlLike","_urlLike","hostname","parseURL","lastSegment","searchParams","URLSearchParams","embedID","HTMLVideoContent","videoContentStyleSet","VimeoContent","vimeoContentStyleSet","autoplay","badge","byline","portrait","allowFullScreen","sandbox","YouTubeContent","youTubeContentStyleSet","modestbranding","DefaultAvatar","avatarStyleSet","_CheckMarkIcon","_ExclamationMarkIcon","NotificationIcon","prefixes","typingAnimationStyleSet","errorBoxStyleSet","QueueAction_1","QueueScheduler_1","QueueScheduler","QueueAction","catchError","CatchOperator","CatchSubscriber","err2","CountOperator","CountSubscriber","_tryPredicate","async_1","isDate_1","delayFor","DelayOperator","DelaySubscriber","_schedule","scheduleNotification","DelayMessage","DoOperator","DoSubscriber","safeSubscriber","merge_2","mergeStatic","notifier","RetryWhenOperator","RetryWhenSubscriber","retriesSubscription","multicast_1","refCount_1","shareSubjectFactory","ConnectableObservable","_isComplete","getSubject","_subject","ConnectableSubscriber","connectableProto","ArgumentOutOfRangeError_1","TakeOperator","TakeSubscriber","TimerObservable_1","TimerObservable","throttle_1","ThrottleTimeOperator","ThrottleTimeSubscriber","dispatchNext","clearThrottle","bufferTimeSpan","bufferCreationInterval","maxBufferSize","BufferTimeOperator","BufferTimeSubscriber","contexts","openContext","timespanOnly","timeSpanOnlyState","closeAction","dispatchBufferTimeSpanOnly","closeState","creationState","dispatchBufferClose","dispatchBufferCreation","filledBufferContext","onBufferFull","closeContext","prevContext","closingNotifier","BufferOperator","BufferSubscriber","dueTime","DebounceTimeOperator","DebounceTimeSubscriber","debouncedSubscription","lastValue","clearDebounce","debouncedNext","getCORSRequest","ajaxGet","AjaxObservable","ajaxPost","ajaxDelete","ajaxPut","ajaxPatch","mapResponse","ajaxGetJSON","urlOrRequest","crossDomain","progId","progIds","getXMLHttpRequest","AjaxSubscriber","delete","serializeBody","AjaxResponse","setupEvents","setHeaders","splitIndex","progressSubscriber","xhrTimeout","AjaxTimeoutError","ontimeout","upload","xhrProgress_1","xhrError_1","onprogress","AjaxError","xhrReadyStateChange","status_1","parseXhrResponse","responseXML","FromObservable_1","FromObservable","PromiseObservable_1","IteratorObservable_1","ArrayLikeObservable_1","PromiseObservable","IteratorObservable","ArrayLikeObservable","dispatchError","StrictMode","Profiler","Suspense","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","isReactComponent","forceUpdate","isPureReactComponent","__source","_owner","N","_status","_result","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","createFactory","createRef","lazy","_payload","_init","useImperativeHandle","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","oa","pa","qa","ma","na","la","removeAttribute","setAttributeNS","xlinkHref","ra","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","controlled","$a","ab","bb","ownerDocument","eb","db","fb","selected","defaultSelected","gb","hb","ib","jb","kb","mathml","svg","lb","mb","nb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","gridArea","lineClamp","rb","sb","tb","setProperty","ub","menuitem","area","br","col","embed","keygen","link","param","wbr","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","$b","memoizedState","dehydrated","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","cd","LN2","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","isPropagationStopped","persist","isPersistent","wd","xd","yd","sd","eventPhase","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","be","de","fe","ge","he","email","range","tel","me","qe","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","Nb","ef","ff","gf","hf","je","ke","jf","kf","lf","mf","autoFocus","nf","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","hg","ig","jg","kg","ng","og","pg","qg","rg","sg","childLanes","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","documentElement","tagName","fh","gh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","uh","_workInProgressVersionPrimary","vh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","gi","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Ci","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","createElementNS","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","Y","qj","rj","sj","tj","uj","vj","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","createRange","setStart","removeAllRanges","addRange","setEnd","scrollTop","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","kk","hk","unstable_observedBits","unmount","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","supportsFiber","inject","createPortal","flushSync","unmountComponentAtNode","unstable_createPortal","unstable_renderSubtreeIntoContainer","unstable_forceFrameRate","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","allStrings","normalizedLanguage","_normalizeLanguage","_getRTLList","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","installMessageChannelImplementation","installReadyStateChangeImplementation","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","devToolsEnhancer","__REDUX_DEVTOOLS_EXTENSION__","_createActivitiesReducer","connectivityStatus","_connectivityStatus","_dictateInterims","_dictateState","_createInternalReducer","_language","notifications","_createNotificationsReducer","_readyState","_referenceGrammarID","sendBoxValue","_sendBoxValue","_sendTimeout","_sendTypingIndicator","shouldSpeakIncomingActivity","_shouldSpeakIncomingActivity","_suggestedActions","typing","_createTypingReducer","DEFAULT_STATE","_deleteActivity","DELETE_ACTIVITY","_simpleUpdateIn","_activity","upsertActivityWithSort","findByClientActivityID","clientActivityID","patchActivity","_incomingActivity","_activity2","getClientActivityID","existingActivity","DIRECT_LINE_PLACEHOLDER_URL","lastActivity","sequenceId","_lastActivity$channel","nextActivity","_nextActivity$channel","nextClientActivityID","nextSequenceId","nextActivities","_ref2$channelData","indexToInsert","_ref3$channelData","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","GenStateSuspendedYield","getProto","_payload$activity","_payload$activity$fro","activityType","_DictateState","STOPPING","WILL_START","STARTING","DICTATING","_connectionStatusUpdate","_setReferenceGrammarID","_ref$payload","_setSuggestedActions","_clearSuggestedActionsOnPostActivitySaga","_connectionStatusToNotificationSaga","_connectionStatusUpdateSaga","_connectSaga","_detectSlowConnectionSaga","_emitTypingIndicatorToPostActivitySaga","_markAllAsSpokenOnStopSpeakActivitySaga","_observeActivitySaga","_postActivitySaga","_queueIncomingActivitySaga","_sendEventToPostActivitySaga","_sendFilesToPostActivitySaga","_sendMessageBackToPostActivitySaga","_sendMessageToPostActivitySaga","_sendPostBackToPostActivitySaga","_sendTypingIndicatorOnSetSendBoxSaga","_speakActivityAndStartDictateOnIncomingActivityFromOthersSaga","_startDictateOnSpeakCompleteSaga","_startSpeakActivityOnPostActivitySaga","_stopDictateOnCardActionSaga","_stopSpeakingActivityOnInputSaga","_submitSendBoxSaga","_whileConnected","clearSuggestedActions","clearSuggestedActionsOnPostActivity","clearSuggestedActionsOnPostActivitySaga","_marked","_marked2","_marked3","_createPromiseQueue2","connectionStatusToNotification","CONNECTIVITY_STATUS_NOTIFICATION_ID","subscribeToPromiseQueue","_subscribeToPromiseQu","reconnecting","copyConstructorProperties","clearErrorStack","installErrorCause","normalizeStringArgument","ERROR_STACK_INSTALLABLE","$Error","$AggregateError","isInstance","AggregateErrorPrototype","errorsArray","ordinaryToPrimitive","pref","exoticToPrim","getOwnPropertyDescriptorModule","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","cause","$default","getDescriptor","ENUMERABLE_NEXT","OwnPromiseCapability","nativeThen","setSpecies","anInstance","speciesConstructor","microtask","hostReportErrors","Queue","PromiseConstructorDetection","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","rejection","onHandleUnhandled","enter","exit","isReject","notified","reactions","onUnhandled","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","PromiseWrapper","unsafe","CONSTRUCTOR_NAME","isConstructor","toggle","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","characterData","Pebble","$promiseResolve","PromiseConstructorWrapper","CHECK_WRAPPER","onFinally","CONVERT_TO_STRING","codeAt","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","_observeEach","observeConnectionStatus","connectionStatusUpdateSaga","updateConnectionStatus","_jwtDecode","_forkPut","_updateConnectionStatus","observeAndPutConnectionStatusUpdate","connectSaga","reconnectSaga","runAsyncEffect","takeDisconnectAsError","CONNECTING","ONLINE","UNINITIALIZED","randomUserID","connectionStatusQueue","connectionStatusSubscription","rectifyUserID","userIDFromAction","userIDFromToken","fromAction","fromToken","activitySubscription","unsubscribeActivity","UPDATE_CONNECTION_STATUS","_yield$take2","callEffectFactory","_context4","_marked4","_context5","_marked5","runAsyncEffectUntilDisconnect","baseAction","runUntilDisconnect","_yield$race","_context6","_context8","_yield$take3","_yield$take3$payload","updateConnectionStatusTask","rectifiedUserID","disconnectMeta","endDirectLine","_yield$race2","_yield$race2$updateCo","_yield$race2$updateCo2","_context7","setUserId","updateConnectionStatusAction","_marked6","atob","forkPut","_iterator","_step","_createForOfIteratorHelper","_sleep","detectSlowConnectionSaga","SLOW_CONNECTION_AFTER","fulfilled","rejected","slow","postTypingActivity","emitTypingActivityToPostActivity","emitTypingActivityToPostActivitySaga","_activities","_speakingActivity","markAllAsSpoken","markAllAsSpokenOnStopSpeakActivitySaga","speakingActivities","_queueIncomingActivity","observeActivity","observeActivitySaga","PASSTHRU_FN","patchActivityWithFromRole","patchNullAsUndefined","patchFromName","channelId","_dateToLocaleISOString","_deleteKey","_observeOnce","postActivitySaga","HARD_SEND_TIMEOUT","numActivitiesPosted","localTimeZone","outgoingActivity","echoed","echoBackCall","echoBack","Intl","DateTimeFormat","resolvedOptions","timeZone","localTimezone","requiresBotState","supportsListening","supportsTts","postActivityWhileConnected","postActivityWrapper","getHours","getMinutes","getSeconds","getMilliseconds","timezoneOffset","timezoneSign","nextMap","_keys","observeOnce","_activityFromBot","takeEveryAndSelect","waitForActivityId","queueIncomingActivity","queueIncomingActivitySaga","REPLY_TIMEOUT","actionType","initialActivities","replied","initialBotActivities","messageActivities","lastMessageActivity","_lastMessageActivity$","ofType","postActivityWithEvent","sendEventToPostActivity","sendEventToPostActivitySaga","_mime","postActivityWithFiles","sendFilesToPostActivity","sendFilesToPostActivitySaga","getType","thumbnail","attachmentSizes","Mime","_types","typeMap","force","hasPath","$1","postActivityWithMessageBack","sendMessageBackToPostActivity","sendMessageBackToPostActivitySaga","postActivityWithMessage","sendMessageToPostActivity","sendMessageToPostActivitySaga","postActivityWithPostBack","sendPostBackToPostActivity","sendPostBackToPostActivitySaga","sendTypingIndicatorOnSetSendBox","sendTypingIndicatorOnSetSendBoxSaga","SEND_INTERVAL","takeSendTypingIndicator","lastSend","_speakableActivity","speakActivityAndStartDictateOnIncomingActivityFromOthers","speakActivityAndStartDictateOnIncomingActivityFromOthersSaga","shouldSpeak","_ref4$content","startDictateOnSpeakComplete","startDictateOnSpeakCompleteSaga","startSpeakActivityOnPostActivity","startSpeakActivityOnPostActivitySaga","stopDictateOnCardAction","stopDictateOnCardActionSaga","putStopDictate","stopSpeakingActivityOnInput","stopSpeakingActivityOnInputSaga","submitSendBox","submitSendBoxSaga","singleOrArray","_once","_useForceRender","expireAfter","activeTyping","_ref3$","expireAt","earliestExpireAt","timeToRender","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","getShim","ReactPropTypes","objectOf","exact","checkPropTypes","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_PonyfillContext","activityKeysByReadState","image","unitFormatter","bytes","KILOBYTE","LONG_FORM","MEGABYTE","SHORT_FORM","GIGABYTE","_useCreateActivityRendererInternal","bigint","sendStatusByActivityKeyState","attachmentForScreenReaderRenderer","scrollToEndButtonRenderer","_findMin","_useNotifications3","_useTimer","getEarliestUpdateNotBefore","notificationMap","outOfDate","updateNotBefore","debouncedNotificationsRef","debouncedNotification","_Object$entries$_i$","DEFAULT_SELECTOR","findMin","minValue","minScore","setDictateInterims","_useDirFromProps3","_useLanguage3","emitTypingIndicator","getHasAcknowledgedByActivityKey","getKeyByActivityId","grammars","groupActivities","lastAcknowledgedActivityKeyState","lastReadActivityKeyState","markActivity","_useMarkActivity","markActivityKeyAsRead","markAllAsAcknowledged","onCardAction","relativeTimeFormatter","dateOrString","dateTime","deltaInMs","deltaInMinutes","deltaInHours","showDeprecationNotes","renderActivityArg","renderOptions","createAvatarRenderer","toastRenderer","typingIndicatorRenderer","sendEvent","sendFiles","numFiles","sumSizeInKB","sendMessage","sendMessageBack","sendPostBack","getSendTimeoutForActivity","startSpeakingActivity","stopSpeakingActivity","startDictate","functionOrPromise","timingId","_randomId","_x","_x2","selectVoice","_ActivityAcknowledgementComposer","_ActivityKeyerComposer","_ActivitySendStatusComposer","_ActivitySendStatusTelemetryComposer","_createDefaultCardActionMiddleware","_createDefaultGroupActivitiesMiddleware","_defaultSelectVoice","_ErrorBoundary","_observableToPromise","_patchStyleOptionsFromDeprecatedProps","_PonyfillComposer","_Tracker","_usePonyfill5","_applyMiddleware","_PrecompiledGlobalize","DISPATCHERS","setDictateState","setSendTimeout","groupActivitiesMiddleware","overrideLocalizedStrings","patchedDir","patchedGrammars","setLanguage","setSendTypingIndicator","cardActionContext","runMiddleware","cardAction","getSignInUrl","createCardActionContext","patchedSelectVoice","groupActivitiesContext","createGroupActivitiesContext","hoistedDispatchers","dispatcher","patchedLocalizedStrings","mergeStringsOverrides","localizedGlobalize","GLOBALIZE","GLOBALIZE_LANGUAGE","patchedActivityRenderer","forRenderer","patchedActivityStatusRenderer","patchedAttachmentForScreenReaderRenderer","patchedAttachmentRenderer","forLegacyRenderer","patchedAvatarRenderer","patchedToastRenderer","patchedTypingIndicatorRenderer","ComposerWithStore","memoizedStore","_nextStore$getState$i","nextStore","createStoreWithOptions","storePonyfill","nativeFunction","endsWith","differentKeys","internalRenderErrorBox","setError","handleError","_findLastIndex","_useActivities3","_useActivityKeys3","_usePrevious","_useValueRef","findClosestActivityKeyIfNotExists","prevKeys","prevIndex","prevAcknowledgedActivityKey","allActivityKeys","rawLastAcknowledgedActivityKey","setRawLastAcknowledgedActivityKey","rawLastReadActivityKey","setRawLastReadActivityKey","allActivityKeysRef","prevAllActivityKeys","lastOutgoingActivityKeyIndex","lastReadActivityKey","lastReadActivityKeyRef","lastAcknowledgedActivityKey","activityAcknowledgements","lastAcknowledgedIndex","lastReadIndex","acknowledged","activityAcknowledgementsRef","_activityAcknowledgem","readOnlyRef","_getActivityId","_getClientActivityId","_uniqueId","ActivityKeyerComposer","activityIdToKeyMapRef","activityToKeyMapRef","clientActivityIdToKeyMapRef","keyToActivityMapRef","activityIdToKeyMap","activityToKeyMap","clientActivityIdToKeyMap","nextActivityIdToKeyMap","nextActivityKeys","nextActivityToKeyMap","nextClientActivityIdToKeyMap","nextKeyToActivityMap","numActivities","_freezeArray","_isMapEqual","EXPIRY_SENT","sendStatusByActivityKeyRef","expiryByActivityKey","rectifiedSendStatus","nextSendStatusByActivityKey","_step$value","nextExpiry","xKeys","yKeys","_step2","_iterator2","activityToSendStatusMap","useSendStatusByActivityKey","prevActivityToSendStatusMap","useTrackEvent","prevStatus","telemetryPayload","hasAttachment","sender","bin","activityX","activityY","sending","timeX","timeY","shouldGroupTimestamp","grouping","lastBin","lastItem","bins","targetLanguage","groupTimestampFromProps","sendTimeoutFromProps","PonyfillComposer","partialPonyfill","_useTracker","_UserlandBoundary","_ref$strict","renderTimeArgs","UserlandBoundary","dateToPartsFormatterFn","_dateToPartsFormatterFn","dateFormatterFn","_dateFormatterFn","relativeTimeFormatterFn","_relativeTimeFormatterFn","unitFormatterFn","_unitFormatterFn","a1941952454","a71314638","b1800711952","a311225754","a1058394490","b1405444964","b162621629","b745972495","a1541980371","a83314634","b1711882934","a1565068396","b426806024","b345754148","a1581691774","a1590866443","a2072550185","a1593697547","b431368057","b487177171","a1597391631","a1832240673","a965216723","a1632485429","a821123423","b314646955","a1634332471","b1706669702","b1366822502","a1638950076","a2082738969","a140729307","a1639873597","a1577180344","a1648281116","a1640797118","a561501061","a226994415","a1658344017","a306440732","a910058808","a1666655706","a552376995","b55851631","a1689743731","a1303871883","a1765653417","a1711908235","b718362617","b794073939","a1715602319","b973422946","b111009546","a1723914008","a1804868475","a116678585","a1726684571","b977984979","b252432569","a1739613865","b476988387","b1901407401","a1754390201","a2046242705","b990654877","a1765472453","b1501791736","a689427148","a1803336814","a770941060","b1870300208","a1807030898","b249300256","a861957364","a1840277654","b1260417506","b417906314","a1842124696","a1763810178","b1156128622","a1867983284","b1019043276","b1525239776","a1880912578","b1779662230","a665376426","a1890147788","a1235441388","b355691928","a1947406090","a1485939684","b1180179344","a1954794258","b296705673","b607610563","a669821983","b1561098165","b1149072151","a2007434955","b299482619","b693695889","a2012976081","a1968688144","a900121028","a2032370022","a1463129519","b1887294459","a2033293543","a1435181062","a1541270670","a985776304","a2101971175","a736927693","b274946385","a702510565","a303321743","a2042528753","a697948532","a161898720","a2058228610","b62670422","b1942452374","a2067463820","a688824466","b120947326","a2089628324","b1087473771","a648382175","a2116410433","a1418994715","a1039493913","b96411397","b711487865","b580956627","b847000305","b1759276636","a1297329840","a876307794","b1217046490","a926595182","b846076784","b1831402154","b938561218","b1987075744","b610844905","b1755992163","b1840235905","a1038316025","a2123356411","b1798381219","b592410675","b1184531033","b1403114231","a395141616","b635181084","b560738426","a641077879","b1601091523","b537650401","a130957221","b234962737","b521027023","b2146337608","b2111625700","b509021250","a126395188","b376385760","b505327166","b1904963378","a1076008134","b470233368","a1378886668","b203855544","b468386326","b1148906457","b1256031091","b463768721","b1654465082","a251520718","b462845200","a2134943589","a1759072527","b461921679","a1119264306","a337785826","b444374780","a864203977","a1020850219","b436063091","a1110140240","a54939780","b412975066","a1861635128","a1876444828","b390810562","b160599372","b683282528","b387116478","b415659701","b218135","b378804789","b1932335576","a227469996","b376034226","b420221734","b141641158","b363104932","a80774858","b1790615990","b348328596","b1690961346","b879863466","b337246344","b944028491","a800218559","b299381983","a1328704305","b1759508797","b295687899","a308462989","a972748775","b262441143","b702654261","b307114903","b260594101","b1973393873","b1045337211","b234735513","b461280031","b1414448365","b221806219","b1221898985","a776167837","b212571009","a1793204633","b244900517","b155312707","a2043702929","b1069387933","b147924539","b1200342102","a1444431210","a672152716","b1003334920","b1038280740","b95283842","a258280626","b582904478","b89742716","b1768515907","a1010912439","b70348775","a2020892764","b1776503048","b69425254","a623966585","b2131541637","b1069356579","a1290756698","a1359082682","a1964888028","a1260273810","a414113154","b60190044","a1255711777","a272690131","b44490187","a495092823","b1831660963","b35254977","a1246587711","b10155915","b13090473","b529710526","a759173586","a13691636","a1529786126","a179060358","b856184664","b1522702342","a41198362","a1392834108","b868786351","b1162242397","a1171394821","b2028260967","a1548750171","a1393757629","b940911869","a896833841","b1691988717","a279645380","a79402896","b1545148878","b469273361","n100","b74006373","a1569994036","a1593082061","v0","a1609705439","a1621711212","a1625405296","a1660499094","a1662346136","a1666963741","a1667887262","a1668810783","a1686357682","a1694669371","a1717757396","a1739921900","n10","a1743615984","a1751927673","i10","i100","f10","f100","a1754698236","a1767627530","a1782403866","a1793486118","a1831350479","a1835044563","a1868291319","a1870138361","a1895996949","a1908926243","a1918161453","a1975419755","a1982807923","a2001260574","a2035448620","a2040989746","a2060383687","a2061307208","a598008047","b662714642","a2070542418","a2086242275","a2095477485","a2117641989","a2144424098","a772012218","b1234768562","b1960777549","b1233845041","b529193791","b382353952","a1178402495","timeSeparator","dayPeriods","am","pm","a1191033963","b474539636","b865165659","a399771831","b834145852","b553048632","a2117374958","b2037043728","a461811445","b1615397898","a602360055","b209911798","b1724926701","b2115552724","b428969404","b147872184","b1662887087","a695419476","a1679259746","b1491318670","b648027010","a85735847","a366833067","b1398259249","b1257710639","a709969901","a1693810171","b1898414075","b1836374461","b1274180021","a1582820462","a583971716","a1005617546","a333894303","b1743315040","a374999999","a976026686","b1040571990","b1993392453","b1290649403","a395933917","a286405114","b222114294","b1939787106","b621833333","a277970847","b936690535","b500494280","a50097046","dateToPartsFormatter","a62728514","b46681067","b437307090","a827630400","b406287283","b125190063","b1749733769","b1609185159","a889670014","b1187539329","a1030218624","a217946771","b1297068132","b1687694155","b1110835","a279986385","b1235028518","a1123278045","a2107118315","b1063460101","b220168441","a513594416","a794691636","b970400680","b829852070","a1137828470","a2121668740","b1470555506","b1408515892","b846321452","a454515013","a1011830285","a1433476115","a761752872","b1315456471","b1594777898","b993751211","b612713421","b1565533884","b862790834","a823792486","a714263683","a156599457","a385402293","b136997612","b1691807050","b451854814","b15658559","b1129493863","b318696087","b1716664979","b1949422787","b1132152016","a1421786176","a2094915959","a1667722439","a123437605","a1157601781","a1801512952","b1119693048","b1977123468","a1153039748","b1366947442","b878318818","b1108782004","b1889436068","b463368409","b122261897","b334285690","b627820522","b205202971","b1133379147","b2047598606","a2145908866","b885854135","a1890848537","b1953753456","a2136784800","a1144231800","b1406687608","a1660562676","a866045188","b1472660149","a610984859","b1085411992","b905691016","a721746074","a606422826","b1507897718","a1107419418","a41094910","b664316786","a1038519093","a82616069","a1554849969","b1939618431","a1906860557","a1335107549","b2129941301","a323990299","a1484374831","b946749313","b1003434399","a565364529","a287392791","b195254425","b299413223","b1475118103","a733248529","b1224619807","a1268173962","a1737613082","b498971080","a23309640","a275525234","a1284925186","b1308704963","b741871347","b1179622244","b1247429972","b105017831","a655259881","b502088902","a1322049994","a111204946","b2008048926","b1989356127","b2012610959","b698528937","a1521737383","b1895510977","b2021735025","a1847887874","a496934034","a2068901102","b1857718658","a1130735834","b1491409046","b970642223","a2013874593","a1259818553","b1996967671","b14293757","a1941749075","b964977916","b1132660972","a1260780216","compoundUnitPattern","unitProperties","zero","one","two","few","many","b852797741","b614409566","b1965047144","a1273411684","b304462681","b66074506","b1416712084","b595460021","a946001184","a1184389359","b166248219","b986086044","a1228904359","a1467292534","a116654956","a278851446","a1432594645","a1670982820","a320345242","b955066237","a1579704296","a1818092471","a467454893","b673969017","a1624968804","a1863356979","a512719401","a1996454573","a2054981630","b2001597491","a942732227","a2137003183","a2077613884","b1978965237","a965364481","a340891060","a2134194519","b1922384602","a1021945116","b1736318283","a2145510646","b1911068475","a1033261243","a481439670","b2138140523","b1899752348","a1044577370","b330832183","b1923134110","b1684745935","a1259583783","b1845847086","b1821288967","b1582900792","a1361428926","a2058494187","b1538385792","b1299997617","a1644332101","b549889789","b1266798744","b1028410569","a1915919149","b268792569","b1221534236","b983146061","a1961183657","b1783807472","b1119689093","b881300918","a2063028800","a574499091","b1085740712","b847352537","a2096977181","a1558339361","b927314934","b688926759","b2039564337","b1612239055","b746256902","b507868727","b1858506305","b768947395","b610463378","b372075203","b1722712781","b35184538","b146502171","a91886004","b1258751574","a245912682","b101237663","a137150512","b1213487066","b1519179634","a306142909","a544531084","b806106494","b1378631024","a328775163","a567163338","b783474240","a589049516","a645626719","a884014894","b466622684","a1572889786","a804052497","a1042440672","b308196906","b2019334460","a917213767","a1155601942","b195035636","b1957294846","a1618813641","a1857201816","a506564238","b1395100406","a1709342657","a1947730832","a597093254","a1665198183","a1283235460","a1521623635","a170986057","a463051331","b1940605400","b1702217225","a1242112493","a884697161","b1872708638","b1634320463","a1310009255","a212973918","b1635069971","b1396681796","a1547647922","b1864235425","b1623753844","b1385365669","a1558964049","b1064685448","b826099437","b587711262","b1938348840","b463658761","b1577238540","b1338850365","a1605479353","b1161492375","b1510592574","b1272204399","a1672125319","b2114312838","b1318218415","b1079830240","a1864499478","b1411569788","b1205057145","b966668970","a1977660748","a275013532","b933470097","b695081922","b2045719500","a165484729","b605302414","b366914239","b1717551817","b1657704125","a1393245992","a1631634167","a280996589","a915494743","a1506542996","a1744931171","a394293593","b1803561142","b692157055","b453768880","b1804406458","b1161714600","a1517859123","a1756247298","a405609720","b2118418344","a1900565811","a2138953986","a788316408","b1682222089","b595137292","b356749117","b1707386695","validateParameterTypeDate","ZonedDateTime","definePrivateProperty","getUntilsIndex","untils","originalTime","setWrap","offset1","offset2","setMinutes","timeZoneData","offsets","isdsts","utcMethod","abbrs","dateDayOfWeek","firstDay","dateDistanceInDays","inDays","dateStartOf","setDate","setHours","setSeconds","setMilliseconds","dateDayOfYear","dateFieldsMap","newObject","dateMillisecondsInDay","datePatternRe","dateTimezoneHourFormat","absOffset","dateWeekDays","numberFormatters","dateField","chr","preferredTime","daylightTzName","standardTzName","minDays","genericTzName","timeZoneName","gmtZeroFormat","hourFormat","gmtFormat","dateIsLeapYear","dateLastDayOfMonth","dateSetDate","dateSetMonth","originalDate","outOfRange","low","high","dateParse","amPm","daysOfYear","hour12","DAY","MILLISECONDS","truncateAt","preferredTimeData","dateTokenizer","digitsRe","valid","widths","numeric","tokenRe","hourFormatParse","isPositive","oneDigitIfLengthOne","oneOrTwoDigitsIfLengthOne","oneOrTwoDigitsIfLengthOneOrTwo","twoDigitsIfLengthTwo","standardOrDaylightTzName","timeZoneNameRe","hourFormatRe","dateParserFn","parseProperties","tokenizerProperties","optionsHasStyle","_dateFormat","_dateParser","_dateParserFn","_dateTokenizer","_validateParameterTypeDate","dateParser","formatDateToParts","parseDate","relativeTimeFormat","formatRelativeTime","unitFormat","dividendProperties","formattedValue","divisorProperties","pluralValue","oneProperty","formatUnit","cardPushButtonBackgroundColor","cardPushButtonTextColor","richCardWrapTitle","_s","_e","_arr","_n","running","queueWithCurrent","_asyncToGenerator2","queuedUtterance","_QueuedUtterance","_createDeferred","speakUtterance","_callee4","startCallback","startDeferred","errorDeferred","endDeferred","startEvent","finishedSpeaking","endPromise","endEvent","QueuedUtterance","_cancelled","_deferred","_onStart","_ponyfill","_speaking","_cancel","promiseReject","_useImmediateEffect","unsubscribeRef","utteranceOrText","progressFn","minHeight","wordBreak","appearance","resize","borderColor","borderStyle","marginBottom","marginTop","pointerEvents","paddingTop","paddingBottom","botNubCornerRadius","userNubCornerRadius","fill","stroke","_mirrorStyle","borderBottomLeftRadius","borderTopLeftRadius","borderBottomRightRadius","borderTopRightRadius","paddingLeft","paddingRight","WebkitOverflowScrolling","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","textDecoration","_webchat__keyboard","_webchat__keyboard2","_webchat__keyboard3","_webchat__keyboard4","boxShadow","FORCED_COLORS_SELECTOR","outlineColor","outlineStyle","outlineWidth","DARK_THEME_SELECTOR","LIGHT_THEME_SELECTOR","mixBlendMode","alignSelf","borderBottom","borderLeft","borderRight","borderTop","defaultImageBlobURL","_base64Js","DEFAULT_IMAGE_BASE64","DEFAULT_IMAGE_TYPE","backgroundImage","backgroundRepeat","backgroundSize","scrollbarWidth","textOverflow","textAlign","borderBottomColor","borderBottomStyle","utils","helpers","Renderer","ParserCore","ParserBlock","ParserInline","LinkifyIt","commonmark","BAD_PROTO_RE","GOOD_DATA_RE","validateLink","RECODE_HOSTNAME_FOR","normalizeLink","toASCII","er","normalizeLinkText","toUnicode","defaultChars","MarkdownIt","presetName","inline","linkify","configure","components","ruler","rules2","ruler2","missed","use","inlineMode","renderInline","encodeCache","exclude","keepEscaped","nextCode","getEncodeCache","componentChars","decodeCache","getDecodeCache","seq","b1","b2","b3","b4","slashes","auth","Url","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","hostlessProtocol","slashedProtocol","slashesDenoteHost","lowerProto","hec","rest","simplePath","atSign","hostEnd","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","qm","parseLinkLabel","parseLinkDestination","parseLinkTitle","disableNested","found","prevPos","labelEnd","posMax","oldPos","skipToken","default_rules","code_inline","slf","renderAttrs","code_block","fence","highlighted","tmpAttrs","tmpToken","langName","langAttrs","highlight","langPrefix","renderInlineAsText","renderToken","hardbreak","xhtmlOut","softbreak","breaks","html_block","html_inline","needLf","_rules","Core","NEWLINES_RE","NULL_RE","isLinkClose","currentToken","ln","lastPos","htmlLinkLevel","fullUrl","urlText","links","blockTokens","pretest","schema","RARE_RE","SCOPED_ABBR_TEST_RE","SCOPED_ABBR_RE","SCOPED_ABBR","tm","replaceFn","replace_scoped","inlineTokens","inside_autolink","replace_rare","blkIdx","typographer","QUOTE_TEST_RE","QUOTE_RE","replaceAt","process_inlines","thisLevel","lastChar","nextChar","isLastPunctChar","isNextPunctChar","isLastWhiteSpace","isNextWhiteSpace","canOpen","canClose","isSingle","openQuote","closeQuote","OUTER","single","quotes","StateCore","startLine","endLine","hasEmptyLines","maxNesting","skipEmptyLines","sCount","blkIndent","tight","outTokens","lineMax","getLine","bMarks","tShift","eMarks","escapedSplit","isEscaped","lineText","nextLine","aligns","tableLines","tbodyLines","oldParentType","terminatorRules","firstCh","secondCh","parentType","getLines","mem","haveEndMarker","skipChars","skipSpaces","adjustTab","lastLineEmpty","oldBMarks","oldBSCount","oldIndent","oldSCount","oldTShift","spaceAfterMarker","isOutdented","oldLineMax","bsCount","cnt","skipBulletListMarker","skipOrderedListMarker","contentStart","indent","indentAfterMarker","isOrdered","itemLines","listLines","listTokIdx","markerCharCode","markerValue","oldListIndent","oldTight","posAfterMarker","prevEmptyEnd","isTerminatingParagraph","listIndent","markTightParagraphs","_endLine","destEndPos","destEndLineNo","references","block_names","HTML_SEQUENCES","skipSpacesBack","skipCharsBack","StateBlock","indent_found","ddIndent","keepLastLF","lineIndent","lineStart","_rules2","pushPending","isTerminatorChar","SCHEME_RE","linkLevel","matchAtStart","pmax","ESCAPED","ch1","ch2","origStr","escapedStr","matchStart","matchEnd","openerLength","closerLength","backticksScanned","backticks","labelStart","parseReference","EMAIL_RE","AUTOLINK_RE","isLetter","DIGITAL_RE","NAMED_RE","processDelimiters","closerIdx","openerIdx","closer","opener","minOpenerIdx","newMinOpenerIdx","isOddMatch","lastJump","openersBottom","headerIdx","lastTokenIdx","jumps","StateInline","pendingLevel","_prev_delimiters","token_meta","canSplitWord","left_flanking","right_flanking","fuzzyLink","fuzzyEmail","fuzzyIP","defaultSchemas","http","src_auth","src_host_port_strict","src_path","no_http","src_domain","src_domain_root","src_port","src_host_terminator","mailto","src_email_name","src_host_strict","tlds_2ch_src_re","tlds_default","__opts__","tlds","__tlds__","untpl","tpl","src_tlds","onCompile","__tlds_replaced__","src_xn","email_fuzzy","tpl_email_fuzzy","link_fuzzy","tpl_link_fuzzy","link_no_ip_fuzzy","tpl_link_no_ip_fuzzy","host_fuzzy_test","tpl_host_fuzzy_test","schemaError","__compiled__","__schemas__","compiled","isRegExp","createValidator","slist","schema_test","src_ZPCc","schema_search","schema_at_start","__index__","__text_cache__","resetScanCache","Match","__last_index__","__schema__","createMatch","schemas","acc","definition","ml","tld_pos","testSchemaAt","keepOld","src_Any","src_Cc","src_Z","src_P","src_ZCc","text_separators","src_pseudo_letter","src_ip4","src_host","tpl_host_fuzzy","tpl_host_no_ip_fuzzy","tpl_host_fuzzy_strict","tpl_host_port_fuzzy_strict","tpl_host_port_no_ip_fuzzy_strict","_useActivitiesWithRenderer","_useActivityTreeWithRenderer","_useMemoWithPrevious","useActivities","useCreateActivityRenderer","activitiesWithRenderer","activityTreeWithRenderer","flattenedActivityTreeWithRenderer","prevFlattenedActivityTree","nextFlattenedActivityTree","intermediate","entriesWithSameSender","entriesWithSameSenderAndStatus","activityTreeWithRendererState","flattenedActivityTreeWithRendererState","createActivityRendererWithLiteralArgs","_useMemoize","createActivityRendererWithLiteralArgsMemoized","prevEntriesRef","prevEntries","prevEntry","memoizedFn","nextCache","cachedArgs","_intersectionOf","_removeInline","useGroupActivities","validateAllEntriesTagged","visibleActivities","groupActivitiesResult","activitiesBySender","activitiesByStatus","_map2","entriesBySender","entriesByStatus","entriesPendingGrouping","activityTree","senderTree","entriesWithSameStatus","activitiesWithSameSender","activitiesWithSameSenderAndStatus","arg0","interim","intersection","prevValueRef","_walkMarkdownTokens","_updateMarkdownAttrs","fromEntries","_Array$isArray","_getIteratorMethod","_r","doesNotExceedSafeInteger","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","$Array","$toString","nativeObjectCreate","getOwnPropertyNamesExternal","$forEach","HIDDEN","SYMBOL","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","useSetter","useSimple","fin","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","$stringify","numberToString","tester","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","replacer","$replacer","fixIllFormed","_Array$from","entryVirtual","nativeSlice","HAS_SPECIES_SUPPORT","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","$map","endPos","nativeKeys","$filter","FAILS_ON_PRIMITIVES","STRICT_METHOD","arrayMethodIsStrict","WrappedWellKnownSymbolModule","_Symbol$toPrimitive","prim","$parseFloat","whitespaces","trimmedString","whitespace","ltrim","rtrim","$entries","TO_ENTRIES","$reduce","CHROME_VERSION","IS_RIGHT","$Date","thisTimeValue","$indexOf","nativeIndexOf","NEGATIVE_ZERO","setArrayLength","deletePropertyOrThrow","deleteCount","insertCount","actualDeleteCount","actualStart","SILENT_ON_NON_WRITABLE_LENGTH_SET","nativeGetPrototypeOf","nativeReverse","CarouselFilmStrip","carouselFilmStripStyleSet","showActivityStatus","hideNub","CarouselFilmStripAttachment","carouselFilmStripAttachmentStyleSet","tabIndex","_SendStatus2","_InlineMarkdown","MARKDOWN_REFERENCES","SendFailedRetry","handleReference","sendFailedText","onReference","_useInternalMarkdownIt","InlineMarkdown","markdownIt","styleToClassName","_references$reduce","reference","hrefToRef","refToHref","markdownTokens","updatedTree","markdownToken","_Timestamp","_useForceRenderAtInterval","useRelativeTimeFormatter","RelativeTime","origin","nextTimer","setTimer","_args$$activity$from","_args$$activity$from$","FileAttachment","_ref$attachment","_ref$attachment$name","TextAttachment","_ref$attachment$conte","AudioAttachment","audioAttachmentStyleSet","_ref$activity","_ref$activity$attachm","_ref$activity$channel","_ref$activity$channel2","DownloadIcon","focusable","dataURI","base64","PATTERN","DEFAULT_CONTENT_TYPE","_match","encoding","VideoAttachment","videoAttachmentStyleSet","ImageAvatar","avatarImageForBot","avatarImageForUser","imageAvatarStyleSet","InitialsAvatar","avatarInitialsForBot","avatarInitialsForUser","initialsAvatarStyleSet","_args$$cardAction","ALLOWED_SCHEMES","getScheme","_detectBrowser","newWindow","popup","atEnd","unread","ScrollToEndButton","scrollToEndButtonStyleSet","_createToastMiddleware","_BasicToast","_DismissIcon","_NotificationIcon","_useInternalRenderMarkdownInline","useDismissNotification","BasicToast","_ref$notification","_ref$notification$mes","toastStyleSet","contentId","renderMarkdownInline","handleDismiss","DismissIcon","CheckMarkIcon","ExclamationMarkIcon","visible","DotIndicator","typingIndicatorStyleSet","_reactDictateButton","_useResumeAudioContext","_useSettableDictateAbortable","_useWebSpeechPonyfill4","_useSetDictateState","useDictateInterims","useDictateState","useDisabled","useEmitTypingIndicator","useLanguage","useSendBoxValue","useSendTypingIndicator","useShouldSpeakIncomingActivity","useStopDictate","useSubmitSendBox","_Constants$DictateSta","Dictation","setShouldSpeakIncomingActivity","_useWebSpeechPonyfill3","SpeechGrammarList","SpeechRecognition","speechLanguage","resumeAudioContext","numSpeakingActivities","handleDictate","_ref3$result","confidence","transcript","speech","alternatives","handleDictating","abortable","_ref4$results","interims","onDictate","onProgress","speechGrammarList","speechRecognition","MAXIMUM_ALLOWED_INDEX_EXCEEDED","un$Slice","keepAspectRatio","createCanvas","canvas","loadImageFromBlob","blobURL","_keepAspectRatio","drawImage","toDataURL","reader","FileReader","onloadend","readAsArrayBuffer","ports","resizeQuality","imageBitmap","dimension","offscreenCanvas","readAsDataURL","blobToDataURL","dataURL","_useRefFrom","_useScrollToEnd","useConnectivityStatus","SUBMIT_ERROR_MESSAGE_STYLE","apiSubmitSendBox","scrollToEnd","submitErrorMessageId","timeoutRef","errorMessageStringMap","focusRef","useRefFrom","scrollToEndRef","setErrorRef","submitErrorMessageClassName","submitErrorMessageIdState","submitErrorRef","submit","_focusRef$current","setFocus","_setErrorRef$current","_scrollToEndRef$curre","submitError","_setErrorRef$current2","_setErrorRef$current3","_create","useTrackDimension","speechRecognitionCapability","speechSynthesisCapability","convertReactSVGDOMProperty","serializeAttrs","DataPropPrefix","svgContainer","firstElementChild","jsx","jsxs","extendStatics","__","__read","ar","CloseEvent","wasClean","getGlobalWebSocket","maxReconnectionDelay","minReconnectionDelay","minUptime","reconnectionDelayGrowFactor","connectionTimeout","maxRetries","maxEnqueuedMessages","startClosed","ReconnectingWebSocket","protocols","_listeners","_retryCount","_shouldReconnect","_connectLock","_binaryType","_closeCalled","_messageQueue","_handleOpen","_debug","_connectTimeout","_uptimeTimeout","_acceptOpen","_ws","binaryType","_callEventListener","_handleMessage","_handleError","_handleClose","_clearTimeouts","_url","_protocols","OPEN","CLOSING","CLOSED","bufferedAmount","reconnect","__spread","_getNextDelay","_c","_wait","_getNextUrl","urlProvider","_removeListeners","_addListeners","_handleTimeout","SchedulerAction","ServiceProxy","options_","_response","processMarkMessageStatuses","_responseText","result500","resultData500","jsonParseReviver","ErrorDetails","fromJS","throwException","processMarkSenderActions","forActivities","processGetStatus","resultData200","processConnectConversations","processDisconnectConversations","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_typeof2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","stackTrace","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","MessageStatusOutputDto","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","ConnectConversationsInput","conversationId1","conversationId2","MessageStatusInputDtoStatus","MessageStatusOutputDtoStatus","DisconnectConversationsInput","ApiException","_possibleConstructorReturn2","_getPrototypeOf2","_assertThisInitialized2","isApiException","isNativeReflectConstruct","_construct","catchError_1","tap_1","isNumeric_1","initialDelay","AjaxObservable_1","StringIterator","ArrayIterator","valueAsNumber","IntervalObservable_1","IntervalObservable","ErrorObservable_1","ErrorObservable","impl","fullPattern","shortPattern","tabletPattern","equalIC","containsIC","valueLC","convertPropsToRegExp","maxPhoneWidth","prepareUserAgent","FALLBACK_PHONE","FALLBACK_TABLET","FALLBACK_MOBILE","verPos","mobileDetectRules","oss","phones","tablets","uas","oss0","WindowsPhoneOS","WindowsMobileOS","findMatch","findMatches","getVersionStr","prepareVersionNo","numbers","isMobileFallback","detectMobileBrowsers","isTabletFallback","prepareDetectionCache","phone","phoneSized","isPhoneSized","mobileGrade","$isMobile","detectOS","getDeviceSmallerSide","screen","userAgents","versionStr","grade","_impl","parseLoop","base64Str","base64StrLength","reverseMap","bitsCombined","Base64","_map","base64Chars","triplet","paddingChar","_reverseMap","paddingIndex","_hash","offset_i","M_offset_i","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","FF","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","nBitsTotalL","H_i","HmacMD5","SHA1","HmacSHA1","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","_iKey","oKeyWords","iKeyWords","innerHash","Cipher","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","xformMode","_xformMode","dataUpdate","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","decrypt","ciphertext","C_mode","StreamCipher","BlockCipherMode","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","_prevBlock","processBlock","thisBlock","Pkcs7","blockSizeBytes","nPaddingBytes","paddingWord","paddingWords","unpad","CipherParams","modeCreator","_mode","__creator","finalProcessedBlocks","cipherParams","formatter","OpenSSLFormatter","OpenSSL","openSSLStr","ciphertextWords","encryptor","cipherCfg","algorithm","_parse","OpenSSLKdf","kdf","derivedParams","RetryOperation","timeouts","forever","maxRetryTime","factor","minTimeout","maxTimeout","randomize","createTimeout","op","_originalTimeouts","_timeouts","_maxRetryTime","_fn","_errors","_attempts","_operationTimeout","_operationTimeoutCb","_timeout","_operationStart","_timer","_cachedTimeouts","currentTime","timeoutOps","try","counts","mainErrorCount","colorNames","swizzle","reverseNames","hexDouble","hexAlpha","i2","rgba","hsla","hwba","isArrayish","conversions","route","fromModel","routes","toModel","wrappedFn","conversion","wrapRounded","wrapRaw","deriveBFS","graph","models","buildGraph","adjacents","adjacent","wrapConversion","cur","vendorPrefix","applyAll","_arguments","recognitionAbortable","recognition","onRawEvent","setReadyState","emitDictateOnEndRef","extraRef","grammarRef","langRef","notAllowedRef","onDictateRef","onErrorRef","onProgressRef","onRawEventRef","prevSpeechRecognition","usePrevious","recognitionRef","speechGrammarListRef","speechRecognitionRef","handleAudioEnd","handleAudioStart","handleEnd","handleRawEvent","handleResult","rawResults","alts","firstAlt","isFinal","handleStart","addFromString","interimResults","onaudioend","onaudiostart","onend","onnomatch","onresult","onsoundend","onsoundstart","onspeechend","onspeechstart","onstart","_extra","mediaDevices","getUserMedia","useDictateContext","useReadyState","useSupported","DictateButtonCore","_useReadyState","_useSupported","DictateButton","setStarted","onClickRef","DictateCheckboxCore","DictateCheckbox","useAbortable","widgetLink","__webpack_public_path__","invariant","framesToPop","LOADABLE_SHARED","initialChunks","STATUS_PENDING","STATUS_REJECTED","createLoadable","_ref$defaultResolveCo","defaultResolveComponent","onLoad","loadable","loadableConstructor","requireAsync","chunkName","resolveConstructor","_getCacheKey","cacheKey","Loadable","resolveComponent","preload","EnhancedInnerLoadable","LoadableWithChunkExtractor","extractor","__chunkExtractor","withChunkExtractor","InnerLoadable","loading","requireSync","ssr","loadSync","addChunk","isReady","mounted","cachedPromise","getCache","setCache","loadAsync","prevState","safeSetState","getCacheKey","triggerOnLoad","resolveAsync","loadedModule","_this$props","forwardedRef","_this$props2","propFallback","_this$state","suspense","load","_createLoadable","_createLoadable$1","loadable$1","lazy$1","loadable$2","rowSizeBase","colSizeBase","edgeBase","topRight","bottomRight","bottomLeft","topLeft","Resizer","onMouseDown","onResizeStart","onTouchStart","replaceStyles","DEFAULT_SIZE","snap","gridGap","hasDirection","isTouchEvent","findClosestSnap","snapArray","snapGap","closestGapIndex","gap","getStringSize","getPixelSize","parentSize","innerHeight","definedProps","baseClassName","Resizable","resizable","parentLeft","parentTop","resizableLeft","resizableRight","resizableTop","resizableBottom","targetLeft","targetTop","appendBase","classList","removeBase","isResizing","propsSize","backgroundStyle","flexBasis","onMouseMove","onMouseUp","defaultSize","orgWidth","orgHeight","offsetHeight","orgPosition","getSize","getParentSize","wrapChanged","flexWrap","bindEvents","unbindEvents","computedStyle","getComputedStyle","createSizeForCssProperty","newSize","calculateNewMaxFromBoundary","boundWidth","boundHeight","boundsByDirection","widthByDirection","heightByDirection","bounds","parent_1","calculateNewSizeFromDirection","scale","resizeRatio","resizeRatioX","resizeRatioY","lockAspectRatio","lockAspectRatioExtraHeight","lockAspectRatioExtraWidth","newWidth","newHeight","extraHeight","extraWidth","calculateNewSizeFromAspectRatio","computedMinWidth","computedMaxWidth","computedMinHeight","computedMaxHeight","extraMinWidth","extraMaxWidth","extraMinHeight","extraMaxHeight","lockedMinWidth","lockedMaxWidth","lockedMinHeight","lockedMaxHeight","setBoundingClientRect","adjustedScale","parent_2","parentRect","getBoundingClientRect","targetRect","top_1","isMouseEvent","parent_3","flexDir","TouchEvent","calculateNewMax","boundaryMax","grid","newGridWidth","newGridHeight","newState","widthChanged","heightChanged","flexBaseChanged","changed","onResize","onResizeStop","updateSize","renderResizer","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","handleComponent","resizers","extendsProps","LoadableWebchat","MinimizableWebChat","chatBoxBottomRadius","determinedDir","webchatLoadedRef","HTMLElement","calculatedBottom","animationDuration","verticalAlign","escapeDeactivatesCallback","HTMLButtonElement","_jsxs","_jsx","delayInitialFocus","ButtonToggleWebchat","_Fragment","defaultExpandIcon","defaultCollapseIcon","onDragStart","draggable","App","_druidWebChatState$st2","refsContextValue","customDruidStyleSet","webchatRoot","webchatRootStyleSet","_druidWebChatState$st","bfDispatch","parentElement","druidWebChatInstance","multichatInstance","notificationsSounds","commonInit","rootElem","newElem","renderWebchat","_initialOptions$UI4","_initialOptions$UI5","_initialOptions$UI6","_initialOptions$autho","botDto","apiUrl","loadReact","onResizeHandler","addWindowListeners","initNotifications","reInitializeChat","withNewOptions","initFunction","collapse","clearCookies","changeLocale","_druidWebChatInstance","_druidWebChatInstance2","_druidWebChatInstance3","_druidWebChatInstance4","sendEventWithAnswer","_druidWebChatInstance5","_initialOptions","timeoutDelayMs","noOfExpectedMessagesFromBot","messagesFromBot","responseAction","responseActionTimeout","getMergedChatOptions","_druidWebChatInstance6","_druidWebChatInstance7","disableChat","_druidWebChatInstance8","setActivityStatusBotName","_druidWebChatInstance9","activityStatusBotName","setActivityStatusUserName","_druidWebChatInstance10","activityStatusUserName","setMergedChatOptionsSimpleValue","_druidWebChatInstance11","druidDispatch","_druidWebChatInstance12","_druidWebChatInstance13","getActivities","_druidWebChatInstance14","_druidWebChatInstance15","_druidWebChatInstance16","_druidWebChatInstance17","prepareConversationHistoryActivities","firstActivity","loadAllMessagesActivity","loadAllMessages","separatorActivity","onWindowFocusHandler","isWindowFocused","onWindowBlurHandler","_document$getElementB","audio","Audio","druidNewMessageNotification","_druidWebChatInstance18","_druidWebChatInstance19","candidateSelectors","candidateSelector","msMatchesSelector","webkitMatchesSelector","getCandidates","includeContainer","candidates","getTabindex","tabindexAttr","isContentEditable","sortOrderedTabbables","documentOrder","isInput","isNonTabbableRadio","isRadio","radioSet","radioScope","queryRadios","CSS","getCheckedRadio","isTabbableRadio","isNodeMatchingSelectorFocusable","isHiddenInput","displayCheck","visibility","nodeUnderDetails","_node$getBoundingClie","isDetailsWithSummary","isDisabledFromFieldset","isNodeMatchingSelectorTabbable","focusableCandidateSelector","isFocusable","activeFocusTraps","trapQueue","activateTrap","trap","activeTrap","trapIndex","valueOrHandler","getActualTarget","shadowRoot","composedPath","elements","userOptions","containers","tabbableGroups","nodeFocusedBeforeActivation","mostRecentlyFocusedNode","delayInitialFocusTimer","getOption","configOverrideOptions","configOptionName","containersContain","getInitialFocusNode","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","tabbableNodes","regularTabbables","orderedTabbables","candidate","candidateTabindex","tabbable","lastTabbableNode","tryFocus","isSelectableInput","previousActiveElement","checkPointerDown","checkFocusIn","targetContained","Document","checkKey","isEscapeEvent","isTabEvent","destinationNode","containerIndex","startOfGroupIndex","destinationGroupIndex","lastOfGroupIndex","_destinationGroupIndex","checkTab","checkClick","addListeners","removeListeners","activateOptions","finishActivation","deactivateOptions","elementsAsArray","__assignFn","extendStaticsFn","__extendsFn","__spreadArrayFn","il"],"mappings":"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EAAA,MACAspG,EAAAh2F,GAAAtT,EAAA,MACAupG,EAAAj2F,GAAAtT,EAAA,MACAwpG,EAAAl2F,GAAAtT,EAAA,MACAypG,EAAAn2F,GAAAtT,EAAA,MAEA0pG,EAAAp2F,GAAAtT,EAAA,MAEA2pG,EAAAr2F,GAAAtT,EAAA,M,2DAIA,WACE,OACEymG,IACCA,GAAmB,EAAAkD,EAAA54F,SAClB,CACE,QAAS21F,EAAA31F,QACT,QAAS41F,EAAA51F,QACT,QAAS61F,EAAA71F,QACT,QAAS81F,EAAA91F,QACT,QAAS+1F,EAAA/1F,QACT,QAASg2F,EAAAh2F,QACT,QAASi2F,EAAAj2F,QACT,QAASk2F,EAAAl2F,QACT,QAASm2F,EAAAn2F,QACT,QAASo2F,EAAAp2F,QACT,QAASq2F,EAAAr2F,QACT,QAASs2F,EAAAt2F,QACT,QAASu2F,EAAAv2F,QACT,QAASw2F,EAAAx2F,QACT,QAASy2F,EAAAz2F,QACT,QAAS02F,EAAA12F,QACT,QAAS22F,EAAA32F,QACT,QAAS42F,EAAA52F,QACT,QAAS62F,EAAA72F,QACT,QAAS82F,EAAA92F,QACT,QAAS+2F,EAAA/2F,QACT,QAASg3F,EAAAh3F,QACT,QAASi3F,EAAAj3F,QACT,QAASk3F,EAAAl3F,QACT,QAASm3F,EAAAn3F,QACT,QAASo3F,EAAAp3F,QACT,QAASq3F,EAAAr3F,QACT,QAASs3F,EAAAt3F,QACT,QAASu3F,EAAAv3F,QACT,QAASw3F,EAAAx3F,QACT,QAASy3F,EAAAz3F,QACT,QAAS03F,EAAA13F,QACT,QAAS23F,EAAA33F,QACT,QAAS43F,EAAA53F,QACT,QAAS63F,EAAA73F,QACT,QAAS83F,EAAA93F,QACT,QAAS+3F,EAAA/3F,QACT,UAAWg4F,EAAAh4F,QACX,UAAWi4F,EAAAj4F,QACX,QAASk4F,EAAAl4F,QACT,QAASm4F,EAAAn4F,QACT,QAASo4F,EAAAp4F,QACT,QAASq4F,EAAAr4F,QACT,QAASs4F,EAAAt4F,QACT64F,IAAAN,EAAAv4F,QACA,UAAWw4F,EAAAx4F,QACX,U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","file":"druid_webchat_v2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t1: 0\n \t};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"druid_webchat_v2_\" + ({\"0\":\"babel_standalone\",\"2\":\"modules\",\"3\":\"speech\",\"4\":\"vendors~babel_standalone\",\"5\":\"vendors~liveness\",\"6\":\"vendors~modules\",\"7\":\"vendors~pdfjs-dist\",\"8\":\"vendors~pdfjsWorker\",\"9\":\"vendors~pdflib\",\"10\":\"vendors~robotjs\",\"11\":\"vendors~speech\"}[chunkId]||chunkId) + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"2\":1,\"6\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"0\":\"babel_standalone\",\"2\":\"modules\",\"3\":\"speech\",\"4\":\"vendors~babel_standalone\",\"5\":\"vendors~liveness\",\"6\":\"vendors~modules\",\"7\":\"vendors~pdfjs-dist\",\"8\":\"vendors~pdfjsWorker\",\"9\":\"vendors~pdflib\",\"10\":\"vendors~robotjs\",\"11\":\"vendors~speech\"}[chunkId]||chunkId) + \".\" + {\"0\":\"31d6cfe0\",\"2\":\"a4a4dd46\",\"3\":\"31d6cfe0\",\"4\":\"31d6cfe0\",\"5\":\"31d6cfe0\",\"6\":\"521255b0\",\"7\":\"31d6cfe0\",\"8\":\"31d6cfe0\",\"9\":\"31d6cfe0\",\"10\":\"31d6cfe0\",\"11\":\"31d6cfe0\"}[chunkId] + \".chunk.css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = this[\"webchatV2JsonpFunction\"] = this[\"webchatV2JsonpFunction\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1528);\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","import '@redux-saga/symbols';\nimport '@babel/runtime/helpers/esm/extends';\nimport { channel, stringableFunc, func, notUndef } from '@redux-saga/is';\nimport { q as makeIterator, K as take, L as fork, M as cancel, N as call, O as delay, Q as actionChannel, U as sliding, V as race, c as check } from './io-c3792963.js';\nexport { Q as actionChannel, _ as all, $ as apply, N as call, M as cancel, a4 as cancelled, a0 as cps, O as delay, W as effectTypes, a5 as flush, L as fork, a6 as getContext, a2 as join, Y as put, Z as putResolve, V as race, a3 as select, a7 as setContext, a1 as spawn, K as take, X as takeMaybe } from './io-c3792963.js';\nimport '@redux-saga/delay-p';\n\nvar done = function done(value) {\n return {\n done: true,\n value: value\n };\n};\n\nvar qEnd = {};\nfunction safeName(patternOrChannel) {\n if (channel(patternOrChannel)) {\n return 'channel';\n }\n\n if (stringableFunc(patternOrChannel)) {\n return String(patternOrChannel);\n }\n\n if (func(patternOrChannel)) {\n return patternOrChannel.name;\n }\n\n return String(patternOrChannel);\n}\nfunction fsmIterator(fsm, startState, name) {\n var stateUpdater,\n errorState,\n effect,\n nextState = startState;\n\n function next(arg, error) {\n if (nextState === qEnd) {\n return done(arg);\n }\n\n if (error && !errorState) {\n nextState = qEnd;\n throw error;\n } else {\n stateUpdater && stateUpdater(arg);\n var currentState = error ? fsm[errorState](error) : fsm[nextState]();\n nextState = currentState.nextState;\n effect = currentState.effect;\n stateUpdater = currentState.stateUpdater;\n errorState = currentState.errorState;\n return nextState === qEnd ? done(arg) : effect;\n }\n }\n\n return makeIterator(next, function (error) {\n return next(null, error);\n }, name);\n}\n\nfunction takeEvery(patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var action,\n setAction = function setAction(ac) {\n return action = ac;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return {\n nextState: 'q1',\n effect: yFork(action)\n };\n }\n }, 'q1', \"takeEvery(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction takeLatest(patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var yCancel = function yCancel(task) {\n return {\n done: false,\n value: cancel(task)\n };\n };\n\n var task, action;\n\n var setTask = function setTask(t) {\n return task = t;\n };\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return task ? {\n nextState: 'q3',\n effect: yCancel(task)\n } : {\n nextState: 'q1',\n effect: yFork(action),\n stateUpdater: setTask\n };\n },\n q3: function q3() {\n return {\n nextState: 'q1',\n effect: yFork(action),\n stateUpdater: setTask\n };\n }\n }, 'q1', \"takeLatest(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction takeLeading(patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n\n var yCall = function yCall(ac) {\n return {\n done: false,\n value: call.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var action;\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return {\n nextState: 'q1',\n effect: yCall(action)\n };\n }\n }, 'q1', \"takeLeading(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction throttle(delayLength, patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n var action, channel$1;\n\n var yTake = function yTake() {\n return {\n done: false,\n value: take(channel$1)\n };\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var yDelay = {\n done: false,\n value: delay(delayLength)\n };\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n var setChannel = function setChannel(ch) {\n return channel$1 = ch;\n };\n\n var needsChannel = !channel(patternOrChannel);\n\n if (!needsChannel) {\n setChannel(patternOrChannel);\n }\n\n return fsmIterator({\n q1: function q1() {\n var yActionChannel = {\n done: false,\n value: actionChannel(patternOrChannel, sliding(1))\n };\n return {\n nextState: 'q2',\n effect: yActionChannel,\n stateUpdater: setChannel\n };\n },\n q2: function q2() {\n return {\n nextState: 'q3',\n effect: yTake(),\n stateUpdater: setAction\n };\n },\n q3: function q3() {\n return {\n nextState: 'q4',\n effect: yFork(action)\n };\n },\n q4: function q4() {\n return {\n nextState: 'q2',\n effect: yDelay\n };\n }\n }, needsChannel ? 'q1' : 'q2', \"throttle(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nfunction retry(maxTries, delayLength, fn) {\n var counter = maxTries;\n\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n var yCall = {\n done: false,\n value: call.apply(void 0, [fn].concat(args))\n };\n var yDelay = {\n done: false,\n value: delay(delayLength)\n };\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yCall,\n errorState: 'q10'\n };\n },\n q2: function q2() {\n return {\n nextState: qEnd\n };\n },\n q10: function q10(error) {\n counter -= 1;\n\n if (counter <= 0) {\n throw error;\n }\n\n return {\n nextState: 'q1',\n effect: yDelay\n };\n }\n }, 'q1', \"retry(\" + fn.name + \")\");\n}\n\nfunction debounceHelper(delayLength, patternOrChannel, worker) {\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n var action, raceOutput;\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n var yRace = {\n done: false,\n value: race({\n action: take(patternOrChannel),\n debounce: delay(delayLength)\n })\n };\n\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(void 0, [worker].concat(args, [ac]))\n };\n };\n\n var yNoop = function yNoop(value) {\n return {\n done: false,\n value: value\n };\n };\n\n var setAction = function setAction(ac) {\n return action = ac;\n };\n\n var setRaceOutput = function setRaceOutput(ro) {\n return raceOutput = ro;\n };\n\n return fsmIterator({\n q1: function q1() {\n return {\n nextState: 'q2',\n effect: yTake,\n stateUpdater: setAction\n };\n },\n q2: function q2() {\n return {\n nextState: 'q3',\n effect: yRace,\n stateUpdater: setRaceOutput\n };\n },\n q3: function q3() {\n return raceOutput.debounce ? {\n nextState: 'q1',\n effect: yFork(action)\n } : {\n nextState: 'q2',\n effect: yNoop(raceOutput.action),\n stateUpdater: setAction\n };\n }\n }, 'q1', \"debounce(\" + safeName(patternOrChannel) + \", \" + worker.name + \")\");\n}\n\nvar validateTakeEffect = function validateTakeEffect(fn, patternOrChannel, worker) {\n check(patternOrChannel, notUndef, fn.name + \" requires a pattern or channel\");\n check(worker, notUndef, fn.name + \" requires a saga parameter\");\n};\n\nfunction takeEvery$1(patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n validateTakeEffect(takeEvery$1, patternOrChannel, worker);\n }\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n return fork.apply(void 0, [takeEvery, patternOrChannel, worker].concat(args));\n}\nfunction takeLatest$1(patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n validateTakeEffect(takeLatest$1, patternOrChannel, worker);\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n return fork.apply(void 0, [takeLatest, patternOrChannel, worker].concat(args));\n}\nfunction takeLeading$1(patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n validateTakeEffect(takeLeading$1, patternOrChannel, worker);\n }\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n\n return fork.apply(void 0, [takeLeading, patternOrChannel, worker].concat(args));\n}\nfunction throttle$1(ms, patternOrChannel, worker) {\n if (process.env.NODE_ENV !== 'production') {\n check(patternOrChannel, notUndef, \"throttle requires a pattern or channel\");\n check(worker, notUndef, 'throttle requires a saga parameter');\n }\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) {\n args[_key4 - 3] = arguments[_key4];\n }\n\n return fork.apply(void 0, [throttle, ms, patternOrChannel, worker].concat(args));\n}\nfunction retry$1(maxTries, delayLength, worker) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {\n args[_key5 - 3] = arguments[_key5];\n }\n\n return call.apply(void 0, [retry, maxTries, delayLength, worker].concat(args));\n}\nfunction debounce(delayLength, pattern, worker) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 3 ? _len6 - 3 : 0), _key6 = 3; _key6 < _len6; _key6++) {\n args[_key6 - 3] = arguments[_key6];\n }\n\n return fork.apply(void 0, [debounceHelper, delayLength, pattern, worker].concat(args));\n}\n\nexport { debounce, retry$1 as retry, takeEvery$1 as takeEvery, takeLatest$1 as takeLatest, takeLeading$1 as takeLeading, throttle$1 as throttle };\n","import { TASK_CANCEL, TERMINATE, SAGA_LOCATION, SAGA_ACTION, IO, SELF_CANCELLATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { array, notUndef, pattern, multicast, channel, undef, effect, task, func, buffer, string, object } from '@redux-saga/is';\nimport delayP from '@redux-saga/delay-p';\n\nvar konst = function konst(v) {\n return function () {\n return v;\n };\n};\nvar kTrue =\n/*#__PURE__*/\nkonst(true);\n\nvar noop = function noop() {};\n\nif (process.env.NODE_ENV !== 'production' && typeof Proxy !== 'undefined') {\n noop =\n /*#__PURE__*/\n new Proxy(noop, {\n set: function set() {\n throw internalErr('There was an attempt to assign a property to internal `noop` function.');\n }\n });\n}\nvar identity = function identity(v) {\n return v;\n};\nvar hasSymbol = typeof Symbol === 'function';\nvar asyncIteratorSymbol = hasSymbol && Symbol.asyncIterator ? Symbol.asyncIterator : '@@asyncIterator';\nfunction check(value, predicate, error) {\n if (!predicate(value)) {\n throw new Error(error);\n }\n}\nvar assignWithSymbols = function assignWithSymbols(target, source) {\n _extends(target, source);\n\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(source).forEach(function (s) {\n target[s] = source[s];\n });\n }\n};\nvar flatMap = function flatMap(mapper, arr) {\n var _ref;\n\n return (_ref = []).concat.apply(_ref, arr.map(mapper));\n};\nfunction remove(array, item) {\n var index = array.indexOf(item);\n\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\nfunction once(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n\n called = true;\n fn();\n };\n}\n\nvar kThrow = function kThrow(err) {\n throw err;\n};\n\nvar kReturn = function kReturn(value) {\n return {\n value: value,\n done: true\n };\n};\n\nfunction makeIterator(next, thro, name) {\n if (thro === void 0) {\n thro = kThrow;\n }\n\n if (name === void 0) {\n name = 'iterator';\n }\n\n var iterator = {\n meta: {\n name: name\n },\n next: next,\n throw: thro,\n return: kReturn,\n isSagaIterator: true\n };\n\n if (typeof Symbol !== 'undefined') {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n\n return iterator;\n}\nfunction logError(error, _ref2) {\n var sagaStack = _ref2.sagaStack;\n\n /*eslint-disable no-console*/\n console.error(error);\n console.error(sagaStack);\n}\nvar internalErr = function internalErr(err) {\n return new Error(\"\\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n Error: \" + err + \"\\n\");\n};\nvar createSetContextWarning = function createSetContextWarning(ctx, props) {\n return (ctx ? ctx + '.' : '') + \"setContext(props): argument \" + props + \" is not a plain object\";\n};\nvar FROZEN_ACTION_ERROR = \"You can't put (a.k.a. dispatch from saga) frozen actions.\\nWe have to define a special non-enumerable property on those actions for scheduling purposes.\\nOtherwise you wouldn't be able to communicate properly between sagas & other subscribers (action ordering would become far less predictable).\\nIf you are using redux and you care about this behaviour (frozen actions),\\nthen you might want to switch to freezing actions in a middleware rather than in action creator.\\nExample implementation:\\n\\nconst freezeActions = store => next => action => next(Object.freeze(action))\\n\"; // creates empty, but not-holey array\n\nvar createEmptyArray = function createEmptyArray(n) {\n return Array.apply(null, new Array(n));\n};\nvar wrapSagaDispatch = function wrapSagaDispatch(dispatch) {\n return function (action) {\n if (process.env.NODE_ENV !== 'production') {\n check(action, function (ac) {\n return !Object.isFrozen(ac);\n }, FROZEN_ACTION_ERROR);\n }\n\n return dispatch(Object.defineProperty(action, SAGA_ACTION, {\n value: true\n }));\n };\n};\nvar shouldTerminate = function shouldTerminate(res) {\n return res === TERMINATE;\n};\nvar shouldCancel = function shouldCancel(res) {\n return res === TASK_CANCEL;\n};\nvar shouldComplete = function shouldComplete(res) {\n return shouldTerminate(res) || shouldCancel(res);\n};\nfunction createAllStyleChildCallbacks(shape, parentCallback) {\n var keys = Object.keys(shape);\n var totalCount = keys.length;\n\n if (process.env.NODE_ENV !== 'production') {\n check(totalCount, function (c) {\n return c > 0;\n }, 'createAllStyleChildCallbacks: get an empty array or object');\n }\n\n var completedCount = 0;\n var completed;\n var results = array(shape) ? createEmptyArray(totalCount) : {};\n var childCallbacks = {};\n\n function checkEnd() {\n if (completedCount === totalCount) {\n completed = true;\n parentCallback(results);\n }\n }\n\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n parentCallback.cancel();\n parentCallback(res, isErr);\n } else {\n results[key] = res;\n completedCount++;\n checkEnd();\n }\n };\n\n chCbAtKey.cancel = noop;\n childCallbacks[key] = chCbAtKey;\n });\n\n parentCallback.cancel = function () {\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCallbacks[key].cancel();\n });\n }\n };\n\n return childCallbacks;\n}\nfunction getMetaInfo(fn) {\n return {\n name: fn.name || 'anonymous',\n location: getLocation(fn)\n };\n}\nfunction getLocation(instrumented) {\n return instrumented[SAGA_LOCATION];\n}\n\nvar BUFFER_OVERFLOW = \"Channel's Buffer overflow!\";\nvar ON_OVERFLOW_THROW = 1;\nvar ON_OVERFLOW_DROP = 2;\nvar ON_OVERFLOW_SLIDE = 3;\nvar ON_OVERFLOW_EXPAND = 4;\nvar zeroBuffer = {\n isEmpty: kTrue,\n put: noop,\n take: noop\n};\n\nfunction ringBuffer(limit, overflowAction) {\n if (limit === void 0) {\n limit = 10;\n }\n\n var arr = new Array(limit);\n var length = 0;\n var pushIndex = 0;\n var popIndex = 0;\n\n var push = function push(it) {\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n length++;\n };\n\n var take = function take() {\n if (length != 0) {\n var it = arr[popIndex];\n arr[popIndex] = null;\n length--;\n popIndex = (popIndex + 1) % limit;\n return it;\n }\n };\n\n var flush = function flush() {\n var items = [];\n\n while (length) {\n items.push(take());\n }\n\n return items;\n };\n\n return {\n isEmpty: function isEmpty() {\n return length == 0;\n },\n put: function put(it) {\n if (length < limit) {\n push(it);\n } else {\n var doubledLimit;\n\n switch (overflowAction) {\n case ON_OVERFLOW_THROW:\n throw new Error(BUFFER_OVERFLOW);\n\n case ON_OVERFLOW_SLIDE:\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n popIndex = pushIndex;\n break;\n\n case ON_OVERFLOW_EXPAND:\n doubledLimit = 2 * limit;\n arr = flush();\n length = arr.length;\n pushIndex = arr.length;\n popIndex = 0;\n arr.length = doubledLimit;\n limit = doubledLimit;\n push(it);\n break;\n\n default: // DROP\n\n }\n }\n },\n take: take,\n flush: flush\n };\n}\n\nvar none = function none() {\n return zeroBuffer;\n};\nvar fixed = function fixed(limit) {\n return ringBuffer(limit, ON_OVERFLOW_THROW);\n};\nvar dropping = function dropping(limit) {\n return ringBuffer(limit, ON_OVERFLOW_DROP);\n};\nvar sliding = function sliding(limit) {\n return ringBuffer(limit, ON_OVERFLOW_SLIDE);\n};\nvar expanding = function expanding(initialSize) {\n return ringBuffer(initialSize, ON_OVERFLOW_EXPAND);\n};\n\nvar buffers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n none: none,\n fixed: fixed,\n dropping: dropping,\n sliding: sliding,\n expanding: expanding\n});\n\nvar TAKE = 'TAKE';\nvar PUT = 'PUT';\nvar ALL = 'ALL';\nvar RACE = 'RACE';\nvar CALL = 'CALL';\nvar CPS = 'CPS';\nvar FORK = 'FORK';\nvar JOIN = 'JOIN';\nvar CANCEL = 'CANCEL';\nvar SELECT = 'SELECT';\nvar ACTION_CHANNEL = 'ACTION_CHANNEL';\nvar CANCELLED = 'CANCELLED';\nvar FLUSH = 'FLUSH';\nvar GET_CONTEXT = 'GET_CONTEXT';\nvar SET_CONTEXT = 'SET_CONTEXT';\n\nvar effectTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n TAKE: TAKE,\n PUT: PUT,\n ALL: ALL,\n RACE: RACE,\n CALL: CALL,\n CPS: CPS,\n FORK: FORK,\n JOIN: JOIN,\n CANCEL: CANCEL,\n SELECT: SELECT,\n ACTION_CHANNEL: ACTION_CHANNEL,\n CANCELLED: CANCELLED,\n FLUSH: FLUSH,\n GET_CONTEXT: GET_CONTEXT,\n SET_CONTEXT: SET_CONTEXT\n});\n\nvar TEST_HINT = '\\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)';\n\nvar makeEffect = function makeEffect(type, payload) {\n var _ref;\n\n return _ref = {}, _ref[IO] = true, _ref.combinator = false, _ref.type = type, _ref.payload = payload, _ref;\n};\n\nvar isForkEffect = function isForkEffect(eff) {\n return effect(eff) && eff.type === FORK;\n};\n\nvar detach = function detach(eff) {\n if (process.env.NODE_ENV !== 'production') {\n check(eff, isForkEffect, 'detach(eff): argument must be a fork effect');\n }\n\n return makeEffect(FORK, _extends({}, eff.payload, {\n detached: true\n }));\n};\nfunction take(patternOrChannel, multicastPattern) {\n if (patternOrChannel === void 0) {\n patternOrChannel = '*';\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'take(patternOrChannel): patternOrChannel is undefined');\n }\n\n if (pattern(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types\");\n }\n\n return makeEffect(TAKE, {\n pattern: patternOrChannel\n });\n }\n\n if (multicast(patternOrChannel) && notUndef(multicastPattern) && pattern(multicastPattern)) {\n return makeEffect(TAKE, {\n channel: patternOrChannel,\n pattern: multicastPattern\n });\n }\n\n if (channel(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(channel) takes one argument but two were provided. Second argument is ignored.\");\n }\n\n return makeEffect(TAKE, {\n channel: patternOrChannel\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\"take(patternOrChannel): argument \" + patternOrChannel + \" is not valid channel or a valid pattern\");\n }\n}\nvar takeMaybe = function takeMaybe() {\n var eff = take.apply(void 0, arguments);\n eff.payload.maybe = true;\n return eff;\n};\nfunction put(channel$1, action) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n check(channel$1, notUndef, 'put(channel, action): argument channel is undefined');\n check(channel$1, channel, \"put(channel, action): argument \" + channel$1 + \" is not a valid channel\");\n check(action, notUndef, 'put(channel, action): argument action is undefined');\n } else {\n check(channel$1, notUndef, 'put(action): argument action is undefined');\n }\n }\n\n if (undef(action)) {\n action = channel$1; // `undefined` instead of `null` to make default parameter work\n\n channel$1 = undefined;\n }\n\n return makeEffect(PUT, {\n channel: channel$1,\n action: action\n });\n}\nvar putResolve = function putResolve() {\n var eff = put.apply(void 0, arguments);\n eff.payload.resolve = true;\n return eff;\n};\nfunction all(effects) {\n var eff = makeEffect(ALL, effects);\n eff.combinator = true;\n return eff;\n}\nfunction race(effects) {\n var eff = makeEffect(RACE, effects);\n eff.combinator = true;\n return eff;\n} // this match getFnCallDescriptor logic\n\nvar validateFnDescriptor = function validateFnDescriptor(effectName, fnDescriptor) {\n check(fnDescriptor, notUndef, effectName + \": argument fn is undefined or null\");\n\n if (func(fnDescriptor)) {\n return;\n }\n\n var context = null;\n var fn;\n\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n check(fn, notUndef, effectName + \": argument of type [context, fn] has undefined or null `fn`\");\n } else if (object(fnDescriptor)) {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n check(fn, notUndef, effectName + \": argument of type {context, fn} has undefined or null `fn`\");\n } else {\n check(fnDescriptor, func, effectName + \": argument fn is not function\");\n return;\n }\n\n if (context && string(fn)) {\n check(context[fn], func, effectName + \": context arguments has no such method - \\\"\" + fn + \"\\\"\");\n return;\n }\n\n check(fn, func, effectName + \": unpacked fn argument (from [context, fn] or {context, fn}) is not a function\");\n};\n\nfunction getFnCallDescriptor(fnDescriptor, args) {\n var context = null;\n var fn;\n\n if (func(fnDescriptor)) {\n fn = fnDescriptor;\n } else {\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n } else {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n }\n\n if (context && string(fn) && func(context[fn])) {\n fn = context[fn];\n }\n }\n\n return {\n context: context,\n fn: fn,\n args: args\n };\n}\n\nvar isNotDelayEffect = function isNotDelayEffect(fn) {\n return fn !== delay;\n};\n\nfunction call(fnDescriptor) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var arg0 = typeof args[0] === 'number' ? args[0] : 'ms';\n check(fnDescriptor, isNotDelayEffect, \"instead of writing `yield call(delay, \" + arg0 + \")` where delay is an effect from `redux-saga/effects` you should write `yield delay(\" + arg0 + \")`\");\n validateFnDescriptor('call', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction apply(context, fn, args) {\n if (args === void 0) {\n args = [];\n }\n\n var fnDescriptor = [context, fn];\n\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('apply', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor([context, fn], args));\n}\nfunction cps(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('cps', fnDescriptor);\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return makeEffect(CPS, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction fork(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('fork', fnDescriptor);\n check(fnDescriptor, function (arg) {\n return !effect(arg);\n }, 'fork: argument must not be an effect');\n }\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return makeEffect(FORK, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction spawn(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('spawn', fnDescriptor);\n }\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n return detach(fork.apply(void 0, [fnDescriptor].concat(args)));\n}\nfunction join(taskOrTasks) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"join([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else {\n check(taskOrTasks, task, \"join(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(JOIN, taskOrTasks);\n}\nfunction cancel(taskOrTasks) {\n if (taskOrTasks === void 0) {\n taskOrTasks = SELF_CANCELLATION;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"cancel([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else if (taskOrTasks !== SELF_CANCELLATION && notUndef(taskOrTasks)) {\n check(taskOrTasks, task, \"cancel(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(CANCEL, taskOrTasks);\n}\nfunction select(selector) {\n if (selector === void 0) {\n selector = identity;\n }\n\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'select(selector, [...]): argument selector is undefined');\n check(selector, func, \"select(selector, [...]): argument \" + selector + \" is not a function\");\n }\n\n return makeEffect(SELECT, {\n selector: selector,\n args: args\n });\n}\n/**\n channel(pattern, [buffer]) => creates a proxy channel for store actions\n**/\n\nfunction actionChannel(pattern$1, buffer$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(pattern$1, pattern, 'actionChannel(pattern,...): argument pattern is not valid');\n\n if (arguments.length > 1) {\n check(buffer$1, notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined');\n check(buffer$1, buffer, \"actionChannel(pattern, buffer): argument \" + buffer$1 + \" is not a valid buffer\");\n }\n }\n\n return makeEffect(ACTION_CHANNEL, {\n pattern: pattern$1,\n buffer: buffer$1\n });\n}\nfunction cancelled() {\n return makeEffect(CANCELLED, {});\n}\nfunction flush(channel$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(channel$1, channel, \"flush(channel): argument \" + channel$1 + \" is not valid channel\");\n }\n\n return makeEffect(FLUSH, channel$1);\n}\nfunction getContext(prop) {\n if (process.env.NODE_ENV !== 'production') {\n check(prop, string, \"getContext(prop): argument \" + prop + \" is not a string\");\n }\n\n return makeEffect(GET_CONTEXT, prop);\n}\nfunction setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning(null, props));\n }\n\n return makeEffect(SET_CONTEXT, props);\n}\nvar delay =\n/*#__PURE__*/\ncall.bind(null, delayP);\n\nexport { apply as $, ALL as A, logError as B, CALL as C, wrapSagaDispatch as D, identity as E, FORK as F, GET_CONTEXT as G, buffers as H, detach as I, JOIN as J, take as K, fork as L, cancel as M, call as N, delay as O, PUT as P, actionChannel as Q, RACE as R, SELECT as S, TAKE as T, sliding as U, race as V, effectTypes as W, takeMaybe as X, put as Y, putResolve as Z, all as _, CPS as a, cps as a0, spawn as a1, join as a2, select as a3, cancelled as a4, flush as a5, getContext as a6, setContext as a7, CANCEL as b, check as c, ACTION_CHANNEL as d, expanding as e, CANCELLED as f, FLUSH as g, SET_CONTEXT as h, internalErr as i, getMetaInfo as j, kTrue as k, createAllStyleChildCallbacks as l, createEmptyArray as m, none as n, once as o, assignWithSymbols as p, makeIterator as q, remove as r, shouldComplete as s, noop as t, flatMap as u, getLocation as v, createSetContextWarning as w, asyncIteratorSymbol as x, shouldCancel as y, shouldTerminate as z };\n","import { TASK, SAGA_ACTION, MULTICAST, IO } from '@redux-saga/symbols';\n\nvar undef = function undef(v) {\n return v === null || v === undefined;\n};\nvar notUndef = function notUndef(v) {\n return v !== null && v !== undefined;\n};\nvar func = function func(f) {\n return typeof f === 'function';\n};\nvar number = function number(n) {\n return typeof n === 'number';\n};\nvar string = function string(s) {\n return typeof s === 'string';\n};\nvar array = Array.isArray;\nvar object = function object(obj) {\n return obj && !array(obj) && typeof obj === 'object';\n};\nvar promise = function promise(p) {\n return p && func(p.then);\n};\nvar iterator = function iterator(it) {\n return it && func(it.next) && func(it.throw);\n};\nvar iterable = function iterable(it) {\n return it && func(Symbol) ? func(it[Symbol.iterator]) : array(it);\n};\nvar task = function task(t) {\n return t && t[TASK];\n};\nvar sagaAction = function sagaAction(a) {\n return Boolean(a && a[SAGA_ACTION]);\n};\nvar observable = function observable(ob) {\n return ob && func(ob.subscribe);\n};\nvar buffer = function buffer(buf) {\n return buf && func(buf.isEmpty) && func(buf.take) && func(buf.put);\n};\nvar pattern = function pattern(pat) {\n return pat && (string(pat) || symbol(pat) || func(pat) || array(pat) && pat.every(pattern));\n};\nvar channel = function channel(ch) {\n return ch && func(ch.take) && func(ch.close);\n};\nvar stringableFunc = function stringableFunc(f) {\n return func(f) && f.hasOwnProperty('toString');\n};\nvar symbol = function symbol(sym) {\n return Boolean(sym) && typeof Symbol === 'function' && sym.constructor === Symbol && sym !== Symbol.prototype;\n};\nvar multicast = function multicast(ch) {\n return channel(ch) && ch[MULTICAST];\n};\nvar effect = function effect(eff) {\n return eff && eff[IO];\n};\n\nexport { array, buffer, channel, effect, func, iterable, iterator, multicast, notUndef, number, object, observable, pattern, promise, sagaAction, string, stringableFunc, symbol, task, undef };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","import { useContext } from 'react';\n\nimport WebChatAPIContext from './WebChatAPIContext';\n\nexport default function useWebChatAPIContext() {\n const context = useContext(WebChatAPIContext);\n\n if (!context) {\n throw new Error('This hook can only be used on a component that is a descendant of <Composer>');\n }\n\n return context;\n}\n","import { PartialObserver } from './Observer';\nimport { Operator } from './Operator';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, AnonymousSubscription, TeardownLogic } from './Subscription';\nimport { root } from './util/root';\nimport { toSubscriber } from './util/toSubscriber';\nimport { IfObservable } from './observable/IfObservable';\nimport { ErrorObservable } from './observable/ErrorObservable';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { OperatorFunction } from './interfaces';\nimport { pipeFromArray } from './util/pipe';\n\nexport interface Subscribable<T> {\n subscribe(observerOrNext?: PartialObserver<T> | ((value: T) => void),\n error?: (error: any) => void,\n complete?: () => void): AnonymousSubscription;\n}\n\nexport type SubscribableOrPromise<T> = Subscribable<T> | PromiseLike<T>;\nexport type ObservableInput<T> = SubscribableOrPromise<T> | ArrayLike<T>;\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n */\nexport class Observable<T> implements Subscribable<T> {\n\n public _isScalar: boolean = false;\n\n /** @deprecated internal use only */ public source: Observable<any>;\n protected operator: Operator<any, T>;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable<T>, subscriber: Subscriber<T>) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new cold Observable by calling the Observable constructor\n * @static true\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new cold observable\n */\n static create: Function = <T>(subscribe?: (subscriber: Subscriber<T>) => TeardownLogic) => {\n return new Observable<T>(subscribe);\n }\n\n /**\n * Creates a new Observable, with this Observable as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param {Operator} operator the operator defining the operation to take on the observable\n * @return {Observable} a new observable with the Operator applied\n */\n lift<R>(operator: Operator<T, R>): Observable<R> {\n const observable = new Observable<R>();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observer?: PartialObserver<T>): Subscription;\n subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * <span class=\"informal\">Use it when you have all these Observables, but still nothing is happening.</span>\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to a {@link create} static factory, but most of the time it is\n * a library implementation, which defines what and when will be emitted by an Observable. This means that calling\n * `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, that if `error` method is not provided, all errors will\n * be left uncaught.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where first function is equivalent\n * of a `next` method, second of an `error` method and third of a `complete` method. Just as in case of Observer,\n * if you do not need to listen for something, you can omit a function, preferably by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to `error` function, just as before, if not provided, errors emitted by an Observable will be thrown.\n *\n * Whatever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a {@link Scheduler}.\n *\n * @example <caption>Subscribe with an Observer</caption>\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() { // We actually could just remove this method,\n * }, // since we do not really care about errors right now.\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * Rx.Observable.of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example <caption>Subscribe with functions</caption>\n * let sum = 0;\n *\n * Rx.Observable.of(1, 2, 3)\n * .subscribe(\n * function(value) {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * function() {\n * console.log('Sum equals: ' + sum);\n * }\n * );\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example <caption>Cancel a subscription</caption>\n * const subscription = Rx.Observable.interval(1000).subscribe(\n * num => console.log(num),\n * undefined,\n * () => console.log('completed!') // Will not be called, even\n * ); // when cancelling subscription\n *\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // \"unsubscribed!\" after 2.5s\n *\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {ISubscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(observerOrNext?: PartialObserver<T> | ((value: T) => void),\n error?: (error: any) => void,\n complete?: () => void): Subscription {\n\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n\n if (operator) {\n operator.call(sink, this.source);\n } else {\n sink.add(this.source || !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink));\n }\n\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n\n return sink;\n }\n\n protected _trySubscribe(sink: Subscriber<T>): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n sink.error(err);\n }\n }\n\n /**\n * @method forEach\n * @param {Function} next a handler for each value emitted by the observable\n * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n * @return {Promise} a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void, PromiseCtor?: typeof Promise): Promise<void> {\n if (!PromiseCtor) {\n if (root.Rx && root.Rx.config && root.Rx.config.Promise) {\n PromiseCtor = root.Rx.config.Promise;\n } else if (root.Promise) {\n PromiseCtor = root.Promise;\n }\n }\n\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n\n return new PromiseCtor<void>((resolve, reject) => {\n // Must be declared in a separate statement to avoid a RefernceError when\n // accessing subscription below in the closure due to Temporal Dead Zone.\n let subscription: Subscription;\n subscription = this.subscribe((value) => {\n if (subscription) {\n // if there is a subscription, then we can surmise\n // the next handling is asynchronous. Any errors thrown\n // need to be rejected explicitly and unsubscribe must be\n // called manually\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n } else {\n // if there is NO subscription, then we're getting a nexted\n // value synchronously during subscription. We can just call it.\n // If it errors, Observable's `subscribe` will ensure the\n // unsubscription logic is called, then synchronously rethrow the error.\n // After that, Promise will trap the error and send it\n // down the rejection path.\n next(value);\n }\n }, reject, resolve);\n });\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<any>): TeardownLogic {\n return this.source.subscribe(subscriber);\n }\n\n // `if` and `throw` are special snow flakes, the compiler sees them as reserved words\n static if: typeof IfObservable.create;\n static throw: typeof ErrorObservable.create;\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable<T>\n pipe<A>(op1: OperatorFunction<T, A>): Observable<A>\n pipe<A, B>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>): Observable<B>\n pipe<A, B, C>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>): Observable<C>\n pipe<A, B, C, D>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>): Observable<D>\n pipe<A, B, C, D, E>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>): Observable<E>\n pipe<A, B, C, D, E, F>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>): Observable<F>\n pipe<A, B, C, D, E, F, G>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>, op7: OperatorFunction<F, G>): Observable<G>\n pipe<A, B, C, D, E, F, G, H>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>, op7: OperatorFunction<F, G>, op8: OperatorFunction<G, H>): Observable<H>\n pipe<A, B, C, D, E, F, G, H, I>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>, op7: OperatorFunction<F, G>, op8: OperatorFunction<G, H>, op9: OperatorFunction<H, I>): Observable<I>\n pipe<R>(...operations: OperatorFunction<T, R>[]): Observable<R>\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * @example\n *\n * import { map, filter, scan } from 'rxjs/operators';\n *\n * Rx.Observable.interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x))\n */\n pipe<R>(...operations: OperatorFunction<T, R>[]): Observable<R> {\n if (operations.length === 0) {\n return this as any;\n }\n\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n toPromise<T>(this: Observable<T>): Promise<T>;\n toPromise<T>(this: Observable<T>, PromiseCtor: typeof Promise): Promise<T>;\n toPromise<T>(this: Observable<T>, PromiseCtor: PromiseConstructorLike): Promise<T>;\n /* tslint:enable:max-line-length */\n\n toPromise(PromiseCtor?: PromiseConstructorLike) {\n if (!PromiseCtor) {\n if (root.Rx && root.Rx.config && root.Rx.config.Promise) {\n PromiseCtor = root.Rx.config.Promise;\n } else if (root.Promise) {\n PromiseCtor = root.Promise;\n }\n }\n\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n\n return new PromiseCtor((resolve, reject) => {\n let value: any;\n this.subscribe((x: T) => value = x, (err: any) => reject(err), () => resolve(value));\n }) as Promise<T>;\n }\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { localize } from './localization/Localize';\nimport * as hooks from './hooks';\nimport ActivityMiddleware, { ActivityComponentFactory } from './types/ActivityMiddleware';\nimport AttachmentForScreenReaderMiddleware, {\n AttachmentForScreenReaderComponentFactory\n} from './types/AttachmentForScreenReaderMiddleware';\nimport AttachmentMiddleware, { RenderAttachment } from './types/AttachmentMiddleware';\nimport AvatarMiddleware, { AvatarComponentFactory } from './types/AvatarMiddleware';\nimport CardActionMiddleware, { PerformCardAction } from './types/CardActionMiddleware';\nimport Composer, { ComposerProps } from './hooks/Composer';\nimport concatMiddleware from './hooks/middleware/concatMiddleware';\nimport defaultStyleOptions from './defaultStyleOptions';\nimport GroupActivitiesMiddleware, { GroupActivities } from './types/GroupActivitiesMiddleware';\nimport normalizeStyleOptions from './normalizeStyleOptions';\nimport ScrollToEndButtonMiddleware, { ScrollToEndButtonComponentFactory } from './types/ScrollToEndButtonMiddleware';\nimport StyleOptions, { StrictStyleOptions } from './StyleOptions';\nimport ToastMiddleware, { RenderToast } from './types/ToastMiddleware';\nimport TypingIndicatorMiddleware, { RenderTypingIndicator } from './types/TypingIndicatorMiddleware';\nimport WebSpeechPonyfill from './types/WebSpeechPonyfill';\nimport WebSpeechPonyfillFactory from './types/WebSpeechPonyfillFactory';\n\nimport type { ActivityStatusMiddleware, RenderActivityStatus } from './types/ActivityStatusMiddleware';\n\nexport { Composer, concatMiddleware, defaultStyleOptions, hooks, localize, normalizeStyleOptions };\n\nexport type {\n ActivityComponentFactory,\n ActivityMiddleware,\n ActivityStatusMiddleware,\n AttachmentForScreenReaderComponentFactory,\n AttachmentForScreenReaderMiddleware,\n AttachmentMiddleware,\n AvatarComponentFactory,\n AvatarMiddleware,\n CardActionMiddleware,\n ComposerProps,\n GroupActivities,\n GroupActivitiesMiddleware,\n PerformCardAction,\n RenderActivityStatus,\n RenderAttachment,\n RenderToast,\n RenderTypingIndicator,\n ScrollToEndButtonComponentFactory,\n ScrollToEndButtonMiddleware,\n StrictStyleOptions,\n StyleOptions,\n ToastMiddleware,\n TypingIndicatorMiddleware,\n WebSpeechPonyfill,\n WebSpeechPonyfillFactory\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport const strShimFunction = \"function\";\r\nexport const strShimObject = \"object\";\r\nexport const strShimUndefined = \"undefined\";\r\nexport const strShimPrototype = \"prototype\";\r\nexport const strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport const strDefault = \"default\";\r\n\r\nexport const ObjClass = Object;\r\nexport const ObjProto = ObjClass[strShimPrototype];\r\nexport const ObjAssign = ObjClass[\"assign\"];\r\nexport const ObjCreate = ObjClass[\"create\"];\r\nexport const ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport const ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","var createSymbol = function createSymbol(name) {\n return \"@@redux-saga/\" + name;\n};\n\nvar CANCEL =\n/*#__PURE__*/\ncreateSymbol('CANCEL_PROMISE');\nvar CHANNEL_END_TYPE =\n/*#__PURE__*/\ncreateSymbol('CHANNEL_END');\nvar IO =\n/*#__PURE__*/\ncreateSymbol('IO');\nvar MATCH =\n/*#__PURE__*/\ncreateSymbol('MATCH');\nvar MULTICAST =\n/*#__PURE__*/\ncreateSymbol('MULTICAST');\nvar SAGA_ACTION =\n/*#__PURE__*/\ncreateSymbol('SAGA_ACTION');\nvar SELF_CANCELLATION =\n/*#__PURE__*/\ncreateSymbol('SELF_CANCELLATION');\nvar TASK =\n/*#__PURE__*/\ncreateSymbol('TASK');\nvar TASK_CANCEL =\n/*#__PURE__*/\ncreateSymbol('TASK_CANCEL');\nvar TERMINATE =\n/*#__PURE__*/\ncreateSymbol('TERMINATE');\nvar SAGA_LOCATION =\n/*#__PURE__*/\ncreateSymbol('LOCATION');\n\nexport { CANCEL, CHANNEL_END_TYPE, IO, MATCH, MULTICAST, SAGA_ACTION, SAGA_LOCATION, SELF_CANCELLATION, TASK, TASK_CANCEL, TERMINATE };\n","import { defaultStyleOptions, StyleOptions } from 'botframework-webchat-api';\r\nimport FullBundleStyleOptions from 'botframework-webchat/lib/types/FullBundleStyleOptions';\r\nimport { DirectLine } from 'botframework-directlinejs';\r\nimport createDefaultAdaptiveCardHostConfig from 'botframework-webchat/lib/adaptiveCards/Styles/adaptiveCardHostConfig'\r\nimport Composer, { ComposerProps } from 'botframework-webchat-component/lib/Composer';\r\nimport LocalizedStrings from 'botframework-webchat-api/lib/types/LocalizedStrings'\r\nimport { DruidAction } from './hooks/useWebChatReducer';\r\nimport { randomHash } from './utils/randomHash';\r\nimport { druidCreateBlobUrl } from './utils/urlUtils';\r\nimport { BotLanguage, WebChatHeaderOptions, WebChatState } from './WebChatContext';\r\nimport { typingAnimation } from '../resources/images/druidAnimations'\r\nimport druidDefaultLocalization from './logics/defaultDruidLocalization.json';\r\nimport * as merge from 'deepmerge';\r\nimport createStyleSet from 'botframework-webchat/lib/createFullStyleSet';\r\n\r\nexport type BotFrameworkOptions = Omit<ComposerProps, \"directLine\" | \"userID\">;\r\nexport type BotFrameworkMiddlewares = Pick<ComposerProps, \"activityMiddleware\" | \"activityStatusMiddleware\" | \"attachmentForScreenReaderMiddleware\"| \"attachmentMiddleware\" \r\n | \"avatarMiddleware\" | \"cardActionMiddleware\"| \"groupActivitiesMiddleware\" | \"scrollToEndButtonMiddleware\" | \"toastMiddleware\" \r\n | \"typingIndicatorMiddleware\">;\r\n\r\nexport type BotFrameworkStyleOptions = Pick<BotFrameworkOptions, \"styleOptions\">;\r\n\r\nexport enum BotFrameworkDefaultStyleOptions { // useful when accent, for ex, would be changed here. not a replacement of defaultOptions and not a replacement of $propValue\r\n accent = '#70b244',\r\n secondaryBackgroundColor = '#f4f5f7',\r\n rootFontSize= '1rem'\r\n}\r\n\r\nexport type DruidIconType = null | string | (({size}: {size: any}) => string);\r\n\r\nexport type WebChatEventHandlerType = ((action: DruidAction, currentDruidState: WebChatState, currentBFState?: any) => any);\r\n// export type WebChatTransformLoadConfigurationResultType = ((loadConfiguration: WebChatOptions & { middlewares: any }) => WebChatOptions & { middlewares: any });\r\n\r\n\r\nexport type DruidUIOptions = {\r\n autoExpandEnabled?: boolean,\r\n containerElement?: Nullable<HTMLElement> | Function,\r\n closeButtonEnabled?: Nullable<boolean>,\r\n height?: Nullable<string | number>,\r\n width?: Nullable<string | number>,\r\n minWidth?: Nullable<string | number>,\r\n chatTitle?: string,\r\n parentElement?: Nullable<HTMLElement>,\r\n contextMenuIcon?: string, // unused. from v1\r\n position?: 'left' | 'right', // same type as state.side\r\n showUploadButton?: Nullable<boolean>, // v1 specific. same functionality as styleOptions.hideUploadButton\r\n floatRight?: Nullable<number>,\r\n accessibilityFeaturesEnabled?: Nullable<boolean>,\r\n} & Partial<{ // v2 UI options\r\n withoutRender?: Nullable<boolean>,\r\n bottom?: Nullable<string | number>,\r\n top?: Nullable<string | number>,\r\n resizableEnabled?: Nullable<boolean>,\r\n draggableEnabled?: Nullable<boolean>,\r\n fullScreenMode: Nullable<boolean>, // used along with isMobile to determine if snippet should be in fullscreen. also supresses the header onclick collapse.\r\n restylingsEnabled: boolean,\r\n emojiPickerEnabled: Nullable<boolean>,\r\n botActivitiesActionsEnabled: Nullable<boolean>,\r\n showPoweredBy: Nullable<boolean>,\r\n activityWrapperClassEnabled: Nullable<boolean>,\r\n isVoiceInput: Nullable<boolean>,\r\n v2_chatTitle_icon: string,\r\n v2_minimize_icon: DruidIconType,\r\n v2_contextMenu_icon: DruidIconType,\r\n v2_containerElement_expand_icon: DruidIconType,\r\n v2_containerElement_collapse_icon: DruidIconType,\r\n header_customElement: string,\r\n\r\n v2_switch_icon: string,\r\n v2_customButton_toggled_icon: string,\r\n v2_customButton_off_icon: string,\r\n v2_custom_button_initial_toggled?: boolean, // undefined not to render button. true/false to set button's state\r\n\r\n hideDruidSendBox?: Nullable<boolean>,\r\n hideSuggestedActions?: Nullable<boolean>,\r\n blockingInputDruidSendBox?: Nullable<boolean>, \r\n headerOptions?: Nullable<Partial<WebChatHeaderOptions>>,\r\n\r\n druidSendBoxPaddingLeftRight: Nullable<number>,\r\n druidSendBoxPaddingTop: Nullable<number>, //outer padding of sendBox\r\n druidSendBoxPaddingBottom: Nullable<number>,\r\n druidSendBoxTextBoxPadding: Nullable<number> //inner padding of sendBox (textbox padding actually). adds height to sendBox\r\n druidSendBoxInnerPaddingLeftRight: Nullable<number> //inner leftright padding of sendBox\r\n druidSendBoxInnerPaddingTopBottom: Nullable<number>, //inner topbottom padding of sendBox\r\n druidSendBoxInnerBorderRadius: Nullable<number>,\r\n \r\n\r\n buttonsPadding: Nullable<number>,\r\n buttonsTextColor: Nullable<string>,\r\n buttonsBorderRadius: Nullable<number>,\r\n buttonsBorderColor: Nullable<string>,\r\n buttonsBackgroundColor: Nullable<string>,\r\n buttonsBackgroundColorOnHover: Nullable<string>,\r\n buttonsTextColorOnHover: Nullable<string>,\r\n buttonsBorderColorOnHover: Nullable<string>,\r\n\r\n activityStatusReadColor: Nullable<string>,\r\n activityStatusBotName: Nullable<string>,\r\n activityStatusUserName: Nullable<string>,\r\n activityStatusShowBotName: Nullable<boolean>,\r\n activityStatusShowUserName: Nullable<boolean>,\r\n\r\n chatBoxBorderRadius: Nullable<number>,\r\n chatBoxBottomRadius: Nullable<number>,\r\n chatBoxBorderColor: Nullable<string>,\r\n chatBoxBorderSize: Nullable<number>,\r\n\r\n headerTextColor: Nullable<string>,\r\n headerTextColorOnHover: Nullable<string>,\r\n headerButtonColorOnFocus: Nullable<string>,\r\n\r\n headerFontSize: Nullable<number | string>,\r\n headerBottomBorderRadius: Nullable<number | string>,\r\n headerBorderRadius: Nullable<number | string>,\r\n headerOuterPadding: Nullable<number | string>,\r\n headerBackground: Nullable<string>,\r\n \r\n transcriptFontSize: Nullable<string | number>,\r\n transcriptLinkColor: Nullable<string>,\r\n sendBoxFontSize: Nullable<string | number>,\r\n lineHeight: Nullable<string | number>,\r\n rootFontSize: Nullable<string | number>,\r\n\r\n disableTyping: Nullable<boolean>,\r\n disableTypingAnimation: Nullable<boolean>,\r\n\r\n customTimestampFormat: string // https://momentjs.com/docs/#/displaying/,\r\n showTypingName: Nullable<boolean>,\r\n replyToMessageEnabled: Nullable<boolean>,\r\n}>;\r\nexport type WebChatOptions = BotFrameworkOptions //& Partial<FullComposerProps>\r\n & {\r\n instanceID: string,\r\n botConnection: DirectLine | null,\r\n }\r\n & Partial<{\r\n botId: Nullable<string>,\r\n baseUrl: Nullable<string>,\r\n apcUrl: Nullable<string>,\r\n queryParams: Nullable<string>,\r\n authorizationUrl: Nullable<string>,\r\n authorizationBaseUrl: Nullable<string>,\r\n userId: string // should we remove ?\r\n username: string // should we remove ? this is not typo error. \"username\" in bf4\r\n customAuthHeaders?: any,\r\n\r\n /* cookies */\r\n druidCookieConsentEnabled: Nullable<boolean>,\r\n conversationTokenEnabled: Nullable<boolean>,\r\n conversationToken_namePrefix: Nullable<string>,\r\n druidWebChatIsOpenedEnabled: Nullable<boolean>,\r\n druidWebChatIsOpened_namePrefix: Nullable<string>, \r\n cookieDomain: Nullable<string>, // druidConversationTokenDomain\r\n druidCookiesExpirationInDays: number,\r\n\r\n notificationsEnabled: Nullable<boolean>,\r\n isDisabled: boolean, // remote disable whole chat (hide)\r\n withCredentials: Nullable<boolean>,\r\n withCredentials_authorization: Nullable<boolean>, //override for 'withCredentials' -> specific for authorizationCall\r\n isWidget?: boolean,\r\n isMultichat?: boolean,\r\n backgroundTrafficEnabled?: boolean,\r\n heartBeatUrl: Nullable<string>,\r\n otherServicesEndpointIndex: number,\r\n _isSecondaryChannel?: boolean,\r\n _disableAutoForwardCurrentDocumentQueryString?: boolean,\r\n flowId?: Nullable<string>,\r\n isFormChannel?: boolean,\r\n UI?: DruidUIOptions,\r\n }> \r\n & Partial<{ \r\n middlewares?: BotFrameworkMiddlewares, // you can provide string remote, or function localy\r\n // activityMiddleware?: any // should we remove ? -> should not because it is oneormany<T> on ComposerProps\r\n }>\r\n & Partial<{ // specific for fullscreen webchat\r\n conversationHistoryActivities: any[], // will be used\r\n authorizationResultDto?: any\r\n }>\r\n & Partial<{ // v2 specific\r\n languages: BotLanguage[],\r\n adaptiveCardsHostConfig: any,\r\n searchAssistEnabled: boolean,\r\n wideOptions: {\r\n UI?: DruidUIOptions\r\n } & BotFrameworkStyleOptions,\r\n designPatterns: {\r\n nonCarousel_HeroCard_AutoWidth: boolean,\r\n nonCarousel_HeroCard_ButtonsOnly_BackgroundTransparent: boolean,\r\n },\r\n customDruidStyleSet?: Partial<ReturnType<typeof createStyleSet>> & { webchatRoot: any }\r\n webChatEventHandler?: WebChatEventHandlerType,\r\n // transformLoadConfigurationResult?: WebChatTransformLoadConfigurationResultType,\r\n localization?: { [language: string]: LocalizedStrings },\r\n _loadConfigurationJSON?: any,\r\n _requestNewConversationToken?: boolean, // used to request new conv token when using authenticated conversations and changing the main conversation is business required (AuthorizeAsync call)\r\n onLoadHandlerPromise?: (resolve: boolean) => void;\r\n }>;\r\n\r\nexport const overridenBFStyleOptions: FullBundleStyleOptions = druidNormalizeStyleOptions({ // these are the default druid options override for bf4 webchat\r\n // groupTimestamp: 0, //to remove\r\n\r\n accent: BotFrameworkDefaultStyleOptions.accent,\r\n paddingRegular: 20,\r\n primaryFont: '\"Druid Regular\", \"Druid Twemoji\"',\r\n\r\n backgroundColor: 'rgba(255, 255, 255, 1)',\r\n\r\n botAvatarBackgroundColor: 'Transparent',\r\n userAvatarBackgroundColor: 'Transparent',\r\n\r\n\r\n hideSendBox: true,\r\n sendBoxButtonColor: '$subtle',\r\n sendBoxDisabledTextColor: '$subtle',\r\n sendBoxPlaceholderColor: '$subtle',\r\n sendBoxButtonColorOnDisabled: '#CCC',\r\n sendBoxButtonColorOnFocus: '#333',\r\n sendBoxButtonColorOnHover: '#333',\r\n sendBoxBackground: BotFrameworkDefaultStyleOptions.secondaryBackgroundColor,\r\n sendBoxBorderTop: 0,\r\n sendBoxTextWrap: true,\r\n sendBoxMaxHeight: 100, // used for text are maxHeight\r\n emojiSet: {\r\n ':)': '😊',\r\n ':-)': '😊',\r\n '(:': '😊',\r\n '(-:': '😊',\r\n ':-|': 'ðŸ˜',\r\n ':|': 'ðŸ˜',\r\n ':-(': '☹ï¸',\r\n ':(': '☹ï¸',\r\n ':-D': '😀',\r\n ':D': '😀',\r\n ':-p': '😛',\r\n ':p': '😛',\r\n ':-P': '😛',\r\n ':P': '😛',\r\n ':-o': '😲',\r\n ':o': '😲',\r\n ':O': '😲',\r\n ':-O': '😲',\r\n ';-)': '😉',\r\n ';)': '😉',\r\n '<3': 'â¤ï¸',\r\n '</3': '💔',\r\n '<\\\\3': '💔'\r\n }, \r\n\r\n typingAnimationHeight: 40,\r\n // has to be like this: 'url(https://site.com/typing.gif)'\r\n typingAnimationBackgroundImage: druidCreateBlobUrl(typingAnimation, 'image/gif'),\r\n\r\n // autoScrollSnapOnActivity: 1, // must be set to 1 or else error when a choice is first message\r\n autoScrollSnapOnPage: 90,\r\n autoScrollSnapOnActivityOffset: 100,\r\n scrollToEndButtonBehavior: 'any',\r\n \r\n adaptiveCardsParserMaxVersion: '1.5',\r\n\r\n // bubbleMaxWidth: '100%', // removed. because when width is large, bubbles are also large.\r\n bubbleFromUserBackground: '#d3d8e3',\r\n bubbleBackground: BotFrameworkDefaultStyleOptions.secondaryBackgroundColor,\r\n bubbleBorderColor: '#e4e4e4',\r\n messageActivityWordBreak: 'break-word',\r\n bubbleNubSize: 0,\r\n bubbleNubOffset: 'top',\r\n bubbleFromUserNubSize: 0,\r\n bubbleFromUserNubOffset: 'top',\r\n bubbleBorderRadius: 20,\r\n bubbleFromUserBorderRadius: 20,\r\n bubbleImageHeight: 240, // was 'auto' but images are to large\r\n\r\n transcriptTerminatorBackgroundColor: 'Transparent', // to hide transcript terminator\r\n transcriptTerminatorColor: 'Transparent',\r\n transcriptTerminatorFontSize: 0,\r\n\r\n transcriptVisualKeyboardIndicatorColor: '$accent',\r\n transcriptVisualKeyboardIndicatorStyle: 'solid', // this is default, not an actual override\r\n transcriptVisualKeyboardIndicatorWidth: 0,\r\n\r\n transcriptActivityVisualKeyboardIndicatorColor: '$accent',\r\n transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',\r\n transcriptActivityVisualKeyboardIndicatorWidth: 1,\r\n \r\n\r\n toasterSingularMaxHeight: 150,\r\n\r\n suggestedActionsVisualKeyboardIndicatorColor: 'Transparent',\r\n suggestedActionBorderRadius: 10, // if not provided, it is inherited from UI.buttonsBorderRadius\r\n suggestedActionBorderColor: '$buttonsBorderColor',\r\n suggestedActionTextColor: '$buttonsTextColor', // must be equal to UI.buttonsTextColor\r\n suggestedActionBackground: '$buttonsBackgroundColor',// must be equal to UI.buttonsBackgroundColor\r\n suggestedActionBackgroundColor: '$buttonsBackgroundColor',// must be equal to UI.buttonsBackgroundColor\r\n\r\n // suggestedActionB` `backgroundColor: 'white', // default from bf4\r\n suggestedActionDisabledBackground: '#F0F0F0', // in sync with BF hardcoded adaptivecards .ac-pushButton disable color\r\n suggestedActionDisabledBorderColor: '#A9A9A9', // in sync with BF hardcoded adaptivecards .ac-pushButton disable color\r\n suggestedActionDisabledTextColor: '#6D6D6D', // in sync with BF hardcoded adaptivecards .ac-pushButton disable color\r\n\r\n suggestedActionLayout: 'flow', // override of carousel,\r\n\r\n timestampColor: '$subtle'\r\n \r\n});\r\n// @ts-ignore\r\nconst druidDefaultStyleOptions: FullBundleStyleOptions = {\r\n ...defaultStyleOptions, // just to have the default options whatever the context\r\n ...overridenBFStyleOptions\r\n}\r\n\r\n\r\nconst defaultAdaptiveCardHostConfig = createDefaultAdaptiveCardHostConfig(druidDefaultStyleOptions);\r\nexport const druidOverrides_adaptiveCardHostConfig = {\r\n spacing: {\r\n padding: druidDefaultStyleOptions.paddingRegular,\r\n // large: 30 // this is used, for ex, at the horizontalSeparator of adaptiveCards. see [actions.spacing]\r\n },\r\n actions: {\r\n // buttonSpacing: 20,\r\n // actionAlignment: 'left',\r\n // actionsOrientation: 'vertical',\r\n allowTitleToWrap: true,\r\n \r\n spacing: \"medium\"\r\n },\r\n fontSizes: {\r\n default : BotFrameworkDefaultStyleOptions.rootFontSize, // doesn't realy work with rems. falls back to transcriptFontSize.\r\n // small: 16,\r\n // default : '1rem', // doesn't realy work with rems. falls back to transcriptFontSize.\r\n // medium: 16,\r\n // large: 16,\r\n // extraLarge: 16\r\n }\r\n // fontFamily: 'Druid Regular',\r\n \r\n};\r\nexport const webChatDefaultOptions: WebChatOptions = {\r\n instanceID: randomHash(),\r\n botConnection: null,\r\n userId: 'anonymous',\r\n backgroundTrafficEnabled: true,\r\n authorizationBaseUrl: null, // leave null for baseUrl, set '/' for containing website root url, set 'https://site.com' for full root url\r\n withCredentials: false,\r\n withCredentials_authorization: false,\r\n druidCookieConsentEnabled: false,\r\n conversationTokenEnabled: true,\r\n druidWebChatIsOpenedEnabled: true,\r\n conversationToken_namePrefix: \"\",\r\n druidWebChatIsOpened_namePrefix: \"\", \r\n druidCookiesExpirationInDays: 1,\r\n notificationsEnabled: false, \r\n isDisabled: false, // remote disable whole chat (hide)\r\n otherServicesEndpointIndex: 0,\r\n _isSecondaryChannel: false,\r\n searchAssistEnabled: false,\r\n UI: {\r\n isVoiceInput: false,\r\n containerElement: null,\r\n closeButtonEnabled: false, // controls if containerElement should be hidden on expand\r\n autoExpandEnabled: false,\r\n showPoweredBy: false,\r\n activityWrapperClassEnabled: false,\r\n accessibilityFeaturesEnabled: false,\r\n width: 400,\r\n height: '60vh',\r\n minWidth: 400,\r\n bottom: 20,\r\n top: 'auto',\r\n chatTitle: 'Webchat',\r\n withoutRender: false,\r\n\r\n restylingsEnabled: false,\r\n emojiPickerEnabled: false,\r\n botActivitiesActionsEnabled: false,\r\n\r\n // contextMenuIcon: 'BsMenuUp',\r\n // contextMenuIcon: 'FaBars',\r\n position: 'right',\r\n showUploadButton: null,\r\n floatRight: 20,\r\n resizableEnabled: true,\r\n draggableEnabled: false,\r\n // replyToMessageEnabled: false,\r\n\r\n buttonsPadding: (druidDefaultStyleOptions?.paddingRegular!) / 2,\r\n buttonsBorderRadius: (druidDefaultStyleOptions?.paddingRegular!) / 2,\r\n buttonsBorderColor: '$accent', //(druidDefaultStyleOptions?.accent),\r\n buttonsBackgroundColor: 'white',\r\n buttonsTextColor: '$accent', //(druidDefaultStyleOptions?.accent),\r\n\r\n activityStatusShowUserName: true,\r\n activityStatusShowBotName: true,\r\n\r\n v2_minimize_icon: null, // fallback to default icon\r\n // ({size}: {size: number}) => {\r\n // return `<svg stroke=\"currentColor\" fill=\"currentColor\" width=\"${size || 'auto'}\" height=\"${size|| 'auto'}\" stroke-width=\"0\" viewBox=\"0 0 352 512\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"></path></svg>`\r\n // },\r\n v2_contextMenu_icon: null, // fallback to default icon\r\n // ({size}: {size: number}) => {\r\n // return `<svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" width=\"${size || 'auto'}\" height=\"${size|| 'auto'}\" viewBox=\"0 0 448 512\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"></path></svg>`\r\n // },\r\n v2_switch_icon: 'BsArrowLeftRight',\r\n v2_customButton_toggled_icon: \"\",\r\n v2_customButton_off_icon: \"\",\r\n v2_containerElement_expand_icon: null,\r\n v2_containerElement_collapse_icon: null,\r\n chatBoxBorderRadius: 4,\r\n chatBoxBorderColor: '#eee',\r\n chatBoxBorderSize: 1,\r\n\r\n headerTextColor: 'white',\r\n headerButtonColorOnFocus: '$sendBoxButtonColorOnFocus',\r\n headerFontSize: '1.3em', // 1.3 larger than fontsize\r\n headerBottomBorderRadius: 25,\r\n // headerBorderRadius: (druidDefaultStyleOptions?.paddingRegular!) / 2,\r\n rootFontSize: BotFrameworkDefaultStyleOptions.rootFontSize,\r\n transcriptFontSize: '$rootFontSize',\r\n transcriptLinkColor: '#005A9E',\r\n sendBoxFontSize: '$rootFontSize',\r\n lineHeight: '1.25', // normal == 1.2 (browser dependent)\r\n headerOptions: {\r\n showHeader: true,\r\n showChatTitle: true,\r\n showCloseButton: true,\r\n showChangeSideButton: true,\r\n showLanguageSelector: true,\r\n showIcon: true,\r\n showAvatar: false,\r\n showVoiceInputSelector: true,\r\n showReload: process.env.NODE_ENV === \"development\",\r\n showReset: true\r\n }\r\n\r\n // activityStatusReadColor: '#70b244'\r\n },\r\n styleOptions: druidDefaultStyleOptions,\r\n adaptiveCardsHostConfig: merge.all([\r\n // there is a problem when initialOptions are provided.\r\n defaultAdaptiveCardHostConfig,\r\n druidOverrides_adaptiveCardHostConfig\r\n ]),\r\n languages: [],\r\n localization: druidDefaultLocalization as any,\r\n conversationHistoryActivities: [],\r\n designPatterns: {\r\n nonCarousel_HeroCard_AutoWidth: false,\r\n nonCarousel_HeroCard_ButtonsOnly_BackgroundTransparent: true,\r\n },\r\n // ...Components.Composer.defaultProps,\r\n ...Composer.defaultProps,\r\n suggestedActionsAccessKey: false // could be huge bug for accessibility. review AccessKeySinkSurface and AccessKeySinkContext\r\n}\r\n\r\nexport const restylingsWebchatDefaultOptions: Partial<WebChatOptions> = {\r\n UI: {\r\n chatBoxBorderRadius: 15,\r\n headerTextColorOnHover: 'black',\r\n headerButtonColorOnFocus: 'black',\r\n headerBorderRadius: (druidDefaultStyleOptions?.paddingRegular!) / 2,\r\n restylingsEnabled: true\r\n // headerOuterPadding: 5,\r\n },\r\n styleOptions: {\r\n accent: '#6bbf00',\r\n sendBoxHeight: 50,\r\n bubbleBackground: 'white',\r\n bubbleFromUserBackground: '#f4f5f7',\r\n bubbleNubOffset: 'bottom',\r\n bubbleFromUserNubOffset: 'bottom',\r\n sendBoxButtonColor: '$accent',\r\n sendBoxButtonColorOnFocus: '$accent',\r\n sendBoxButtonColorOnHover: 'white',\r\n sendBoxButtonShadeBorderRadius: 50,\r\n // sendBoxButtonShadeColor: 'pink',\r\n sendBoxButtonShadeColorOnHover: '$accent',\r\n sendBoxButtonAlignment: 'stretch'\r\n // sendBoxButtonColorOnHover: 'white',\r\n\r\n // sendBoxButtonColorOnHover: '$accent',\r\n }\r\n}\r\n\r\n\r\nexport const webChatFullScreenDefaultOptions: WebChatOptions = merge.all<WebChatOptions>([\r\n webChatDefaultOptions,\r\n {\r\n conversationTokenEnabled: false, // overriden by remote config. added only to take notice here.\r\n UI: {\r\n resizableEnabled: false,\r\n headerOptions: {\r\n showCloseButton: true,\r\n showChangeSideButton: false,\r\n showLanguageSelector: true,\r\n showAvatar: true\r\n }\r\n }}\r\n]);\r\n\r\nexport enum DruidCookies {\r\n DruidWebChatIsOpened = \"druidWebChatIsOpened\",\r\n DruidConversationToken = \"druidConversationToken\",\r\n DruidConversationLanguage= \"druidConversationLanguage\",\r\n DruidCookieConsent= \"druidCookieConsent\",\r\n}\r\n\r\nexport function druidNormalizeStyleOptions(styleOptions: FullBundleStyleOptions): FullBundleStyleOptions {\r\n if(!styleOptions) {\r\n return styleOptions;\r\n }\r\n if (styleOptions.suggestedActionBackground !== undefined) {\r\n styleOptions.suggestedActionBackgroundColor ||= styleOptions?.suggestedActionBackground;\r\n styleOptions.suggestedActionBackground = undefined;\r\n }\r\n if (styleOptions?.suggestedActionDisabledBackground !== undefined) {\r\n styleOptions.suggestedActionBackgroundColorOnDisabled ||= styleOptions?.suggestedActionDisabledBackground;\r\n styleOptions.suggestedActionDisabledBackground = undefined;\r\n }\r\n if (styleOptions?.suggestedActionDisabledBorderColor !== undefined) {\r\n styleOptions.suggestedActionBorderColorOnDisabled ||= styleOptions?.suggestedActionDisabledBorderColor;\r\n styleOptions.suggestedActionDisabledBorderColor = undefined;\r\n }\r\n if (styleOptions?.suggestedActionDisabledTextColor !== undefined) {\r\n styleOptions.suggestedActionTextColorOnDisabled ||= styleOptions?.suggestedActionDisabledTextColor;\r\n styleOptions.suggestedActionDisabledTextColor = undefined;\r\n }\r\n\r\n return styleOptions;\r\n}","export const typingAnimation = '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';","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","// Utilities\n//\n'use strict';\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction isString(obj) { return _class(obj) === '[object String]'; }\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction has(object, key) {\n return _hasOwnProperty.call(object, key);\n}\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be object');\n }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\n// Remove element from array and put another array at those position.\n// Useful for some operations with tokens\nfunction arrayReplaceAt(src, pos, newElements) {\n return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1));\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isValidEntityCode(c) {\n /*eslint no-bitwise:0*/\n // broken sequence\n if (c >= 0xD800 && c <= 0xDFFF) { return false; }\n // never used\n if (c >= 0xFDD0 && c <= 0xFDEF) { return false; }\n if ((c & 0xFFFF) === 0xFFFF || (c & 0xFFFF) === 0xFFFE) { return false; }\n // control codes\n if (c >= 0x00 && c <= 0x08) { return false; }\n if (c === 0x0B) { return false; }\n if (c >= 0x0E && c <= 0x1F) { return false; }\n if (c >= 0x7F && c <= 0x9F) { return false; }\n // out of range\n if (c > 0x10FFFF) { return false; }\n return true;\n}\n\nfunction fromCodePoint(c) {\n /*eslint no-bitwise:0*/\n if (c > 0xffff) {\n c -= 0x10000;\n var surrogate1 = 0xd800 + (c >> 10),\n surrogate2 = 0xdc00 + (c & 0x3ff);\n\n return String.fromCharCode(surrogate1, surrogate2);\n }\n return String.fromCharCode(c);\n}\n\n\nvar UNESCAPE_MD_RE = /\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g;\nvar ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;\nvar UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi');\n\nvar DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\n\nvar entities = require('./entities');\n\nfunction replaceEntityPattern(match, name) {\n var code = 0;\n\n if (has(entities, name)) {\n return entities[name];\n }\n\n if (name.charCodeAt(0) === 0x23/* # */ && DIGITAL_ENTITY_TEST_RE.test(name)) {\n code = name[1].toLowerCase() === 'x' ?\n parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10);\n\n if (isValidEntityCode(code)) {\n return fromCodePoint(code);\n }\n }\n\n return match;\n}\n\n/*function replaceEntities(str) {\n if (str.indexOf('&') < 0) { return str; }\n\n return str.replace(ENTITY_RE, replaceEntityPattern);\n}*/\n\nfunction unescapeMd(str) {\n if (str.indexOf('\\\\') < 0) { return str; }\n return str.replace(UNESCAPE_MD_RE, '$1');\n}\n\nfunction unescapeAll(str) {\n if (str.indexOf('\\\\') < 0 && str.indexOf('&') < 0) { return str; }\n\n return str.replace(UNESCAPE_ALL_RE, function (match, escaped, entity) {\n if (escaped) { return escaped; }\n return replaceEntityPattern(match, entity);\n });\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar HTML_ESCAPE_TEST_RE = /[&<>\"]/;\nvar HTML_ESCAPE_REPLACE_RE = /[&<>\"]/g;\nvar HTML_REPLACEMENTS = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"'\n};\n\nfunction replaceUnsafeChar(ch) {\n return HTML_REPLACEMENTS[ch];\n}\n\nfunction escapeHtml(str) {\n if (HTML_ESCAPE_TEST_RE.test(str)) {\n return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar);\n }\n return str;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar REGEXP_ESCAPE_RE = /[.?*+^$[\\]\\\\(){}|-]/g;\n\nfunction escapeRE(str) {\n return str.replace(REGEXP_ESCAPE_RE, '\\\\$&');\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isSpace(code) {\n switch (code) {\n case 0x09:\n case 0x20:\n return true;\n }\n return false;\n}\n\n// Zs (unicode class) || [\\t\\f\\v\\r\\n]\nfunction isWhiteSpace(code) {\n if (code >= 0x2000 && code <= 0x200A) { return true; }\n switch (code) {\n case 0x09: // \\t\n case 0x0A: // \\n\n case 0x0B: // \\v\n case 0x0C: // \\f\n case 0x0D: // \\r\n case 0x20:\n case 0xA0:\n case 0x1680:\n case 0x202F:\n case 0x205F:\n case 0x3000:\n return true;\n }\n return false;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n/*eslint-disable max-len*/\nvar UNICODE_PUNCT_RE = require('uc.micro/categories/P/regex');\n\n// Currently without astral characters support.\nfunction isPunctChar(ch) {\n return UNICODE_PUNCT_RE.test(ch);\n}\n\n\n// Markdown ASCII punctuation characters.\n//\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\n//\n// Don't confuse with unicode punctuation !!! It lacks some chars in ascii range.\n//\nfunction isMdAsciiPunct(ch) {\n switch (ch) {\n case 0x21/* ! */:\n case 0x22/* \" */:\n case 0x23/* # */:\n case 0x24/* $ */:\n case 0x25/* % */:\n case 0x26/* & */:\n case 0x27/* ' */:\n case 0x28/* ( */:\n case 0x29/* ) */:\n case 0x2A/* * */:\n case 0x2B/* + */:\n case 0x2C/* , */:\n case 0x2D/* - */:\n case 0x2E/* . */:\n case 0x2F/* / */:\n case 0x3A/* : */:\n case 0x3B/* ; */:\n case 0x3C/* < */:\n case 0x3D/* = */:\n case 0x3E/* > */:\n case 0x3F/* ? */:\n case 0x40/* @ */:\n case 0x5B/* [ */:\n case 0x5C/* \\ */:\n case 0x5D/* ] */:\n case 0x5E/* ^ */:\n case 0x5F/* _ */:\n case 0x60/* ` */:\n case 0x7B/* { */:\n case 0x7C/* | */:\n case 0x7D/* } */:\n case 0x7E/* ~ */:\n return true;\n default:\n return false;\n }\n}\n\n// Hepler to unify [reference labels].\n//\nfunction normalizeReference(str) {\n // Trim and collapse whitespace\n //\n str = str.trim().replace(/\\s+/g, ' ');\n\n // In node v10 'ẞ'.toLowerCase() === 'á¹¾', which is presumed to be a bug\n // fixed in v12 (couldn't find any details).\n //\n // So treat this one as a special case\n // (remove this when node v10 is no longer supported).\n //\n if ('ẞ'.toLowerCase() === 'á¹¾') {\n str = str.replace(/ẞ/g, 'ß');\n }\n\n // .toLowerCase().toUpperCase() should get rid of all differences\n // between letter variants.\n //\n // Simple .toLowerCase() doesn't normalize 125 code points correctly,\n // and .toUpperCase doesn't normalize 6 of them (list of exceptions:\n // Ä°, Ï´, ẞ, Ω, K, â„« - those are already uppercased, but have differently\n // uppercased versions).\n //\n // Here's an example showing how it happens. Lets take greek letter omega:\n // uppercase U+0398 (Θ), U+03f4 (Ï´) and lowercase U+03b8 (θ), U+03d1 (Ï‘)\n //\n // Unicode entries:\n // 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;\n // 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398\n // 03D1;GREEK THETA SYMBOL;Ll;0;L;<compat> 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398\n // 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L;<compat> 0398;;;;N;;;;03B8;\n //\n // Case-insensitive comparison should treat all of them as equivalent.\n //\n // But .toLowerCase() doesn't change Ï‘ (it's already lowercase),\n // and .toUpperCase() doesn't change Ï´ (already uppercase).\n //\n // Applying first lower then upper case normalizes any character:\n // '\\u0398\\u03f4\\u03b8\\u03d1'.toLowerCase().toUpperCase() === '\\u0398\\u0398\\u0398\\u0398'\n //\n // Note: this is equivalent to unicode case folding; unicode normalization\n // is a different step that is not required here.\n //\n // Final result should be uppercased, because it's later stored in an object\n // (this avoid a conflict with Object.prototype members,\n // most notably, `__proto__`)\n //\n return str.toLowerCase().toUpperCase();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n// Re-export libraries commonly used in both markdown-it and its plugins,\n// so plugins won't have to depend on them explicitly, which reduces their\n// bundled size (e.g. a browser build).\n//\nexports.lib = {};\nexports.lib.mdurl = require('mdurl');\nexports.lib.ucmicro = require('uc.micro');\n\nexports.assign = assign;\nexports.isString = isString;\nexports.has = has;\nexports.unescapeMd = unescapeMd;\nexports.unescapeAll = unescapeAll;\nexports.isValidEntityCode = isValidEntityCode;\nexports.fromCodePoint = fromCodePoint;\n// exports.replaceEntities = replaceEntities;\nexports.escapeHtml = escapeHtml;\nexports.arrayReplaceAt = arrayReplaceAt;\nexports.isSpace = isSpace;\nexports.isWhiteSpace = isWhiteSpace;\nexports.isMdAsciiPunct = isMdAsciiPunct;\nexports.isPunctChar = isPunctChar;\nexports.escapeRE = escapeRE;\nexports.normalizeReference = normalizeReference;\n","var _Object$keys = require(\"@babel/runtime-corejs3/core-js/object/keys\");\nvar _Object$getOwnPropertySymbols = require(\"@babel/runtime-corejs3/core-js/object/get-own-property-symbols\");\nvar _filterInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/filter\");\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js/object/get-own-property-descriptor\");\nvar _forEachInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/for-each\");\nvar _Object$getOwnPropertyDescriptors = require(\"@babel/runtime-corejs3/core-js/object/get-own-property-descriptors\");\nvar _Object$defineProperties = require(\"@babel/runtime-corejs3/core-js/object/define-properties\");\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js/object/define-property\");\nvar defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(object, enumerableOnly) {\n var keys = _Object$keys(object);\n if (_Object$getOwnPropertySymbols) {\n var symbols = _Object$getOwnPropertySymbols(object);\n enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) {\n return _Object$getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var _context, _context2;\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) {\n defineProperty(target, key, source[key]);\n }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) {\n _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","import useWebChatUIContext from './internal/useWebChatUIContext';\n\nexport default function useStyleSet(): [any] {\n return [useWebChatUIContext().styleSet];\n}\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","module.exports = {};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).simpleUpdateIn=e()}(this,function(){\"use strict\";function l(t){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function c(t,e,r,n,o,a,i){try{var u=t[a](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function t(u){return function(){var t=this,i=arguments;return new Promise(function(e,r){var n=u.apply(t,i);function o(t){c(n,e,r,o,a,\"next\",t)}function a(t){c(n,e,r,o,a,\"throw\",t)}o(void 0)})}}function p(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(e,t){var r,n=Object.keys(e);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(e),t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)),n}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function b(t){return function(t){if(Array.isArray(t))return t}(t)||e(t)||u(t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function v(t){return function(t){if(Array.isArray(t))return o(t)}(t)||e(t)||u(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function u(t,e){if(t){if(\"string\"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t){if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=u(t))){var e=0,r=function(){};return{s:r,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var n,o,a=!0,i=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){i=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}var d=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};function r(t,e,r){s(e);var n,o=f(function t(e,r){if(!r.length)return;var n=b(r),o=n[0],a=n.slice(1);if(\"function\"==typeof o){var i=[];if(Array.isArray(e))for(var u=0,c=e.length;u<c;u++)o.call(e,e[u],u)&&i.push.apply(i,v(t(e,[u].concat(v(a)))));else for(var f in e||{})o.call(e,e[f],f)&&i.push.apply(i,v(t(e,[f].concat(v(a)))));return i}var s=t(void 0!==e&&e[o],a);return s?s.map(function(t){return[o].concat(v(t))}):[[o]]}(t,e));try{for(o.s();!(n=o.n()).done;){var a=n.value;t=g(t,a,r?r(x(t,a)):void 0)}}catch(t){o.e(t)}finally{o.f()}return t}function a(){return(a=t(regeneratorRuntime.mark(function t(e,r,n){var o,a,i,u;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s(r),t.next=3,h(e,r);case 3:o=t.sent,a=f(o),t.prev=5,a.s();case 7:if((i=a.n()).done){t.next=23;break}if(u=i.value,t.t0=g,t.t1=e,t.t2=u,n)return t.next=15,n(x(e,u));t.next=18;break;case 15:t.t3=t.sent,t.next=19;break;case 18:t.t3=void 0;case 19:t.t4=t.t3,e=(0,t.t0)(t.t1,t.t2,t.t4);case 21:t.next=7;break;case 23:t.next=28;break;case 25:t.prev=25,t.t5=t.catch(5),a.e(t.t5);case 28:return t.prev=28,a.f(),t.finish(28);case 31:return t.abrupt(\"return\",e);case 32:case\"end\":return t.stop()}},t,null,[[5,25,28,31]])}))).apply(this,arguments)}function s(t){if(!Array.isArray(t))throw new Error(\"path must be an array\")}r.updateInAsync=function(t,e,r){return a.apply(this,arguments)};var m=[\"__proto__\",\"constructor\",\"prototype\"];function h(){return i.apply(this,arguments)}function i(){return(i=t(regeneratorRuntime.mark(function t(e,r){var n,o,a,i,u,c,f,s;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r.length){t.next=2;break}return t.abrupt(\"return\");case 2:if(n=b(r),o=n[0],a=n.slice(1),\"function\"!=typeof o){t.next=43;break}if(i=[],!Array.isArray(e)){t.next=25;break}u=0,c=e.length;case 7:if(u<c)return t.next=10,o.call(e,e[u],u);t.next=23;break;case 10:if(t.t0=t.sent,t.t0)return t.t1=i.push,t.t2=i,t.t3=v,t.next=17,h(e,[u].concat(v(a)));t.next=20;break;case 17:t.t4=t.sent,t.t5=(0,t.t3)(t.t4),t.t1.apply.call(t.t1,t.t2,t.t5);case 20:u++,t.next=7;break;case 23:t.next=42;break;case 25:t.t6=regeneratorRuntime.keys(e||{});case 26:if((t.t7=t.t6()).done){t.next=42;break}return f=t.t7.value,t.next=30,o.call(e,e[f],f);case 30:if(t.t8=t.sent,t.t8)return t.t9=i.push,t.t10=i,t.t11=v,t.next=37,h(e,[f].concat(v(a)));t.next=40;break;case 37:t.t12=t.sent,t.t13=(0,t.t11)(t.t12),t.t9.apply.call(t.t9,t.t10,t.t13);case 40:t.next=26;break;case 42:return t.abrupt(\"return\",i);case 43:return t.next=45,h(void 0!==e&&e[o],a);case 45:return s=t.sent,t.abrupt(\"return\",s?s.map(function(t){return[o].concat(v(t))}):[[o]]);case 47:case\"end\":return t.stop()}},t)}))).apply(this,arguments)}function x(t,e){return e.reduce(function(t,e){return t&&t[e]},t)}function g(t,e,r){if(!e.length)return r;var n,o=b(e),a=o[0],i=o.slice(1),u=void 0!==t&&t[a],c=t;if(n=a,m.includes(n))return t;if(\"string\"!=typeof a||\"object\"===l(c)&&!Array.isArray(c)?\"number\"!=typeof a||Array.isArray(c)||(c=[]):c={},\"number\"==typeof a){var f=g(u,i,r);return void 0===f?void 0===t?t:(a in c&&(c=v(c)).splice(a,1),c):d(f,u)?t:((c=v(c))[a]=f,c)}var s=g(u,i,r);return void 0===s?void 0===t?t:(a in c&&delete(c=y({},c))[a],c):d(s,u)?t:y(y({},c),{},p({},a,s))}return r});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","import { isFunction } from './util/isFunction';\nimport { Observer, PartialObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { empty as emptyObserver } from './Observer';\nimport { rxSubscriber as rxSubscriberSymbol } from './symbol/rxSubscriber';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber<T>\n */\nexport class Subscriber<T> extends Subscription implements Observer<T> {\n\n [rxSubscriberSymbol]() { return this; }\n\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n * @return {Subscriber<T>} A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n */\n static create<T>(next?: (x?: T) => void,\n error?: (e?: any) => void,\n complete?: () => void): Subscriber<T> {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n\n public syncErrorValue: any = null;\n public syncErrorThrown: boolean = false;\n public syncErrorThrowable: boolean = false;\n\n protected isStopped: boolean = false;\n protected destination: PartialObserver<any>; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n * defined Observer or a `next` callback function.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n */\n constructor(destinationOrNext?: PartialObserver<any> | ((value: T) => void),\n error?: (e?: any) => void,\n complete?: () => void) {\n super();\n\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n // HACK(benlesh): To resolve an issue where Node users may have multiple\n // copies of rxjs in their node_modules directory.\n if (isTrustedSubscriber(destinationOrNext)) {\n const trustedSubscriber = destinationOrNext[rxSubscriberSymbol]() as Subscriber<any>;\n this.syncErrorThrowable = trustedSubscriber.syncErrorThrowable;\n this.destination = trustedSubscriber;\n trustedSubscriber.add(this);\n } else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber<T>(this, <PartialObserver<any>> destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber<T>(this, <((value: T) => void)> destinationOrNext, error, complete);\n break;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached {@link Error}. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n this.destination.error(err);\n this.unsubscribe();\n }\n\n protected _complete(): void {\n this.destination.complete();\n this.unsubscribe();\n }\n\n /** @deprecated internal use only */ _unsubscribeAndRecycle(): Subscriber<T> {\n const { _parent, _parents } = this;\n this._parent = null;\n this._parents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parent = _parent;\n this._parents = _parents;\n return this;\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass SafeSubscriber<T> extends Subscriber<T> {\n\n private _context: any;\n\n constructor(private _parentSubscriber: Subscriber<T>,\n observerOrNext?: PartialObserver<T> | ((value: T) => void),\n error?: (e?: any) => void,\n complete?: () => void) {\n super();\n\n let next: ((value: T) => void);\n let context: any = this;\n\n if (isFunction(observerOrNext)) {\n next = (<((value: T) => void)> observerOrNext);\n } else if (observerOrNext) {\n next = (<PartialObserver<T>> observerOrNext).next;\n error = (<PartialObserver<T>> observerOrNext).error;\n complete = (<PartialObserver<T>> observerOrNext).complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(<() => void> context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n\n next(value?: T): void {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n } else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n\n error(err?: any): void {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._error) {\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n } else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n } else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n throw err;\n } else {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n this.unsubscribe();\n }\n }\n }\n\n complete(): void {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n } else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n } else {\n this.unsubscribe();\n }\n }\n }\n\n private __tryOrUnsub(fn: Function, value?: any): void {\n try {\n fn.call(this._context, value);\n } catch (err) {\n this.unsubscribe();\n throw err;\n }\n }\n\n private __tryOrSetError(parent: Subscriber<T>, fn: Function, value?: any): boolean {\n try {\n fn.call(this._context, value);\n } catch (err) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n return false;\n }\n\n /** @deprecated internal use only */ _unsubscribe(): void {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n\nfunction isTrustedSubscriber(obj: any) {\n return obj instanceof Subscriber || ('syncErrorThrowable' in obj && obj[rxSubscriberSymbol]);\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","import { call, cancel, fork, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLING } from '../../actions/connect';\nimport { DISCONNECT_PENDING } from '../../actions/disconnect';\nimport { RECONNECT_PENDING, RECONNECT_FULFILLING } from '../../actions/reconnect';\n\nimport type { DirectLineJSBotConnection } from '../../types/external/DirectLineJSBotConnection';\n\nexport default function whileConnectedEffect<P extends any[]>(\n fn: (\n {\n directLine,\n userID,\n username\n }: {\n directLine: DirectLineJSBotConnection;\n userID: string;\n username: string;\n },\n ...args: P\n ) => void,\n ...args: P\n) {\n return call(function* whileConnected() {\n for (;;) {\n const {\n meta: { userID, username },\n payload: { directLine }\n }: {\n meta: {\n userID: string;\n username: string;\n };\n payload: { directLine: DirectLineJSBotConnection };\n } = yield take([CONNECT_FULFILLING, RECONNECT_FULFILLING]);\n\n const task = yield fork(fn, { directLine, userID, username }, ...args);\n\n // When we receive DISCONNECT_PENDING or RECONNECT_PENDING, the Direct Line connection is currently busy and should not be used.\n\n yield take([DISCONNECT_PENDING, RECONNECT_PENDING]);\n yield cancel(task);\n }\n });\n}\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\ntype PostActivityFulfilledActionType = 'DIRECT_LINE/POST_ACTIVITY_FULFILLED';\ntype PostActivityImpededActionType = 'DIRECT_LINE/POST_ACTIVITY_IMPEDED';\ntype PostActivityPendingActionType = 'DIRECT_LINE/POST_ACTIVITY_PENDING';\ntype PostActivityRejectedActionType = 'DIRECT_LINE/POST_ACTIVITY_REJECTED';\n\ntype PostActivityAction = {\n meta: { method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityActionType;\n};\n\ntype PostActivityFulfilledAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityFulfilledActionType;\n};\n\ntype PostActivityImpededAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityImpededActionType;\n};\n\ntype PostActivityPendingAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityPendingActionType;\n};\n\ntype PostActivityRejectedAction = {\n error: true;\n meta: { clientActivityID: string; method: string };\n payload: Error;\n type: PostActivityRejectedActionType;\n};\n\nconst POST_ACTIVITY: PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\nconst POST_ACTIVITY_FULFILLED: PostActivityFulfilledActionType = `${POST_ACTIVITY}_FULFILLED`;\nconst POST_ACTIVITY_IMPEDED: PostActivityImpededActionType = `${POST_ACTIVITY}_IMPEDED`;\nconst POST_ACTIVITY_PENDING: PostActivityPendingActionType = `${POST_ACTIVITY}_PENDING`;\nconst POST_ACTIVITY_REJECTED: PostActivityRejectedActionType = `${POST_ACTIVITY}_REJECTED`;\n\nfunction postActivity(activity: WebChatActivity, method = 'keyboard'): PostActivityAction {\n return {\n type: POST_ACTIVITY,\n meta: { method },\n payload: { activity }\n };\n}\n\nexport default postActivity;\nexport { POST_ACTIVITY, POST_ACTIVITY_FULFILLED, POST_ACTIVITY_IMPEDED, POST_ACTIVITY_PENDING, POST_ACTIVITY_REJECTED };\nexport type {\n PostActivityAction,\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n};\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import React, { createContext } from 'react';\nimport { WebChatOptions }from './WebChatOptions';\n// import { DirectLineOptions } from 'botframework-directlinejs';\nimport { DirectLineOptions, ServiceStatus, DirectLine } from 'botframework-directlinejs'; // not sure for now if resolutions in package.json will work\n\n// import createStoreWithDevTools from 'botframework-webchat-core/lib/createStore';\nimport { DruidAction } from './hooks/useWebChatReducer';\n\n\nexport interface WebChatState {\n instanceID: string,\n initialized: boolean,\n loaded: boolean,\n minimized: boolean,\n newMessage: boolean,\n side: 'left' | 'right',\n containerElementVisible: boolean,\n contextMenuItems: string[],\n contextMenuTranslations: { [key: string]: string[] },\n directlineOptions: DirectLineOptions | null,\n directlineInstance: null | DirectLine ,\n speechOptions: Partial<{ speechToken: string, speechRegion: string, isVoiceChannel: boolean }>\n mergedChatOptions: WebChatOptions,\n pristineMergedChatOptions: Partial<WebChatOptions>, // chat options after all merges. does not contain runtime updates, like mergedchatoptions\n headerOptions: WebChatHeaderOptions,\n botLanguages: BotLanguage[],\n selectedActivityForReply: any,\n locale: string,\n showTyping: boolean | string, // internal usage\n cardActionsDisabled: boolean,\n inputBlocked: boolean, \n // isWindowFocused: boolean,\n isMobile: boolean,\n isVoiceInput: boolean, // different than authorizeResponse.isVoiceChannel. this is used in UI\n sensitiveDataInputMode: boolean,\n fileUploadInputMode: boolean, // not used -> calculated inside DruidSendBox, but we could change in the future if the desired behavior changes\n conversationHistoryShowAll: boolean,\n // store: ReturnType<typeof createStoreWithDevTools> | null, // must uncomment\n store: any,\n // bfWebchatProps: ComposerProps | null, // not used -> for the moment the props are obtained from root mergeChatOptions object\n serviceStatus: ServiceStatus,\n conversationToken: string | null, // this is internal\n INITIALIZATION_STATUS: 'uninitialized' | 'success' | 'failed',\n INITIALIZATION_STATUS_MESSAGE: string | null\n}\n\nexport interface WebChatHeaderOptions {\n showHeader: boolean,\n showChatTitle: boolean,\n showCloseButton: boolean,\n showChangeSideButton: boolean,\n showLanguageSelector: boolean,\n showIcon: boolean,\n showAvatar: boolean,\n showVoiceInputSelector: boolean,\n showReload: boolean,\n showReset: boolean\n}\n\nexport interface BotLanguage {\n name: string,\n nativeName: string, // could be renamed\n isDefault: boolean,\n isSelected?: boolean,\n icon: string,\n id: number,\n displayName?: string\n }\n\nexport type DruidWebchatContextType = [state: WebChatState, dispatch: React.Dispatch<DruidAction>, getState: () => WebChatState, druidStyleToEmotionObject: (style: any) => any];\n\nconst DruidWebchatContext = createContext<DruidWebchatContextType>(null!);\nDruidWebchatContext.displayName = \"DruidWebchatContext\";\n// const DruidWebchatContext = createContext<WebChatState>(null!);\n\n\nexport default DruidWebchatContext;","import * as ActivityClientState from './constants/ActivityClientState';\nimport * as DictateState from './constants/DictateState';\nimport clearSuggestedActions from './actions/clearSuggestedActions';\nimport connect from './actions/connect';\nimport createStore, {\n withDevTools as createStoreWithDevTools,\n withOptions as createStoreWithOptions\n} from './createStore';\nimport disconnect from './actions/disconnect';\nimport dismissNotification from './actions/dismissNotification';\nimport emitTypingIndicator from './actions/emitTypingIndicator';\nimport isForbiddenPropertyName from './utils/isForbiddenPropertyName';\nimport markActivity from './actions/markActivity';\nimport OneOrMany from './types/OneOrMany';\nimport postActivity from './actions/postActivity';\nimport sendEvent from './actions/sendEvent';\nimport sendFiles from './actions/sendFiles';\nimport sendMessage from './actions/sendMessage';\nimport sendMessageBack from './actions/sendMessageBack';\nimport sendPostBack from './actions/sendPostBack';\nimport setDictateInterims from './actions/setDictateInterims';\nimport setDictateState from './actions/setDictateState';\nimport setLanguage from './actions/setLanguage';\nimport setNotification from './actions/setNotification';\nimport setSendBox from './actions/setSendBox';\nimport setSendTimeout from './actions/setSendTimeout';\nimport setSendTypingIndicator from './actions/setSendTypingIndicator';\nimport singleToArray from './utils/singleToArray';\nimport startDictate from './actions/startDictate';\nimport startSpeakingActivity from './actions/startSpeakingActivity';\nimport stopDictate from './actions/stopDictate';\nimport stopSpeakingActivity from './actions/stopSpeakingActivity';\nimport submitSendBox from './actions/submitSendBox';\nimport warnOnce from './utils/warnOnce';\n\nimport type { DirectLineActivity } from './types/external/DirectLineActivity';\nimport type { DirectLineAnimationCard } from './types/external/DirectLineAnimationCard';\nimport type { DirectLineAttachment } from './types/external/DirectLineAttachment';\nimport type { DirectLineAudioCard } from './types/external/DirectLineAudioCard';\nimport type { DirectLineCardAction } from './types/external/DirectLineCardAction';\nimport type { DirectLineHeroCard } from './types/external/DirectLineHeroCard';\nimport type { DirectLineJSBotConnection } from './types/external/DirectLineJSBotConnection';\nimport type { DirectLineOAuthCard } from './types/external/DirectLineOAuthCard';\nimport type { DirectLineReceiptCard } from './types/external/DirectLineReceiptCard';\nimport type { DirectLineSignInCard } from './types/external/DirectLineSignInCard';\nimport type { DirectLineSuggestedAction } from './types/external/DirectLineSuggestedAction';\nimport type { DirectLineThumbnailCard } from './types/external/DirectLineThumbnailCard';\nimport type { DirectLineVideoCard } from './types/external/DirectLineVideoCard';\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { WebChatActivity } from './types/WebChatActivity';\n\nconst Constants = { ActivityClientState, DictateState };\nconst version = process.env.npm_package_version;\n\nexport {\n clearSuggestedActions,\n connect,\n Constants,\n createStore,\n createStoreWithDevTools,\n createStoreWithOptions,\n disconnect,\n dismissNotification,\n emitTypingIndicator,\n isForbiddenPropertyName,\n markActivity,\n postActivity,\n sendEvent,\n sendFiles,\n sendMessage,\n sendMessageBack,\n sendPostBack,\n setDictateInterims,\n setDictateState,\n setLanguage,\n setNotification,\n setSendBox,\n setSendTimeout,\n setSendTypingIndicator,\n singleToArray,\n startDictate,\n startSpeakingActivity,\n stopDictate,\n stopSpeakingActivity,\n submitSendBox,\n version,\n warnOnce\n};\n\nexport type {\n DirectLineActivity,\n DirectLineAnimationCard,\n DirectLineAttachment,\n DirectLineAudioCard,\n DirectLineCardAction,\n DirectLineHeroCard,\n DirectLineOAuthCard,\n DirectLineJSBotConnection,\n DirectLineReceiptCard,\n DirectLineSignInCard,\n DirectLineSuggestedAction,\n DirectLineThumbnailCard,\n DirectLineVideoCard,\n OneOrMany,\n GlobalScopePonyfill,\n WebChatActivity\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","import useWebChatUIContext from './useWebChatUIContext';\n\nexport default function useStyleToEmotionObject() {\n return useWebChatUIContext().styleToEmotionObject;\n}\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var path = require('../internals/path');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","import Cookies from \"js-cookie\";\r\nimport { WebChatState } from \"../WebChatContext\";\r\nimport { DruidCookies } from \"../WebChatOptions\";\r\n\r\nexport function getCookie(name: string) {\r\n return Cookies.get(name);\r\n}\r\n\r\nexport function setCookie(name: string, value: any, options: Cookies.CookieAttributes | null | undefined, druidWebChatState: WebChatState) {\r\n // console.info(`trying to set cookie ${name} with value ${value}`);\r\n const { mergedChatOptions: { druidCookieConsentEnabled, druidWebChatIsOpenedEnabled, conversationTokenEnabled, conversationToken_namePrefix, druidWebChatIsOpened_namePrefix, druidCookiesExpirationInDays }} = druidWebChatState;\r\n\r\n if(!options?.expires) {\r\n options = {...options, ...{ expires: druidCookiesExpirationInDays }} as Cookies.CookieAttributes;\r\n }\r\n\r\n if(options && options.secure === undefined) {\r\n options.secure = true;\r\n }\r\n if(name.indexOf(DruidCookies.DruidCookieConsent) > -1 && druidCookieConsentEnabled) {\r\n Cookies.set((conversationToken_namePrefix || \"\") + name, value, options as any);\r\n return;\r\n }\r\n if(!druidCookieConsentEnabled || getCookie(DruidCookies.DruidCookieConsent) === 'true') {\r\n if(name.indexOf(DruidCookies.DruidWebChatIsOpened) > -1) {\r\n if(!druidWebChatIsOpenedEnabled) {\r\n return;\r\n } else {\r\n return Cookies.set((druidWebChatIsOpened_namePrefix || \"\") + name, value, options as any);\r\n }\r\n \r\n }\r\n if(name.indexOf(DruidCookies.DruidConversationToken) > -1 ) {\r\n if(!conversationTokenEnabled) {\r\n return;\r\n } else {\r\n return Cookies.set((conversationToken_namePrefix || \"\") + name, value, options as any);\r\n }\r\n }\r\n\r\n if(name.indexOf(DruidCookies.DruidConversationLanguage) > -1 ) {\r\n if(!conversationTokenEnabled){\r\n return;\r\n } else {\r\n return Cookies.set((conversationToken_namePrefix || \"\") + name, value, options as any);\r\n }\r\n }\r\n\r\n Cookies.set(name, value, options as any);\r\n }\r\n}\r\n\r\nexport function removeCookie(name: string, druidWebChatState: WebChatState) {\r\n const { mergedChatOptions: { conversationToken_namePrefix, druidWebChatIsOpened_namePrefix }} = druidWebChatState;\r\n\r\n if(name.indexOf(DruidCookies.DruidCookieConsent) > -1) {\r\n Cookies.remove((conversationToken_namePrefix || \"\") + name);\r\n }\r\n\r\n if(name.indexOf(DruidCookies.DruidConversationToken) > -1) {\r\n Cookies.remove((conversationToken_namePrefix || \"\") + name);\r\n }\r\n\r\n if(name.indexOf(DruidCookies.DruidConversationLanguage) > -1) {\r\n Cookies.remove((conversationToken_namePrefix || \"\") + name);\r\n }\r\n\r\n if(name.indexOf(DruidCookies.DruidWebChatIsOpened) > -1) {\r\n Cookies.remove((druidWebChatIsOpened_namePrefix || \"\") + name);\r\n }\r\n\r\n}\r\n\r\nexport function removeAllCookies(druidWebChatState: WebChatState) {\r\n Object.keys(DruidCookies).forEach(cookie => {\r\n removeCookie(DruidCookies[cookie], druidWebChatState);\r\n }); \r\n}","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import { createContext } from 'react';\nimport { createDispatchHook, createSelectorHook } from 'react-redux';\n\nconst context = createContext();\n\nconst useDispatch = createDispatchHook(context);\nconst useSelector = createSelectorHook(context);\n\ncontext.displayName = 'WebChatReduxContext';\n\nexport default context;\n\nexport { useDispatch, useSelector };\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*! js-cookie v3.0.1 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n }()));\n}(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n})));\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","import * as merge from 'deepmerge';\r\nimport { isPlainObject } from 'is-plain-object';\r\nimport { WebChatOptions } from '../WebChatOptions';\r\n\r\nexport function mergeChatOptions(...args: Partial<WebChatOptions>[]) {\r\n return merge.all<WebChatOptions>([...args], { isMergeableObject: isPlainObject })\r\n}\r\n\r\nexport function visitMergedChatOptions(mergedChatOptions: WebChatOptions) {\r\n Object.keys(mergedChatOptions.UI!).forEach(key => {\r\n const val = mergedChatOptions.UI![key];\r\n const typeof_val = typeof val;\r\n if(typeof_val === 'string') {\r\n // mergedChatOptions.UI![key] = val.startsWith(\"$\") ? ((mergedChatOptions.styleOptions![val.replace('$','')]) || (mergedChatOptions.UI![val.replace('$','')])) : val;\r\n mergedChatOptions.UI![key] = val.startsWith(\"$\") ? tryGetValue(mergedChatOptions, val) : val;\r\n\r\n }\r\n });\r\n\r\n Object.keys(mergedChatOptions.styleOptions!).forEach(key => {\r\n const val = mergedChatOptions.styleOptions![key];\r\n const typeof_val = typeof val;\r\n if(typeof_val === 'string') {\r\n // mergedChatOptions.styleOptions![key] = val.startsWith(\"$\") ? ((mergedChatOptions.styleOptions![val.replace('$','')]) || (mergedChatOptions.UI![val.replace('$','')])) : val;\r\n mergedChatOptions.styleOptions![key] = val.startsWith(\"$\") ? tryGetValue(mergedChatOptions, val) : val;\r\n\r\n // mergedChatOptions.styleOptions![key] = val.startsWith(\"$\") ? tryGetValue(mergedChatOptions, val) : val;\r\n }\r\n });\r\n\r\n\r\n return mergedChatOptions;\r\n}\r\n\r\nfunction tryGetValue(rootObject: any, propName: any) {\r\n \r\n let nextVal = rootObject.styleOptions[propName.replace('$','')] || rootObject.UI[propName.replace('$','')];\r\n\r\n if(nextVal && nextVal.startsWith(\"$\")) {\r\n nextVal = tryGetValue(rootObject, nextVal);\r\n }\r\n\r\n return nextVal;\r\n\r\n}\r\n\r\nfunction propertiesToArray(obj) {\r\n const isObject = val =>\r\n val && typeof val === 'object' && !Array.isArray(val);\r\n \r\n const addDelimiter = (a, b) =>\r\n a ? `${a}.${b}` : b;\r\n \r\n const paths = (obj = {}, head = '') => {\r\n return Object.entries(obj)\r\n .reduce((product, [key, value]) => \r\n {\r\n let fullPath = addDelimiter(head, key)\r\n return isObject(value) ?\r\n product.concat(paths(value as any, fullPath))\r\n : product.concat(fullPath)\r\n }, []);\r\n }\r\n \r\n return paths(obj);\r\n }","\r\nimport getRTLList from 'botframework-webchat-api/lib/localization/getRTLList';\r\n\r\n\r\nexport function getDruidRTLList() {\r\n const completeRTLList = getRTLList();\r\n completeRTLList.push(...[\"ar\"]);\r\n return completeRTLList;\r\n}\r\nexport function determineDirection(dir, language): 'auto' | 'ltr' | 'rtl' {\r\n if (dir !== 'auto' && dir) {\r\n return dir;\r\n } else if (getDruidRTLList().includes(language)) {\r\n return 'rtl';\r\n }\r\n \r\n return 'ltr';\r\n}\r\n\r\nexport function getSideRTLAware(dir, side) {\r\n if(dir === 'rtl') {\r\n return side === 'left' ? 'right' : 'left';\r\n } else {\r\n return side;\r\n }\r\n}","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * <span class=\"informal\">Schedule task as if you used setTimeout(task, duration)</span>\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asap} scheduler.\n *\n * @example <caption>Use async scheduler to delay task</caption>\n * const task = () => console.log('it works!');\n *\n * Rx.Scheduler.async.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n *\n *\n * @example <caption>Use async scheduler to repeat task in intervals</caption>\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * Rx.Scheduler.async.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n *\n * @static true\n * @name async\n * @owner Scheduler\n */\n\nexport const async = new AsyncScheduler(AsyncAction);\n","import { useContext } from 'react';\n\nimport WebChatUIContext from './WebChatUIContext';\n\nexport default function useWebChatUIContext() {\n const context = useContext(WebChatUIContext);\n\n if (!context) {\n throw new Error('This hook can only be used on a component that is a descendant of <Composer>');\n }\n\n return context;\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","module.exports = true;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","import { Activity, MessageStatus } from \"@druidsoft/botframework-directlinejs\";\nimport deepmerge from \"deepmerge\";\nimport moment from \"moment\";\nimport { WebChatState } from \"../WebChatContext\";\n\nexport function druidLanguageComparison(firstLocale: string, secondLocale: string) {\n return firstLocale && secondLocale && (firstLocale.toLocaleLowerCase().startsWith(secondLocale.toLocaleLowerCase()) || secondLocale.toLocaleLowerCase().startsWith(firstLocale.toLocaleLowerCase()));\n}\n\nexport function isNewActivity(currentState: WebChatState, activity: any): boolean {\n return (currentState.directlineInstance?.serverTimestamp || moment()) < moment(activity.timestamp);\n}\n\nexport function shouldEnter_sensitiveDataInputMode(activity: any): boolean {\n // activity.text === 'prompt test' || \n return activity.inputHint === 'sensitiveDataInput';\n\n}\n\nexport function shouldEnter_fileUploadInputMode(activity: any): boolean {\n // activity.text === 'prompt test' || \n return activity?.channelData?.flowStepType === 'U';\n\n}\n\nexport const AppConsts = { DefaultLanguageId: -1 };\n\nexport function getConversationHistoryActivity_isFromMe (convHistoryAct: any): boolean {\n return convHistoryAct.originator === 0 || convHistoryAct.originator === 4;\n}\nexport function getConversationHistoryActivityFrom(convHistoryAct: any): any {\n const role = getConversationHistoryActivity_isFromMe(convHistoryAct) ? 'user' : 'bot_history';\n if(convHistoryAct.originator === 0) {\n return { id: convHistoryAct.abpUserName, name: convHistoryAct.abpUserName, role};\n }\n if(convHistoryAct.originator === 1) {\n return { id: convHistoryAct.botId, name: convHistoryAct.botName, role };\n }\n if(convHistoryAct.originator === 3) {\n return { id: convHistoryAct.helpdeskAgentName, name: convHistoryAct.helpdeskAgentName, role };\n }\n if(convHistoryAct.originator === 4) {\n return { id: convHistoryAct.helpdeskClientName, name: convHistoryAct.helpdeskClientName, role };\n }\n return null;\n}\nexport function mapConversationHistoryActivityToActivity(convHistoryAct: any, isShown: boolean): any {\n const ret: any = {\n from: getConversationHistoryActivityFrom(convHistoryAct),\n type: 'message',\n text: convHistoryAct.message,\n id: `${convHistoryAct.conversationId}|${convHistoryAct.id}`,\n timestamp: convHistoryAct.dateUtc || convHistoryAct.timestamp,\n status: MessageStatus.Read,\n channelData: deepmerge(convHistoryAct.channelData, { conversationHistory:{ isShown } })\n };\n return ret;\n}\n\n// also sets alt value\nexport function removeTapFromImagesAttachmentIfEmpty(images: any[]) {\n return images.map(img => {\n if(!img.alt) {\n img.alt = 'image';\n }\n if(!img.tap?.value) {\n const {tap, ...withoutTap} = img;\n return withoutTap;\n } else {\n return img;\n }\n });\n}\n","declare let global: any;\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ndeclare var WorkerGlobalScope: any;\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\n\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\nconst _root: any = __window || __global || __self;\n\n// Workaround Closure Compiler restriction: The body of a goog.module cannot use throw.\n// This is needed when used with angular/tsickle which inserts a goog.module statement.\n// Wrap in IIFE\n(function () {\n if (!_root) {\n throw new Error('RxJS could not find any global context (window, self, global)');\n }\n})();\n\nexport { _root as root };","module.exports = (function (crypto) {\n if (!crypto) return Math.random\n\n var max = Math.pow(2, 32)\n var u32 = new Uint32Array(1)\n\n return function random () {\n return crypto.getRandomValues(u32)[0] / max\n }\n})(require('./crypto'))\n","var path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\n};\n","import { StrictStyleOptions } from '../StyleOptions';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useStyleOptions(): [StrictStyleOptions] {\n return [useWebChatAPIContext().styleOptions];\n}\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","const SET_SEND_BOX = 'WEB_CHAT/SET_SEND_BOX';\n\nexport default function setSendBox(text) {\n return {\n type: SET_SEND_BOX,\n payload: { text }\n };\n}\n\nexport { SET_SEND_BOX };\n","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexport { isPlainObject };\n","export function randomHash(length) {\r\n length = length || 6;\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\r\n var charactersLength = characters.length;\r\n for ( var i = 0; i < length; i++ ) {\r\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n return result.toLowerCase();\r\n}\r\nexport function expandStringToLength(source, length) {\r\n if(!source) {\r\n return '';\r\n }\r\n var ret = source;\r\n while(ret.length < length) {\r\n ret += ret;\r\n }\r\n\r\n return ret.substring(0, length);\r\n}","/* eslint react/forbid-dom-props: [\"off\"] */\n\nimport PropTypes from 'prop-types';\nimport React, { forwardRef } from 'react';\n\nimport type { VFC } from 'react';\n\nimport useStyleToEmotionObject from './hooks/internal/useStyleToEmotionObject';\n\nconst ROOT_STYLE = {\n // .sr-only - This component is intended to be invisible to the visual Web Chat user, but read by the AT when using a screen reader\n color: 'transparent',\n height: 1,\n overflow: 'hidden',\n position: 'absolute',\n // We need to set top: 0, otherwise, it will repro:\n // - Run NVDA\n // - Make the transcript long enough to show the scrollbar\n // - Press SHIFT-TAB, focus on upload button\n // - Press up arrow multiple times\n top: 0,\n whiteSpace: 'nowrap',\n width: 1\n};\n\ntype ScreenReaderTextProps = {\n 'aria-hidden'?: boolean;\n id?: string;\n text: string;\n};\n\nconst ScreenReaderText: VFC<ScreenReaderTextProps> = forwardRef<HTMLDivElement, ScreenReaderTextProps>(\n ({ 'aria-hidden': ariaHidden, id, text }, ref) => {\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n if (ariaHidden && !id) {\n console.warn(\n 'botframework-webchat assertion: when \"aria-hidden\" is set, the screen reader text should be read by \"aria-labelledby\". Thus, \"id\" must be set.'\n );\n }\n\n return (\n <div aria-hidden={ariaHidden} className={rootClassName} id={id} ref={ref}>\n {text}\n </div>\n );\n }\n);\n\nScreenReaderText.defaultProps = {\n 'aria-hidden': undefined,\n id: undefined\n};\n\nScreenReaderText.propTypes = {\n 'aria-hidden': PropTypes.bool,\n id: PropTypes.string,\n text: PropTypes.string.isRequired\n};\n\nexport default ScreenReaderText;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","import usePonyfill from '../providers/Ponyfill/usePonyfill';\n\nexport default usePonyfill;\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));","import uniqueID from '../utils/uniqueID';\n\nimport type { Notification } from '../types/internal/Notification';\n\nconst SET_NOTIFICATION = 'WEB_CHAT/SET_NOTIFICATION';\n\ntype SetNotificationAction = {\n payload: Omit<Notification, 'timestamp'>;\n type: typeof SET_NOTIFICATION;\n};\n\nexport default function setNotification({\n alt,\n data,\n id,\n level,\n message\n}: Omit<Notification, 'timestamp'>): SetNotificationAction {\n if (!id || typeof id !== 'string') {\n console.warn(\n 'botframework-webchat: The \"id\" argument passed to \"setNotification\" must be a string; defaulting to a random value.'\n );\n\n id = uniqueID();\n }\n\n if (!level || typeof level !== 'string') {\n console.warn(\n 'botframework-webchat: The \"level\" argument passed to \"setNotification\" must be a string; defaulting to \"info\".'\n );\n\n level = 'info';\n }\n\n return {\n type: SET_NOTIFICATION,\n payload: { alt, data, id, level, message }\n };\n}\n\nexport { SET_NOTIFICATION };\n\nexport type { SetNotificationAction };\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","module.exports = require(\"core-js-pure/stable/instance/map\");","module.exports = require(\"core-js-pure/stable/set-timeout\");","// In order to keep file size down, only import the parts of rxjs that we use\n\nimport ReconnectingWebSocket from 'reconnecting-websocket';\nimport { AjaxRequest, AjaxResponse } from 'rxjs/observable/dom/AjaxObservable';\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { ReplaySubject } from 'rxjs/ReplaySubject';\nimport { MarkMessageStatusInput, ConversationStatus, MarkSenderActionInput, SenderActionAction, SenderAction, MessageStatusInputDto } from './shared/service-proxies/service-proxies'\nimport { Observable } from 'rxjs/Observable';\nimport { Subscriber } from 'rxjs/Subscriber';\nimport { Subscription } from 'rxjs/Subscription';\n\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/combineLatest';\nimport 'rxjs/add/operator/count';\nimport 'rxjs/add/operator/delay';\nimport 'rxjs/add/operator/do';\nimport 'rxjs/add/operator/filter';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/merge';\nimport 'rxjs/add/operator/mergeMap';\nimport 'rxjs/add/operator/retryWhen';\nimport 'rxjs/add/operator/share';\nimport 'rxjs/add/operator/take';\nimport 'rxjs/add/observable/timer';\nimport 'rxjs/add/operator/throttleTime';\nimport 'rxjs/add/operator/bufferTime';\nimport 'rxjs/add/operator/buffer';\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/distinctUntilChanged';\n\n\nimport 'rxjs/add/observable/dom/ajax';\nimport 'rxjs/add/observable/empty';\nimport 'rxjs/add/observable/from';\nimport 'rxjs/add/observable/interval';\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/observable/throw';\n\nimport moment, { Moment } from 'moment';\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web'\nimport { Stopwatch } from \"ts-stopwatch\";\nimport { buffer } from 'rxjs/operator/buffer';\n\nconst DIRECT_LINE_VERSION = 'DirectLine/3.0';\n\ndeclare var process: {\n arch: string;\n env: {\n VERSION: string;\n };\n platform: string;\n release: string;\n version: string;\n};\n\n//DruidSoft proxy type\n\nexport { SenderActionAction } from './shared/service-proxies/service-proxies';\n\n// Direct Line 3.0 types\n\nexport interface Conversation {\n conversationId: string,\n token: string,\n eTag?: string,\n streamUrl?: string,\n referenceGrammarId?: string\n}\n\nexport type MediaType = \"image/png\" | \"image/jpg\" | \"image/jpeg\" | \"image/gif\" | \"image/svg+xml\" | \"audio/mpeg\" | \"audio/mp4\" | \"video/mp4\" | \"video/webm\";\n\nexport interface Media {\n contentType: MediaType,\n contentUrl: string,\n name?: string,\n thumbnailUrl?: string\n}\n\nexport interface UnknownMedia {\n contentType: string,\n contentUrl: string,\n name?: string,\n thumbnailUrl?: string\n}\n\nexport type CardActionTypes = \"call\" | \"downloadFile\" | \"imBack\" | \"messageBack\" | \"openUrl\" | \"playAudio\" | \"playVideo\" | \"postBack\" | \"signin\" | \"showImage\";\n\nexport type CardAction = CallCardAction | DownloadFileCardAction | IMBackCardAction | MessageBackCardAction | OpenURLCardAction | PlayAudioCardAction | PlayVideoCardAction | PostBackCardAction | SignInCardAction | ShowImageCardAction;\n\nexport interface CallCardAction {\n image?: string,\n title: string,\n type: \"call\",\n value: any\n}\n\nexport interface DownloadFileCardAction {\n image?: string,\n title: string,\n type: \"downloadFile\",\n value: any\n}\n\nexport interface IMBackCardAction {\n image?: string,\n title?: string,\n type: \"imBack\",\n value: string,\n channelData: any // DRUID CUSTOMIZATION\n}\n\nexport type MessageBackCardAction = MessageBackWithImage | MessageBackWithTitle\n\nexport interface MessageBackWithImage {\n displayText?: string,\n image: string,\n text?: string,\n title?: string,\n type: \"messageBack\",\n value?: any\n}\n\nexport interface MessageBackWithTitle {\n displayText?: string,\n image?: string,\n text?: string,\n title: string,\n type: \"messageBack\",\n value?: any\n}\n\nexport interface OpenURLCardAction {\n image?: string,\n title: string,\n type: \"openUrl\",\n value: any\n}\n\nexport interface PlayAudioCardAction {\n image?: string,\n title: string,\n type: \"playAudio\",\n value: any\n}\n\nexport interface PlayVideoCardAction {\n image?: string,\n title: string,\n type: \"playVideo\",\n value: any\n}\n\nexport interface PostBackCardAction {\n image?: string,\n title?: string,\n type: \"postBack\",\n value: any,\n channelData: any // DRUID CUSTOMIZATION\n}\n\nexport interface ShowImageCardAction {\n image?: string,\n title: string,\n type: \"showImage\",\n value: any\n}\n\nexport interface SignInCardAction {\n image?: string,\n title: string,\n type: \"signin\",\n value: any\n}\n\nexport interface CardImage {\n alt?: string,\n url: string,\n tap?: CardAction\n}\n\nexport interface HeroCard {\n contentType: \"application/vnd.microsoft.card.hero\",\n content: {\n title?: string,\n subtitle?: string,\n text?: string,\n images?: CardImage[],\n buttons?: CardAction[],\n tap?: CardAction\n }\n}\n\nexport interface Thumbnail {\n contentType: \"application/vnd.microsoft.card.thumbnail\",\n content: {\n title?: string,\n subtitle?: string,\n text?: string,\n images?: CardImage[],\n buttons?: CardAction[],\n tap?: CardAction\n }\n}\n\nexport interface Signin {\n contentType: \"application/vnd.microsoft.card.signin\",\n content: {\n text?: string,\n buttons?: CardAction[]\n }\n}\n\nexport interface OAuth {\n contentType: \"application/vnd.microsoft.card.oauth\",\n content: {\n text?: string,\n connectionname: string,\n buttons?: CardAction[]\n }\n}\n\nexport interface ReceiptItem {\n title?: string,\n subtitle?: string,\n text?: string,\n image?: CardImage,\n price?: string,\n quantity?: string,\n tap?: CardAction\n}\n\nexport interface Receipt {\n contentType: \"application/vnd.microsoft.card.receipt\",\n content: {\n title?: string,\n facts?: { key: string, value: string }[],\n items?: ReceiptItem[],\n tap?: CardAction,\n tax?: string,\n vat?: string,\n total?: string,\n buttons?: CardAction[]\n }\n}\n\n// Deprecated format for Skype channels. For testing legacy bots in Emulator only.\nexport interface FlexCard {\n contentType: \"application/vnd.microsoft.card.flex\",\n content: {\n title?: string,\n subtitle?: string,\n text?: string,\n images?: CardImage[],\n buttons?: CardAction[],\n aspect?: string\n }\n}\n\nexport interface AudioCard {\n contentType: \"application/vnd.microsoft.card.audio\",\n content: {\n title?: string,\n subtitle?: string,\n text?: string,\n media?: { url: string, profile?: string }[],\n buttons?: CardAction[],\n autoloop?: boolean,\n autostart?: boolean\n }\n}\n\nexport interface VideoCard {\n contentType: \"application/vnd.microsoft.card.video\",\n content: {\n title?: string,\n subtitle?: string,\n text?: string,\n media?: { url: string, profile?: string }[],\n buttons?: CardAction[],\n image?: { url: string, alt?: string },\n autoloop?: boolean,\n autostart?: boolean\n }\n}\n\nexport interface AdaptiveCard {\n contentType: \"application/vnd.microsoft.card.adaptive\",\n content: any;\n}\n\nexport interface AnimationCard {\n contentType: \"application/vnd.microsoft.card.animation\",\n content: {\n title?: string,\n subtitle?: string,\n text?: string,\n media?: { url: string, profile?: string }[],\n buttons?: CardAction[],\n image?: { url: string, alt?: string },\n autoloop?: boolean,\n autostart?: boolean\n }\n}\n\nexport type KnownMedia = Media | HeroCard | Thumbnail | Signin | OAuth | Receipt | AudioCard | VideoCard | AnimationCard | FlexCard | AdaptiveCard;\nexport type Attachment = KnownMedia | UnknownMedia;\n\nexport type UserRole = \"bot\" | \"channel\" | \"user\";\n\nexport interface User {\n id: string,\n name?: string,\n iconUrl?: string,\n role?: UserRole\n}\n\nexport interface IActivity {\n type: string,\n channelData?: any,\n channelId?: string,\n conversation?: { id: string },\n eTag?: string,\n from: User,\n id?: string,\n timestamp?: string,\n status?: MessageStatus,\n lastConfirmedStatus?: MessageStatus\n}\n\nexport type AttachmentLayout = \"list\" | \"carousel\";\nexport enum MessageStatus {\n Created = 0,\n Sent = 1,\n Delivered = 2,\n Read = 3\n}\nexport interface Message extends IActivity {\n type: \"message\",\n text?: string,\n locale?: string,\n textFormat?: \"plain\" | \"markdown\" | \"xml\",\n attachmentLayout?: AttachmentLayout,\n attachments?: Attachment[],\n entities?: any[],\n suggestedActions?: { actions: CardAction[], to?: string[] },\n speak?: string,\n inputHint?: string,\n value?: object\n}\n\nexport interface Typing extends IActivity {\n type: \"typing\"\n}\n\nexport interface EventActivity extends IActivity {\n type: \"event\",\n name: string,\n value: any\n}\n\nexport type Activity = Message | Typing | EventActivity;\n\ninterface ActivityGroup {\n activities: Activity[],\n watermark: string\n}\n\ninterface AppInsightsQueueItem extends IActivity {\n type: string;\n channelData?: any;\n channelId?: string;\n conversation?: { id: string; };\n eTag?: string;\n from: User;\n id?: string;\n timestamp?: string;\n status?: MessageStatus;\n localTimestamp?: string;\n deliveredTimestamp?: string;\n}\n\n// These types are specific to this client library, not to Direct Line 3.0\n\nexport enum ConnectionStatus {\n Uninitialized, // the status when the DirectLine object is first created/constructed\n Connecting, // currently trying to connect to the conversation\n Online, // successfully connected to the converstaion. Connection is healthy so far as we know.\n ExpiredToken, // last operation errored out with an expired token. Possibly waiting for someone to supply a new one.\n FailedToConnect, // the initial attempt to connect to the conversation failed. No recovery possible.\n Ended // the bot ended the conversation\n}\n\nexport enum ServiceStatus { // CUSTOM Druid\n Online = 0,\n Warning = 1,\n Offline = 2\n}\n\nexport interface DirectLineOptions {\n secret?: string,\n token?: string,\n conversationId?: string,\n watermark?: string,\n domain?: string,\n webSocket?: boolean,\n pollingInterval?: number,\n streamUrl?: string,\n // Attached to all requests to identify requesting agent.\n botAgent?: string,\n initiatorUserId?: string, // druid extensions\n initiatorBotId?: string, // druid extensions\n isBotApiEnabled?: boolean, // druid extensions\n druidBotApiUrl?: string, // druid extensions\n instrumentationKey?: string // druid extensions\n serverTimestamp?: string; // druid extension\n backendStartTimestamp?: string;\n backendEndTimestamp?: string;\n withCredentials?: boolean // ajax calls with withCredentials\n conversationStatusInputSubject?: BehaviorSubject<ReplaySubject<{ messageType: number, data: string }>>;\n druidApiUrl?: string;\n isOutOfBandUpload?: boolean;\n apcExternalUrl?: string;\n apcUrl?: string;\n}\n\nconst lifetimeRefreshToken = 30 * 60 * 1000;\nconst intervalRefreshToken = lifetimeRefreshToken / 2;\nconst timeout = 20 * 1000;\nconst retries = (lifetimeRefreshToken - intervalRefreshToken) / timeout;\n\nconst POLLING_INTERVAL_LOWER_BOUND: number = 200; //ms\n\nconst errorExpiredToken = new Error(\"expired token\");\nconst errorConversationEnded = new Error(\"conversation ended\");\nconst errorFailedToConnect = new Error(\"failed to connect\");\n\nconst konsole = {\n log: (message?: any, ...optionalParams: any[]) => {\n if (typeof window !== 'undefined' && (window as any)[\"botchatDebug\"] && message)\n console.log(message, ...optionalParams);\n }\n}\n\nexport interface IBotConnection {\n connectionStatus$: BehaviorSubject<ConnectionStatus>,\n activity$: Observable<Activity>,\n end(): void,\n referenceGrammarId?: string,\n postActivity(activity: Activity): Observable<string>,\n postSenderAction(senderAction: SenderActionAction),\n getSessionId?: () => Observable<string>,\n conversationStatusWebSocketSubject: BehaviorSubject<ReplaySubject<{ messageType: number, data: string }>>;\n webServiceStatus$: Observable<ServiceStatus>;\n addAWSConnection: (wsUrl: string, connectionToken: string) => any;\n conversationStatusInputSubject?: BehaviorSubject<ReplaySubject<{ messageType: number, data: string }>>;\n sendAjaxRequest: (options: AjaxRequest) => Observable<AjaxResponse>;\n getCurrentToken: () => string;\n}\n\nexport class DirectLine implements IBotConnection {\n public connectionStatus$ = new BehaviorSubject(ConnectionStatus.Uninitialized);\n public activity$: Observable<Activity>;\n\n //DRUID Customs\n private badRequests$: BehaviorSubject<{ count: number, payLoad?: { delay: number, operationId: number } }> = new BehaviorSubject({ count: 0 });\n public webServiceStatus$: Observable<ServiceStatus>;\n\n public conversationStatusWebSocketSubject = new BehaviorSubject<ReplaySubject<{ messageType: number, data: string }>>(null);\n private conversationStatusWebSocketSubjectSubscription: Subscription;\n public conversationStatusWebSocket: ReconnectingWebSocket;\n public conversationStatusInputSubject: BehaviorSubject<ReplaySubject<{ messageType: number, data: string }>> = null; // conversationStatus replaySubject -> input by other directlineConnection\n\n private domain = \"https://directline.botframework.com/v3/directline\";\n private webSocket: boolean;\n private webSocketInstance: WebSocket;\n\n private conversationId: string;\n private expiredTokenExhaustion: Function;\n private secret: string;\n private token: string;\n private watermark = '';\n private streamUrl: string;\n private _botAgent = '';\n private _userAgent: string;\n public referenceGrammarId: string;\n public isBotApiEnabled: boolean; // must be public\n public druidBotApiUrl: string;\n public druidApiUrl: string;\n public isOutOfBandUpload: boolean;\n public withCredentials?: boolean = false;\n public apcExternalUrl?: string; // used for workarround\n public apcUrl?: string; // used for workarround\n\n private pollingInterval: number = 1000; //ms\n\n private tokenRefreshSubscription: Subscription;\n\n public initiatorUserId: string; // botConnection.user.id forwarding\n public initiatorBotId: string; // botConnection.bot.id forwarding\n private activitiesStatuses: object; // all the statuses received from polling\n private notReadActivities: Activity[] = []; // activities objects with status not Read\n public typingIsActive: boolean = false; // show typing flag; if is true ignore incoming typing activities\n public conversationStatus_SenderAction: SenderAction;\n public conversationStatus_ActionUser: { name?: string };\n\n public sendMessagesRead: boolean = true; // send read messages to api\n private markMessageStatusesFromBotEmitter = new BehaviorSubject<string>(\"\");\n private markMessageStatusesFromBotEmitter_skippedCount = 0;\n private markMessageStatusesFromRoot2HumanEmitter = new BehaviorSubject<string>(\"\");\n private markMessageStatusesFromRoot2HumanEmitter_skippedCount = 0;\n\n private markSenderActionsEmitter = new BehaviorSubject<SenderActionAction>(null);\n private applicationInsightsEnabled: boolean = false;\n private appInsightsQueue: AppInsightsQueueItem[] = [];\n public serverTimestamp: Moment;\n private backendStartTimestamp?: string;\n private backendEndTimestamp?: string;\n private appInsights: ApplicationInsights;\n private appInsights_DirectLineConstructorTimestamp: Moment;\n\n private AWSConnectionWebSocket: ReconnectingWebSocket = null;\n\n // Workarround for AWS connect -> remove when not used!!!\n private AWSConnectionConnectionToken: string = null;\n\n constructor(options: DirectLineOptions) {\n //metrica 2 -> ChatStartup TTA\n this.appInsights_DirectLineConstructorTimestamp = moment().utc();\n this.secret = options.secret;\n this.token = options.secret || options.token;\n this.webSocket = (options.webSocket === undefined ? true : options.webSocket) && typeof WebSocket !== 'undefined' && WebSocket !== undefined;\n\n this.initiatorUserId = options.initiatorUserId;\n this.initiatorBotId = options.initiatorBotId;\n this.serverTimestamp = options.serverTimestamp ? moment(options.serverTimestamp) : moment(new Date(8640000000000000)); // maxDate;\n\n if (options.domain) {\n this.domain = options.domain;\n }\n\n if (options.conversationId) {\n this.conversationId = options.conversationId;\n }\n\n if (options.watermark) {\n this.watermark = options.watermark;\n }\n\n if (options.streamUrl) {\n if (options.token && options.conversationId) {\n this.streamUrl = options.streamUrl;\n } else {\n console.warn('DirectLineJS: streamUrl was ignored: you need to provide a token and a conversationid');\n }\n }\n\n this.isBotApiEnabled = options.isBotApiEnabled || false;\n this.druidBotApiUrl = options.druidBotApiUrl || `https://dev-druid-botapi.azurewebsites.net`;\n this.druidApiUrl = options.druidApiUrl || `https://druidapi.develop.druidplatform.com`;\n this.isOutOfBandUpload = options.isOutOfBandUpload;\n this.withCredentials = options.withCredentials || false;\n this.conversationStatusInputSubject = options.conversationStatusInputSubject || null;\n this.apcUrl = options.apcUrl; // used for workarround\n this.apcExternalUrl = options.apcExternalUrl; // used for workarround\n this.webSocketInstance = null;\n\n this._botAgent = this.getBotAgent(options.botAgent);\n\n const parsedPollingInterval = ~~options.pollingInterval;\n\n if (parsedPollingInterval < POLLING_INTERVAL_LOWER_BOUND) {\n if (typeof options.pollingInterval !== 'undefined') {\n console.warn(`DirectLineJS: provided pollingInterval (${options.pollingInterval}) is under lower bound (200ms), using default of 1000ms`);\n }\n } else {\n this.pollingInterval = parsedPollingInterval;\n }\n\n this.expiredTokenExhaustion = this.setConnectionStatusFallback(\n ConnectionStatus.ExpiredToken,\n ConnectionStatus.FailedToConnect,\n 5\n );\n\n this.activity$ = (this.webSocket\n ? this.webSocketActivity$()\n : this.pollingGetActivity$()\n ).share();\n\n if (this.isBotApiEnabled) {\n\n\n this.markMessageStatusesFromBotEmitter.asObservable()\n .throttleTime(1000)\n .distinctUntilChanged()\n .catch(error$ => { return Observable.of<string>(); })\n .subscribe((obs) => this.sendMarkMessagesStatuses(obs))\n this.markMessageStatusesFromRoot2HumanEmitter.asObservable()\n .throttleTime(1000)\n .distinctUntilChanged()\n .catch(error$ => { return Observable.of<string>(); })\n .subscribe((obs) => this.sendMarkMessagesStatuses(obs))\n\n this.markSenderActionsEmitter.asObservable()\n .distinctUntilChanged()\n .debounceTime(100) // for sendMessage programmatically\n // .throttleTime(1000)\n .retryWhen(error$ =>\n // for now we deem 4xx and 5xx errors as unrecoverable\n // for everything else (timeouts), retry for a while\n error$.mergeMap(error => Observable.of(error))\n .delay(timeout)\n .take(retries)\n )\n .subscribe((obs) => this.sendMarkSenderActions(obs))\n }\n\n\n if (options.instrumentationKey) {\n // appInsights.downloadAndSetup({ instrumentationKey: options.instrumentationKey, maxAjaxCallsPerView: -1 });\n this.applicationInsightsEnabled = true;\n\n this.appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: options.instrumentationKey,\n maxAjaxCallsPerView: -1\n }\n });\n this.appInsights.loadAppInsights();\n this.appInsights.trackPageView();\n\n this.backendStartTimestamp = options.backendStartTimestamp;\n this.backendEndTimestamp = options.backendEndTimestamp;\n\n }\n\n let timerSubscription: Subscription;\n\n this.webServiceStatus$ = this.badRequests$.asObservable()\n .distinctUntilChanged((prev, next) => {\n if (prev && prev.count > 0 && next.count == 0 && timerSubscription && !timerSubscription.closed) {\n return true;\n }\n return false;\n })\n .map(update => {\n // if(update.count == 0 && !timerSubscription.closed) {\n // return ServiceStatus.Warning;\n // }\n if (update.payLoad && update.payLoad.delay && update.count < 5) {\n if (timerSubscription && !timerSubscription.closed) {\n timerSubscription.unsubscribe();\n }\n timerSubscription = Observable.timer(update.payLoad.delay).subscribe(() => {\n timerSubscription.unsubscribe();\n if (this.badRequests$.getValue() === update) { // equals previous status\n this.badRequests$.next({ count: 0 });\n }\n });\n }\n\n if (update.count > 4) {\n if (timerSubscription && !timerSubscription.closed) {\n timerSubscription.unsubscribe();\n }\n // is offline\n }\n return update.count == 0 ? ServiceStatus.Online : update.count < 5 ? ServiceStatus.Warning : ServiceStatus.Offline;\n })\n .distinctUntilChanged();\n }\n\n // Every time we're about to make a Direct Line REST call, we call this first to see check the current connection status.\n // Either throws an error (indicating an error state) or emits a null, indicating a (presumably) healthy connection\n private checkConnection(once = false) {\n let obs = this.connectionStatus$\n .flatMap(connectionStatus => {\n if (connectionStatus === ConnectionStatus.Uninitialized) {\n this.connectionStatus$.next(ConnectionStatus.Connecting);\n\n //if token and streamUrl are defined it means reconnect has already been done. Skipping it.\n if (this.token && this.streamUrl) {\n this.connectionStatus$.next(ConnectionStatus.Online);\n return Observable.of(connectionStatus);\n } else {\n return this.startConversation().do(conversation => {\n this.conversationId = conversation.conversationId;\n this.token = this.secret || conversation.token;\n this.streamUrl = conversation.streamUrl;\n this.referenceGrammarId = conversation.referenceGrammarId;\n if (!this.secret)\n this.refreshTokenLoop();\n\n this.connectionStatus$.next(ConnectionStatus.Online);\n }, error => {\n this.connectionStatus$.next(ConnectionStatus.FailedToConnect);\n })\n .map(_ => connectionStatus);\n }\n }\n else {\n return Observable.of(connectionStatus);\n }\n })\n .filter(connectionStatus => connectionStatus != ConnectionStatus.Uninitialized && connectionStatus != ConnectionStatus.Connecting)\n .flatMap(connectionStatus => {\n switch (connectionStatus) {\n case ConnectionStatus.Ended:\n return Observable.throw(errorConversationEnded);\n\n case ConnectionStatus.FailedToConnect:\n return Observable.throw(errorFailedToConnect);\n\n case ConnectionStatus.ExpiredToken:\n return Observable.of(connectionStatus);\n\n default:\n return Observable.of(connectionStatus);\n }\n })\n\n return once ? obs.take(1) : obs;\n }\n\n setConnectionStatusFallback(\n connectionStatusFrom: ConnectionStatus,\n connectionStatusTo: ConnectionStatus,\n maxAttempts = 5\n ) {\n maxAttempts--;\n let attempts = 0;\n let currStatus = null;\n return (status: ConnectionStatus): ConnectionStatus => {\n if (status === connectionStatusFrom && currStatus === status && attempts >= maxAttempts) {\n attempts = 0\n return connectionStatusTo;\n }\n attempts++;\n currStatus = status;\n return status;\n };\n }\n\n private expiredToken() {\n const connectionStatus = this.connectionStatus$.getValue();\n if (connectionStatus != ConnectionStatus.Ended && connectionStatus != ConnectionStatus.FailedToConnect)\n this.connectionStatus$.next(ConnectionStatus.ExpiredToken);\n\n const protectedConnectionStatus = this.expiredTokenExhaustion(this.connectionStatus$.getValue());\n this.connectionStatus$.next(protectedConnectionStatus);\n }\n\n private startConversation() {\n try {\n if (this.backendEndTimestamp && this.backendStartTimestamp) {\n this.reportBackendMetric(moment(this.backendStartTimestamp), moment(this.backendEndTimestamp));\n }\n } catch (ex) {\n\n }\n //if conversationid is set here, it means we need to call the reconnect api, else it is a new conversation\n const url = this.conversationId\n ? `${this.domain}/conversations/${this.conversationId}?watermark=${this.watermark || (this.webSocket ? '0' : this.watermark)}`\n : `${this.domain}/conversations`;\n const method = this.conversationId ? \"GET\" : \"POST\";\n\n let baseUrl = this.druidBotApiUrl + //https://dev-druid-botapi.azurewebsites.net\n `/GetStatus?ConversationId=${this.conversationId}&Watermark=${this.watermark || 0}`;\n\n return (this.isBotApiEnabled ?\n Observable.ajax({\n method: 'GET',\n url: baseUrl,\n responseType: \"json\",\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\",\n ...this.commonHeaders()\n }\n\n }).map(ajaxResponse => ajaxResponse.response as ConversationStatus) :\n Observable.create((observer: any) => {\n observer.next(new ConversationStatus());\n observer.complete();\n }))\n .catch(err => {\n return Observable.create((observer: any) => {\n observer.next(new ConversationStatus());\n observer.complete();\n })\n })\n .flatMap(data => {\n\n if (this.isBotApiEnabled) {\n try {\n let newStatuses = {};\n if (!!data.messageStatuses) {\n data.messageStatuses.map(ms => newStatuses[ms.activityId] = ms.status);\n }\n this.activitiesStatuses = { ...this.activitiesStatuses, ...(newStatuses) };\n } catch (ex) {\n\n }\n }\n\n return Observable.ajax({\n method,\n url,\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n \"Accept\": \"application/json\",\n ...this.commonHeaders()\n }\n })\n\n .map(ajaxResponse => ajaxResponse.response as Conversation)\n .retryWhen(error$ =>\n // for now we deem 4xx and 5xx errors as unrecoverable\n // for everything else (timeouts), retry for a while\n error$.mergeMap(error => error.status >= 400 && error.status < 600\n ? Observable.throw(error)\n : Observable.of(error)\n )\n .delay(timeout)\n .take(retries)\n )\n });\n\n\n }\n\n private refreshTokenLoop() {\n this.tokenRefreshSubscription = Observable.interval(intervalRefreshToken)\n .flatMap(_ => this.refreshToken())\n .subscribe(token => {\n konsole.log(\"refreshing token\", token, \"at\", new Date());\n this.token = token;\n });\n }\n\n private refreshToken() {\n return this.checkConnection(true)\n .flatMap(_ =>\n Observable.ajax({\n method: \"POST\",\n url: `${this.domain}/tokens/refresh`,\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n ...this.commonHeaders()\n }\n })\n .map(ajaxResponse => ajaxResponse.response.token as string)\n .retryWhen(error$ => error$\n .mergeMap(error => {\n if (error.status === 403) {\n // if the token is expired there's no reason to keep trying\n this.expiredToken();\n return Observable.throw(error);\n } else if (error.status === 404) {\n // If the bot is gone, we should stop retrying\n return Observable.throw(error);\n }\n\n return Observable.of(error);\n })\n .delay(timeout)\n .take(retries)\n )\n )\n }\n\n public reconnect(conversation: Conversation) {\n this.token = conversation.token;\n this.streamUrl = conversation.streamUrl;\n if (this.connectionStatus$.getValue() === ConnectionStatus.ExpiredToken)\n this.connectionStatus$.next(ConnectionStatus.Online);\n }\n\n public getCurrentToken() {\n return this.token;\n }\n\n end() {\n if (this.tokenRefreshSubscription) {\n this.tokenRefreshSubscription.unsubscribe();\n }\n\n if (this.conversationStatusWebSocket) {\n this.conversationStatusWebSocket.close();\n }\n if(this.conversationStatusWebSocketSubjectSubscription) {\n this.conversationStatusWebSocketSubjectSubscription.unsubscribe();\n }\n try {\n\n this.connectionStatus$.next(ConnectionStatus.Ended);\n } catch (e) {\n if (e === errorConversationEnded)\n return;\n throw (e);\n }\n }\n\n getSessionId(): Observable<string> {\n // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n konsole.log(\"getSessionId\");\n return this.checkConnection(true)\n .flatMap(_ =>\n Observable.ajax({\n method: \"GET\",\n url: `${this.domain}/session/getsessionid`,\n withCredentials: this.withCredentials,\n timeout,\n headers: {\n \"Content-Type\": \"application/json\",\n ...this.commonHeaders()\n }\n })\n .map(ajaxResponse => {\n if (ajaxResponse && ajaxResponse.response && ajaxResponse.response.sessionId) {\n konsole.log(\"getSessionId response: \" + ajaxResponse.response.sessionId);\n return ajaxResponse.response.sessionId as string;\n }\n return '';\n })\n .catch(error => {\n konsole.log(\"getSessionId error: \" + error.status);\n return Observable.of('');\n })\n )\n .catch(error => this.catchExpiredToken(error));\n }\n\n postActivity(activity: Activity) {\n // Use postMessageWithAttachments for messages with attachments that are local files (e.g. an image to upload)\n // Technically we could use it for *all* activities, but postActivity is much lighter weight\n // So, since WebChat is partially a reference implementation of Direct Line, we implement both.\n if (activity.type === \"message\" && activity.attachments && activity.attachments.length > 0)\n return this.postMessageWithAttachments(activity);\n\n if (this.applicationInsightsEnabled) {\n let newAppInsightsQueueItem: AppInsightsQueueItem = activity as AppInsightsQueueItem;\n newAppInsightsQueueItem.localTimestamp = newAppInsightsQueueItem.timestamp;\n\n this.appInsightsQueue.push(newAppInsightsQueueItem);\n }\n // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n konsole.log(\"postActivity\", activity);\n return this.checkConnection(true)\n .flatMap(_ =>\n Observable.ajax({\n method: \"POST\",\n url: `${this.domain}/conversations/${this.conversationId}/activities`,\n body: activity,\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n ...this.commonHeaders()\n },\n })\n .map(ajaxResponse => {\n // this.AWSConnectionWebSocket && this.AWSConnectionWebSocket.send();\n\n // Workarround for AWS connect -> remove when not used!!!\n this.AWSConnectionConnectionToken && activity.type == \"message\" && this.isFromMe(activity) &&\n Observable.ajax({\n method: \"POST\",\n url: `https://participant.connect.us-west-2.amazonaws.com/participant/message`,\n body: {\n ClientToken: (() => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n })(),\n Content: activity.text,\n ContentType: \"text/plain\"\n },\n timeout,\n withCredentials: this.withCredentials,\n createXHR: function () {\n var xhr = new XMLHttpRequest();\n var setRequestHeader = xhr.setRequestHeader;\n xhr.setRequestHeader = function(name, value) {\n // Ignore the X-Requested-With header\n if (name == 'X-Requested-With') return;\n // Otherwise call the native setRequestHeader method\n // Note: setRequestHeader requires its 'this' to be the xhr object,\n // which is what 'this' is here when executed.\n setRequestHeader.call(this, name, value);\n }\n return xhr;\n },\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-amz-bearer\": this.AWSConnectionConnectionToken\n // ...this.commonHeaders()\n },\n })\n .catch(error => error)\n .map(resp => resp).subscribe();\n return ajaxResponse.response.id as string;\n })\n .catch(error => this.catchPostError(error, activity))\n )\n .catch(error => this.catchExpiredToken(error));\n }\n\n postSenderAction(senderAction: SenderActionAction) {\n if (!!this.markSenderActionsEmitter)\n this.markSenderActionsEmitter.next(senderAction);\n }\n\n dedupeFilenames(array: string[]) {\n const nextArray: string[] = [];\n\n array.forEach(value => {\n const { extname, name } = this.parseFilename(value);\n let count = 0;\n let nextValue = value;\n\n while (nextArray.includes(nextValue)) {\n nextValue = [name, `(${ (++count) })`].filter(segment => segment).join(' ') + extname;\n }\n\n nextArray.push(nextValue);\n });\n\n return nextArray;\n }\n\n parseFilename(filename) {\n if (!filename) {\n return {\n extname: '',\n name: ''\n };\n } else if (~filename.indexOf('.')) {\n const [extensionWithoutDot, ...nameSegments] = filename.split('.').reverse();\n\n return {\n extname: '.' + extensionWithoutDot,\n name: nameSegments.reverse().join('.')\n };\n } else {\n return {\n extname: '',\n name: filename\n };\n }\n }\n\n private postMessageWithAttachments(message: Message) {\n const { attachments } = message;\n // We clean the attachments but making sure every attachment has unique name.\n // If the file do not have a name, Chrome will assign \"blob\" when it is appended to FormData.\n const attachmentNames: string[] = this.dedupeFilenames(attachments.map((media: Media) => media.name || 'blob'));\n const cleansedAttachments = attachments.map((attachment: Media, index: number) => ({\n ...attachment,\n name: attachmentNames[index]\n }));\n let formData: FormData;\n\n // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n return this.checkConnection(true)\n .flatMap(_ => {\n // To send this message to DirectLine we need to deconstruct it into a \"template\" activity\n // and one blob for each attachment.\n formData = new FormData();\n formData.append('activity', new Blob([JSON.stringify({\n ...message,\n // Removing contentUrl from attachment, we will send it via multipart\n attachments: cleansedAttachments.map(({ contentUrl: string, ...others }) => ({ ...others }))\n })], { type: 'application/vnd.microsoft.activity' }));\n\n return Observable.from(cleansedAttachments)\n .flatMap((media: Media) =>\n Observable.ajax({\n method: \"GET\",\n url: media.contentUrl,\n responseType: 'arraybuffer',\n withCredentials: this.withCredentials\n })\n .do(ajaxResponse =>\n formData.append('file', new Blob([ajaxResponse.response], { type: media.contentType }), media.name)\n )\n )\n .count()\n })\n .flatMap(_ =>\n Observable.ajax({\n method: \"POST\",\n url: `${(this.isOutOfBandUpload === true && this.druidApiUrl && `${this.druidApiUrl}/v3/directline`) || this.domain}/conversations/${this.conversationId}/upload?userId=${message.from.id}`,\n body: formData,\n timeout,\n headers: {\n ...this.commonHeaders()\n }\n })\n .map(ajaxResponse => ajaxResponse.response.id as string)\n .catch(error => this.catchPostError(error))\n )\n .catch(error => this.catchPostError(error));\n }\n\n private catchPostError(error: any, activity?: Activity) {\n\n this.badRequests$.next({ count: 1, payLoad: { delay: 22000, operationId: Date.now() } });\n\n\n if (activity && this.applicationInsightsEnabled) {\n let foundQueueItemIdx = this.appInsightsQueue.findIndex(fi => fi.channelData && activity.channelData && fi.channelData.clientActivityId === activity.channelData.clientActivityId);\n let momentUtcNow: Moment = moment().utc();\n if (foundQueueItemIdx >= 0) {\n let foundQueueItem = this.appInsightsQueue[foundQueueItemIdx];\n this.reportFailedServerPost(this.appInsightsQueue[foundQueueItemIdx], momentUtcNow.diff(moment(foundQueueItem.localTimestamp)), momentUtcNow, !this.isFromBotOrIsFromRoot2Human(activity));\n }\n }\n\n\n if (error.status === 403)\n // token has expired (will fall through to return \"retry\")\n this.expiredToken();\n else if (error.status >= 400 && error.status < 500)\n // more unrecoverable errors\n return Observable.throw(error);\n return Observable.of(\"retry\");\n }\n\n private catchExpiredToken(error: any) {\n return error === errorExpiredToken\n ? Observable.of(\"retry\")\n : Observable.throw(error);\n }\n\n public isFromMe(activity: Activity) {\n return !!activity.from && (activity.from.role === 'user' || activity.from.id === this.initiatorUserId);\n }\n\n private sendMarkMessagesStatuses(outputJson: string) {\n if (!document.hidden) {\n let baseUrl = this.druidBotApiUrl + \"/MarkMessageStatuses\";\n if (!!outputJson) {\n return Observable.ajax({\n method: 'POST',\n url: baseUrl,\n responseType: \"json\",\n body: outputJson,\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\",\n ...this.commonHeaders()\n }\n\n })\n .catch(error$ => Observable.empty<AjaxResponse>())\n .subscribe(resp => resp.response);\n }\n }\n }\n\n private sendMarkSenderActions(senderAction: SenderActionAction) {\n\n if (senderAction === null || senderAction === undefined)\n return;\n\n var output = new MarkSenderActionInput();\n output.conversationId = this.conversationId;\n output.isFromBot = false;\n\n output.senderAction = new SenderAction();\n output.senderAction.action = senderAction;\n output.senderAction.dateTimeUtc = moment().utc();\n\n let baseUrl = this.druidBotApiUrl + \"/MarkSenderActions\";\n if (!!output) {\n return Observable.ajax({\n method: 'POST',\n url: baseUrl,\n responseType: \"json\",\n body: output,\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\",\n ...this.commonHeaders()\n }\n\n })\n .retryWhen(error$ =>\n // if is typing on, ignore\n // if token expired, ignore\n // for everything else (timeouts), retry for a while\n error$.mergeMap(error => senderAction !== SenderActionAction._0 || error.status >= 400 && error.status < 500\n ? Observable.throw(error)\n : Observable.of(error)\n ).delay(timeout)\n .take(retries)\n ).subscribe(resp => resp.response);\n }\n\n }\n\n private isFromBotOrIsFromRoot2Human(activity: Activity) {\n return !(activity.channelData && activity.channelData.routedMessageId);\n }\n private markMessagesStatuses() {\n if (this.isBotApiEnabled) {\n try {\n if (!!this.notReadActivities) {\n var outputFromBot = new MarkMessageStatusInput();\n outputFromBot.conversationId = this.conversationId;\n outputFromBot.isFromBot = true;\n var outputFromRoot2Human = new MarkMessageStatusInput();\n outputFromRoot2Human.conversationId = this.conversationId;\n outputFromRoot2Human.isFromBot = false;\n if (this.notReadActivities.filter(f => !this.isFromMe(f)).length > 0) {\n outputFromBot.messageStatuses = this.notReadActivities.filter(f => !this.isFromMe(f) && (this.sendMessagesRead || f.lastConfirmedStatus !== f.status) && this.isFromBotOrIsFromRoot2Human(f)).map(nra => {\n let ms = new MessageStatusInputDto();\n ms.activityId = nra.id; // !!nra.channelData ? (nra.channelData.sourceMessageId || nra.id) : nra.id;\n ms.routedActivityId = nra.channelData && nra.channelData.routedMessageId || null; //routedActivityId\n ms.sourceMessageId = nra.channelData && nra.channelData.sourceMessageId || null; //routedActivityId\n ms.correlationId = nra.channelData && nra.channelData.correlationId || null;\n if(nra.lastConfirmedStatus === undefined || nra.lastConfirmedStatus === MessageStatus.Sent || nra.lastConfirmedStatus === MessageStatus.Created) {\n ms.isPreviousStatusSkipped = !!this.sendMessagesRead;\n }\n\n // ms.dateTimeUtc = moment().utc();\n ms.status = !!this.sendMessagesRead ? 3 : 2; //MessageStatus.Read : MessageStatus.Delivered;\n return ms;\n });\n\n outputFromRoot2Human.messageStatuses = this.notReadActivities.filter(f => !this.isFromMe(f) && (this.sendMessagesRead || f.lastConfirmedStatus !== f.status) && !this.isFromBotOrIsFromRoot2Human(f)).map(nra => {\n let ms = new MessageStatusInputDto();\n ms.activityId = nra.id; // !!nra.channelData ? (nra.channelData.sourceMessageId || nra.id) : nra.id;\n ms.routedActivityId = nra.channelData && nra.channelData.routedMessageId || null; //routedActivityId\n ms.sourceMessageId = nra.channelData && nra.channelData.sourceMessageId || null; //routedActivityId\n ms.correlationId = nra.channelData && nra.channelData.correlationId || null;\n if(nra.lastConfirmedStatus === undefined || nra.lastConfirmedStatus === MessageStatus.Sent || nra.lastConfirmedStatus === MessageStatus.Created) {\n ms.isPreviousStatusSkipped = !!this.sendMessagesRead;\n }\n\n // ms.dateTimeUtc = moment().utc();\n ms.status = !!this.sendMessagesRead ? 3 : 2; //MessageStatus.Read : MessageStatus.Delivered;\n return ms;\n });\n\n\n if (!!outputFromBot && !!outputFromBot.messageStatuses && outputFromBot.messageStatuses.length > 0 && !!outputFromBot.conversationId) {\n const currentValue = JSON.stringify(this.markMessageStatusesFromBotEmitter.getValue());\n const toSetValue = JSON.stringify(outputFromBot.toJSON());\n if(currentValue !== toSetValue || this.markMessageStatusesFromBotEmitter_skippedCount > 10) {\n this.markMessageStatusesFromBotEmitter_skippedCount = 0;\n this.markMessageStatusesFromBotEmitter.next(outputFromBot.toJSON());\n } else {\n this.markMessageStatusesFromBotEmitter_skippedCount++;\n }\n // this.useSkippableEmits.bind(this)(this.markMessageStatusesFromBotEmitter, outputFromBot, this.markMessageStatusesFromBotEmitter_skippedCount);\n }\n\n if (!!outputFromRoot2Human && !!outputFromRoot2Human.messageStatuses && outputFromRoot2Human.messageStatuses.length > 0 && !!outputFromRoot2Human.conversationId) {\n // this.markMessageStatusesFromRoot2HumanEmitter.next(outputFromRoot2Human.toJSON());\n\n const currentValue = JSON.stringify(this.markMessageStatusesFromRoot2HumanEmitter.getValue());\n const toSetValue = JSON.stringify(outputFromRoot2Human.toJSON());\n if(currentValue !== toSetValue || this.markMessageStatusesFromRoot2HumanEmitter_skippedCount > 10) {\n this.markMessageStatusesFromRoot2HumanEmitter_skippedCount = 0;\n this.markMessageStatusesFromRoot2HumanEmitter.next(outputFromRoot2Human.toJSON());\n } else {\n this.markMessageStatusesFromRoot2HumanEmitter_skippedCount++;\n }\n // this.useSkippableEmits(this.markMessageStatusesFromRoot2HumanEmitter, outputFromRoot2Human, this.markMessageStatusesFromRoot2HumanEmitter_skippedCount);\n }\n }\n }\n } catch (ex) {\n return Observable.empty();\n }\n }\n\n return Observable.empty();\n }\n\n // private useSkippableEmits(emitter: BehaviorSubject<any>, nextValue: MarkMessageStatusInput, skippedCount: number) {\n // const currentValue = JSON.stringify(emitter.getValue());\n // const toSetValue = JSON.stringify(nextValue.toJSON());\n // if(currentValue !== toSetValue || skippedCount > 10) {\n // skippedCount = 0;\n // emitter.next(nextValue.toJSON());\n // return true;\n // } else {\n // skippedCount = skippedCount + 1;\n // return false;\n // }\n // }\n\n private pollingGetMessagesStatus() {\n\n if (this.isBotApiEnabled) {\n try {\n // TODO: move to directlineOptions\n let output = [];\n if (!!this.notReadActivities) {\n output = this.notReadActivities\n .filter(act => (act.type === \"message\") && (act.status !== MessageStatus.Read)) // (act.type === \"message\") &&\n .map(act => act.id); // !!act.channelData ? (act.channelData.sourceMessageId || act.id) : act.id\n }\n let baseUrl = this.druidBotApiUrl +\n `/GetStatus?ConversationId=${this.conversationId}`;\n if (output.length) {\n if (output.length < 9) {\n baseUrl += \"&\" + output.map(actId => `forActivities=${encodeURIComponent(actId)}`).join(\"&\");\n } else {\n let minWatermark = Math.min(...output.map(actId => {\n try {\n return parseInt(actId.split(\"|\")[1]);\n }\n catch (ex) {\n return Number.MAX_SAFE_INTEGER;\n }\n }).filter(f => f)); // not null -> encrypted ids\n baseUrl += `&Watermark=${minWatermark || this.watermark}`;\n }\n }\n return true || output.length ? // overwritten: check for status even no unread messages\n Observable.ajax({\n method: 'GET',\n url: baseUrl,\n responseType: \"json\",\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\",\n ...this.commonHeaders()\n }\n\n }).map(ajaxResponse => ajaxResponse.response as ConversationStatus)\n .catch(err => {\n return Observable.create((observer: any) => {\n observer.next(new ConversationStatus());\n observer.complete();\n })\n })\n : Observable.create((observer: any) => {\n observer.next(new ConversationStatus());\n observer.complete();\n });\n\n } catch (ex) {\n return Observable.empty<ConversationStatus>();\n }\n } else {\n return Observable.empty<ConversationStatus>();\n }\n }\n\n private updateConversationStatus(response: any) {\n try {\n let newStatuses = {};\n const conversationStatus = response;\n if (!!conversationStatus) {\n\n if (!!conversationStatus.messageStatuses) {\n conversationStatus.messageStatuses.map(ms => newStatuses[ms.activityId] = ms.status);\n }\n\n if (conversationStatus.botAction) {\n if (!conversationStatus.routedConversationId || conversationStatus.routedConversationId == this.conversationId) {\n this.conversationStatus_SenderAction = conversationStatus.botAction;\n this.conversationStatus_ActionUser = conversationStatus.actionUser;\n }\n\n }\n }\n this.activitiesStatuses = { ...this.activitiesStatuses, ...(newStatuses) };\n\n\n } catch (ex) {\n\n }\n }\n\n private pollingGetActivity$() {\n const poller$: Observable<AjaxResponse> = Observable.create((subscriber: Subscriber<any>) => {\n // A BehaviorSubject to trigger polling. Since it is a BehaviorSubject\n // the first event is produced immediately.\n const trigger$ = new BehaviorSubject<any>({});\n\n // const source = timer(2000);\n // const emitter: BehaviorSubject<any> = new BehaviorSubject(-1);\n // emitter.subscribe().\n\n // const subscribe = source.subscribe( value => emitter.next(value));\n\n // const markSessagesStatus$ = new BehaviorSubject<any>({});\n // markSessagesStatus$.pipe(tap(() => {})), switchMap(() => timeInterval(10))\n\n trigger$.subscribe(() => {\n if (this.connectionStatus$.getValue() === ConnectionStatus.Online) {\n const startTimestamp = Date.now();\n\n if (this.isBotApiEnabled) {\n Observable.from(this.markMessagesStatuses())\n .catch(() => Observable.empty())\n .subscribe();\n }\n\n\n //druid polling for new messages status\n (this.isBotApiEnabled ?\n Observable.from(this.pollingGetMessagesStatus())\n .catch(() => Observable.empty<ConversationStatus>()) :\n Observable.create((observer: any) => {\n observer.next(new ConversationStatus());\n observer.complete();\n })\n )\n .subscribe(ajaxResponse => {\n\n if (this.isBotApiEnabled) {\n this.updateConversationStatus(ajaxResponse);\n }\n });\n\n const stopwatch = new Stopwatch();\n stopwatch.start();\n Observable.ajax({\n headers: {\n Accept: 'application/json',\n ...this.commonHeaders()\n },\n method: 'GET',\n url: `${this.domain}/conversations/${this.conversationId}/activities?watermark=${this.watermark}`,\n timeout,\n withCredentials: this.withCredentials\n }).subscribe(\n (result: AjaxResponse) => {\n subscriber.next(result);\n stopwatch.stop();\n const delay = stopwatch.getTime();\n if (delay < 5000) {\n this.badRequests$.next({ count: 0 });\n } else {\n this.badRequests$.next({ count: 1, payLoad: { delay: 22000, operationId: Date.now() } });\n }\n Observable.timer(Math.max(0, this.pollingInterval - Date.now() + startTimestamp)).subscribe(timer => trigger$.next(null));\n // setTimeout(() => trigger$.next(null), Math.max(0, this.pollingInterval - Date.now() + startTimestamp));\n },\n (error: any) => {\n switch (error.status) {\n case 403:\n this.connectionStatus$.next(ConnectionStatus.ExpiredToken);\n setTimeout(() => trigger$.next(null), this.pollingInterval);\n break;\n case 404:\n this.connectionStatus$.next(ConnectionStatus.Ended);\n break;\n // case 500:\n // case 502:\n // case 503:\n // case 504:\n // setTimeout(() => trigger$.next(null), this.pollingInterval);\n // break;\n\n default:\n // propagate the error\n // subscriber.error(error);\n stopwatch.stop();\n if (stopwatch.getTime() > timeout) { // on second timeout attempt set offline value\n this.badRequests$.next({ count: this.badRequests$.getValue().count == 0 ? this.badRequests$.getValue().count + 1 : 100, payLoad: { delay: 22000, operationId: Date.now() } });\n } else {\n this.badRequests$.next({ count: this.badRequests$.getValue().count + 1, payLoad: { delay: 22000, operationId: Date.now() } });\n }\n\n setTimeout(() => trigger$.next(null), this.pollingInterval);\n break;\n }\n }\n );\n\n\n }\n });\n });\n\n return this.checkConnection()\n .flatMap(_ => poller$\n .catch(() => Observable.empty<AjaxResponse>())\n .map(ajaxResponse => ajaxResponse.response as ActivityGroup)\n .flatMap(activityGroup => this.observableFromActivityGroup(activityGroup)));\n }\n\n reportServerPost(humanActivity: AppInsightsQueueItem, miliseconds: number, momentUtcNow: Moment) {\n\n var properties = {\n humanTimestamp: humanActivity.timestamp,\n localHumanTimestamp: humanActivity.localTimestamp,\n localTimestamp: momentUtcNow,\n // botId: humanActivity.from.id,\n // botName: humanActivity.from.name,\n conversationId: humanActivity.conversation.id,\n humanActivityId: humanActivity.id,\n isRootToHuman: \"false\"\n };\n\n this.appInsights.context.telemetryTrace.parentID = humanActivity.conversation.id;\n this.appInsights.trackMetric({ name: `Bot - Server Post`, average: miliseconds }, properties);\n // appInsights.trackMetric({name: 'Bot - Server Post', average : miliseconds, properties: properties});\n this.appInsights.flush();\n }\n\n reportFailedServerPost(humanActivity: AppInsightsQueueItem, miliseconds: number, momentUtcNow: Moment, isRootToHuman: boolean) {\n\n var properties = {\n humanTimestamp: humanActivity.timestamp,\n localHumanTimestamp: humanActivity.localTimestamp,\n localTimestamp: momentUtcNow,\n // botId: humanActivity.from.id,\n // botName: humanActivity.from.name,\n conversationId: this.conversationId,\n humanActivityId: humanActivity.channelData && humanActivity.channelData.clientActivityId,\n isRootToHuman: isRootToHuman\n };\n\n this.appInsights.context.telemetryTrace.parentID = this.conversationId;\n this.appInsights.trackMetric({ name: `Bot - Failed Server Post`, average: miliseconds }, properties);\n // appInsights.trackMetric({name: 'Bot - Server Post', average : miliseconds, properties: properties});\n this.appInsights.flush();\n }\n\n\n reportActivityMetric(humanActivity: AppInsightsQueueItem, botActivity?: AppInsightsQueueItem) {\n\n if (humanActivity && botActivity) {\n var msServer = moment(botActivity.timestamp).diff(moment(humanActivity.timestamp));\n var msLocal = moment(botActivity.localTimestamp).diff(moment(humanActivity.localTimestamp));\n let properties = {\n humanTimestamp: humanActivity.timestamp,\n botTimestamp: botActivity.timestamp,\n localHumanTimestamp: humanActivity.localTimestamp,\n localBotTimestamp: botActivity.localTimestamp,\n botId: botActivity.from.id,\n botName: botActivity.from.name,\n conversationId: botActivity.conversation.id,\n humanActivityId: humanActivity.id,\n botActivityId: botActivity.id,\n isRootToHuman: \"false\",\n correlationId: botActivity.channelData ? botActivity.channelData.correlationId : ''\n };\n\n // appInsights.context.operation.parentId = botActivity.conversation.id;\n this.appInsights.context.telemetryTrace.parentID = botActivity.conversation.id;\n this.appInsights.trackMetric({ name: 'Bot - Client TTA', average: msLocal < 900 * 1000 ? msLocal : 0 }, properties);\n this.appInsights.trackMetric({ name: 'Bot - Server TTA', average: msServer < 900 * 1000 ? msServer : 0 }, properties);\n\n this.appInsights.flush();\n\n }\n else if (humanActivity) {\n let properties = {\n humanTimestamp: humanActivity.timestamp,\n localHumanTimestamp: humanActivity.localTimestamp,\n botId: this.initiatorBotId,\n botName: this.initiatorBotId,\n conversationId: humanActivity.conversation.id,\n humanActivityId: humanActivity.id,\n isRootToHuman: \"false\"\n };\n\n // appInsights.context.operation.parentId = humanActivity.conversation.id;\n this.appInsights.context.telemetryTrace.parentID = humanActivity.conversation.id;\n this.appInsights.trackMetric({ name: `Bot -${(humanActivity as any) && (humanActivity as any).name ? (' ' + (humanActivity as any).name + ' ') : ''}No response`, average: 1 }, properties);\n this.appInsights.flush();\n\n }\n\n };\n\n reportChatStartupMetric(authenticationEvent: AppInsightsQueueItem, startTimestamp: Moment, endTimestamp: Moment) {\n this.appInsights.context.telemetryTrace.parentID = authenticationEvent.conversation.id;\n var miliseconds = moment(endTimestamp).diff(moment(startTimestamp));\n\n let properties = {\n localStartTimestamp: startTimestamp.utc().toISOString(),\n localEndTimestamp: endTimestamp.utc().toISOString(),\n botId: this.initiatorBotId,\n botName: this.initiatorBotId,\n userId: this.initiatorUserId,\n conversationId: authenticationEvent.conversation.id,\n humanActivityId: authenticationEvent.id\n };\n\n this.appInsights.trackMetric({ name: 'Bot - Chat Startup', average: miliseconds }, properties);\n // appInsights.trackMetric({name: 'Bot - Server Post', average : miliseconds, properties: properties});\n this.appInsights.flush();\n }\n\n reportBackendMetric(startTimestamp: Moment, endTimestamp: Moment) {\n this.appInsights.context.telemetryTrace.parentID = this.conversationId;\n var miliseconds = moment(endTimestamp).diff(moment(startTimestamp));\n\n let properties = {\n localStartTimestamp: startTimestamp.utc().toISOString(),\n localEndTimestamp: endTimestamp.utc().toISOString(),\n botId: this.initiatorBotId,\n botName: this.initiatorBotId,\n userId: this.initiatorUserId,\n conversationId: this.conversationId\n };\n\n this.appInsights.trackMetric({ name: 'Bot - Backend', average: miliseconds }, properties);\n // appInsights.trackMetric({name: 'Bot - Server Post', average : miliseconds, properties: properties});\n this.appInsights.flush();\n }\n\n private observableFromActivityGroup(activityGroup: ActivityGroup) {\n if (activityGroup.watermark) {\n this.watermark = activityGroup.watermark;\n }\n\n let momentUtcNow: Moment = moment().utc();\n activityGroup.activities.forEach(act => {\n\n if (this.applicationInsightsEnabled) {\n try {\n\n if (act.type === 'event' && act.name === 'Authentication' && this.serverTimestamp.isSameOrBefore(moment(act.timestamp))) {\n this.reportChatStartupMetric(act, this.appInsights_DirectLineConstructorTimestamp, momentUtcNow);\n\n let newAppInsightsQueueItem: AppInsightsQueueItem = act as AppInsightsQueueItem; // copied from postActivity above -> simulate user input message\n newAppInsightsQueueItem.localTimestamp = momentUtcNow.toISOString();\n\n this.appInsightsQueue.push(newAppInsightsQueueItem);\n }\n //if type is event & name is Authentication & servertime < activity.timestamp -> Report metric 2(localTimestamps) ChatStartup TTA -> and add to queue for metric 3\n\n let foundQueueItemIdx = this.appInsightsQueue.findIndex(fi => fi.channelData && act.channelData && fi.channelData.clientActivityId === act.channelData.clientActivityId);\n if (foundQueueItemIdx >= 0) {\n let foundQueueItem = this.appInsightsQueue[foundQueueItemIdx];\n foundQueueItem.id = act.id;\n foundQueueItem.conversation = act.conversation;\n foundQueueItem.timestamp = act.timestamp;\n //localTimestamp was set on postActivitiy\n foundQueueItem.deliveredTimestamp = momentUtcNow.toISOString();\n if (act.type !== 'event' && (act as any).name !== 'Authentication') { //should not pass filter above but skip if is authentication event (is injected by flowengine, not sent by client)\n this.reportServerPost(foundQueueItem, momentUtcNow.diff(moment(foundQueueItem.localTimestamp)), momentUtcNow);\n }\n } else {\n if (!!(act as any).replyToId) {\n let replyToId: string = (act as any).replyToId;\n let replyToIdItemIdx = this.appInsightsQueue.findIndex(fi => fi.id === replyToId);\n if (replyToIdItemIdx >= 0) {\n let replyToIdItem = this.appInsightsQueue[replyToIdItemIdx];\n let botActivity = (act as AppInsightsQueueItem);\n botActivity.localTimestamp = momentUtcNow.toISOString();\n this.reportActivityMetric(replyToIdItem, botActivity);\n //send response received telemetry and then: --->>>\n if (replyToIdItemIdx > 0) {\n let toRemoveItems = this.appInsightsQueue.filter((f, idx) => idx < replyToIdItemIdx);\n this.appInsightsQueue = this.appInsightsQueue.slice(Math.min(replyToIdItemIdx + 1, this.appInsightsQueue.length), this.appInsightsQueue.length);\n toRemoveItems.forEach(tri => {\n this.reportActivityMetric(tri);\n });\n } else {\n this.appInsightsQueue.splice(0, 1); // remove self\n }\n\n }\n }\n }\n } catch (ex) {\n\n }\n }\n\n if (!!this.activitiesStatuses) {\n act.status = (this.activitiesStatuses[act.id] as MessageStatus) || MessageStatus.Sent;\n if (!!!this.activitiesStatuses[act.id]) {\n this.activitiesStatuses[act.id] = act.status;\n }\n if (act.status != MessageStatus.Read) { //not marked as sent, we should add if not present\n this.notReadActivities.push(act);\n }\n\n }\n });\n\n this.notReadActivities.forEach((nrActivity, actIndex) => { //push if sent -> delivered and do not remove from notReadActivities\n if (!!this.activitiesStatuses[nrActivity.id] && (this.activitiesStatuses[nrActivity.id] as MessageStatus) > MessageStatus.Sent) {\n let foundIndex = activityGroup.activities.findIndex(fi => fi.id == nrActivity.id);\n if (foundIndex > -1) {\n activityGroup.activities[foundIndex].status = (this.activitiesStatuses[nrActivity.id] as MessageStatus);\n } else {\n let oldStatus = nrActivity.status;\n let newStatus = (this.activitiesStatuses[nrActivity.id] as MessageStatus);\n if (oldStatus != newStatus) { // if same status --- ignore\n nrActivity.status = (this.activitiesStatuses[nrActivity.id] as MessageStatus);\n nrActivity.lastConfirmedStatus = (this.activitiesStatuses[nrActivity.id] as MessageStatus);\n nrActivity.channelData = nrActivity.channelData || {};\n nrActivity.channelData.isActivityStatusUpdate = true;\n activityGroup.activities.push(nrActivity);\n }\n }\n\n if (nrActivity.status == MessageStatus.Read) {\n this.notReadActivities.splice(actIndex, 1);\n }\n }\n });\n\n if (this.conversationStatus_SenderAction && this.conversationStatus_SenderAction.action >= 0) {\n if (this.conversationStatus_SenderAction.action == 1) {\n if (!this.typingIsActive) {\n const userName = this.conversationStatus_ActionUser && this.conversationStatus_ActionUser.name;\n activityGroup.activities.push({ type: 'typing', from: { id: '', name: userName || '' } });\n this.typingIsActive = true;\n }\n } else {\n if (!!this.typingIsActive) {\n activityGroup.activities.push({ type: 'typing', from: { id: '' }, channelData: { isHideTyping: true } });\n this.typingIsActive = false;\n }\n }\n }\n\n return Observable.from(activityGroup.activities);\n }\n\n private webSocketActivity$(): Observable<Activity> {\n return this.checkConnection()\n .flatMap(_ =>\n this.observableWebSocket<ActivityGroup>()\n .bufferTime(10).filter(buff => buff.length > 0).map(m => {\n return m.reduce((merged, current) => {\n return { activities: [...merged.activities, ...current.activities], watermark: current.watermark || merged.watermark };\n })\n })\n // WebSockets can be closed by the server or the browser. In the former case we need to\n // retrieve a new streamUrl. In the latter case we could first retry with the current streamUrl,\n // but it's simpler just to always fetch a new one.\n .retryWhen(error$ => error$.delay(this.getRetryDelay()).mergeMap(error => this.reconnectToConversation()))\n )\n .flatMap(activityGroup => this.observableFromActivityGroup(activityGroup))\n }\n\n // Returns the delay duration in milliseconds\n private getRetryDelay() {\n return Math.floor(3000 + Math.random() * 12000);\n }\n\n // Originally we used Observable.webSocket, but it's fairly opionated and I ended up writing\n // a lot of code to work around their implemention details. Since WebChat is meant to be a reference\n // implementation, I decided roll the below, where the logic is more purposeful. - @billba\n private observableWebSocket<T>() {\n return Observable.create((subscriber: Subscriber<T>) => {\n konsole.log(\"creating WebSocket\", this.streamUrl);\n const ws = new WebSocket(this.streamUrl);\n let sub: Subscription;\n let markMessagesStatusesSub: Subscription;\n\n ws.onopen = open => {\n konsole.log(\"WebSocket open\", open);\n this.webSocketInstance = ws;\n konsole.log(\"WebSocket instance\", this.webSocketInstance);\n\n this.badRequests$.next({ count: 0 });\n // Chrome is pretty bad at noticing when a WebSocket connection is broken.\n // If we periodically ping the server with empty messages, it helps Chrome\n // realize when connection breaks, and close the socket. We then throw an\n // error, and that give us the opportunity to attempt to reconnect.\n sub = Observable.interval(10000).subscribe(_ => { //changed from timeout to hardcoded 10s\n try {\n ws.send(\"\")\n } catch (e) {\n konsole.log(\"Ping error\", e);\n }\n });\n\n if (this.isBotApiEnabled) {\n markMessagesStatusesSub = Observable.interval(1000).subscribe(_ => { //changed from timeout to hardcoded 10s\n Observable.from(this.markMessagesStatuses())\n .catch(() => Observable.empty())\n .subscribe();\n });\n }\n try {\n if (this.conversationStatusWebSocketSubjectSubscription && !this.conversationStatusWebSocketSubjectSubscription.closed) { // must be first thing to do: avoid double handlers\n this.conversationStatusWebSocketSubjectSubscription.unsubscribe();\n }\n\n if(this.conversationStatusInputSubject) {\n this.conversationStatusWebSocketSubjectSubscription = this.conversationStatusInputSubject\n .filter(wsObservable => wsObservable != null)\n .flatMap(wsObservable => wsObservable)\n .subscribe(this.handleConversationStatusWebSocket(subscriber));\n } else {\n const wsObservable = this.observableConversationStatusWebSocket();\n this.conversationStatusWebSocketSubject.next(wsObservable);\n\n this.conversationStatusWebSocketSubjectSubscription = wsObservable\n .subscribe(this.handleConversationStatusWebSocket(subscriber));\n }\n\n } catch (ex) {\n console.log(\"Failed to open ConversationStatusWebSocket\", ex);\n }\n }\n\n ws.onclose = close => {\n konsole.log(\"WebSocket close\", close);\n this.badRequests$.next({ count: 100 }); // just to set offline status\n\n if (sub) sub.unsubscribe();\n if (markMessagesStatusesSub) markMessagesStatusesSub.unsubscribe();\n\n subscriber.error(close);\n }\n\n ws.onmessage = message => {\n let unparsedData = message.data;\n if(message.data && typeof message.data === \"string\" && this.apcUrl && this.apcExternalUrl) {\n var apcExternalUrl_regex = new RegExp(this.apcExternalUrl, \"g\");\n unparsedData = unparsedData.replace(apcExternalUrl_regex, this.apcUrl);\n }\n return message.data && subscriber.next(JSON.parse(unparsedData));\n }\n\n // This is the 'unsubscribe' method, which is called when this observable is disposed.\n // When the WebSocket closes itself, we throw an error, and this function is eventually called.\n // When the observable is closed first (e.g. when tearing down a WebChat instance) then\n // we need to manually close the WebSocket.\n return () => {\n if (ws.readyState === 0 || ws.readyState === 1) {\n ws.close();\n };\n\n if (this.conversationStatusWebSocket) { // the status doesn't matter. we need to close until master websocket reopens\n this.conversationStatusWebSocket.close();\n }\n }\n }) as Observable<T>\n }\n\n private handleConversationStatusWebSocket = subscriber => (message: { messageType: number, data: string }) => {\n let respData: any = {};\n try {\n respData = JSON.parse(message.data);\n } catch (ex) {\n console.log(ex);\n return;\n }\n\n switch (message.messageType) {\n case 1: {\n if (!!respData && (!respData.routedConversationId || respData.routedConversationId == this.conversationId) && (!respData.conversationId || respData.conversationId == this.conversationId)) {\n this.updateConversationStatus(respData);\n subscriber.next({ activities: [] } as any); // triggered to enter this.observableFromActivityGroup(activityGroup)\n }\n break;\n }\n case 2: {\n if (!!respData && (!respData.routedConversationId || respData.routedConversationId == this.conversationId)) {\n this.updateConversationStatus(respData);\n subscriber.next({ activities: [] } as any); // triggered to enter this.observableFromActivityGroup(activityGroup)\n }\n break;\n }\n }\n }\n\n private observableConversationStatusWebSocket(): ReplaySubject<{ messageType: number, data: string }> {\n\n // let getConversationsUrl = `${this.druidBotApiUrl.replace(\"https\", \"wss\").replace(\"http\", \"ws\")}/stream?token=${this.token}&conversationid=${this.conversationId}`;\n\n let replaySubject = new ReplaySubject<{ messageType: number, data: string }>(100, 60 * 10 * 1000);\n\n if (this.conversationStatusWebSocket) {\n this.conversationStatusWebSocket.close();\n }\n this.conversationStatusWebSocket = new ReconnectingWebSocket(() => {\n return `${this.druidBotApiUrl.replace(\"https\", \"wss\").replace(\"http\", \"ws\")}/stream?token=${this.token}&conversationid=${this.conversationId}`;\n });\n let sub: Subscription;\n\n this.conversationStatusWebSocket.onopen = open => {\n this.conversationStatusWebSocket.send(\"ping\");\n sub = Observable.interval(10000).subscribe(_ => {\n try {\n this.conversationStatusWebSocket.send(\"ping\");\n } catch (e) {\n\n }\n });\n }\n\n this.conversationStatusWebSocket.addEventListener('close', (close) => {\n // ws.reconnect();\n\n if (sub) sub.unsubscribe();\n });\n\n this.conversationStatusWebSocket.onmessage = message => message.data && replaySubject.next(JSON.parse(message.data));\n\n return replaySubject;\n }\n\n\n private reconnectToConversation() {\n return this.checkConnection(true)\n .flatMap(_ =>\n Observable.ajax({\n method: \"GET\",\n url: `${this.domain}/conversations/${this.conversationId}?watermark=${this.watermark}`,\n timeout,\n withCredentials: this.withCredentials,\n headers: {\n \"Accept\": \"application/json\",\n ...this.commonHeaders()\n }\n })\n .do(result => {\n if (!this.secret)\n this.token = result.response.token;\n const dateNow = moment().utc();\n if(this.serverTimestamp && dateNow.diff(this.serverTimestamp, \"minutes\") > 5) { // when reconnecting (because of closed WS by Chrome tab inactivity lag), if diff greater than 5 mins, change the serverTimestamp (no server call to retrive fresh timestamp)\n this.serverTimestamp = dateNow;\n }\n\n this.streamUrl = result.response.streamUrl;\n })\n .map(_ => null)\n .retryWhen(error$ => error$\n .mergeMap(error => {\n if (error.status === 403) {\n // token has expired. We can't recover from this here, but the embedding\n // website might eventually call reconnect() with a new token and streamUrl.\n this.expiredToken();\n } else if (error.status === 404) {\n return Observable.throw(errorConversationEnded);\n }\n\n return Observable.of(error);\n })\n .delay(timeout)\n .take(retries)\n )\n )\n }\n\n private commonHeaders() {\n return {\n \"Authorization\": `Bearer ${this.token}`,\n \"x-ms-bot-agent\": this._botAgent\n };\n }\n\n private getBotAgent(customAgent: string = ''): string {\n let clientAgent = 'directlinejs'\n\n if (customAgent) {\n clientAgent += `; ${customAgent}`\n }\n\n return `${DIRECT_LINE_VERSION} (${clientAgent})`;\n }\n\n public sendAjaxRequest(options: AjaxRequest): Observable<AjaxResponse> {\n\n let mergedOptions = {\n ...{ timeout,\n withCredentials: this.withCredentials\n },\n ...options\n };\n let mergedHeadersOptions = {\n ...{ \"Accept\": \"application/json\",\n 'Content-Type': 'application/json',\n ...this.commonHeaders()},\n ...options.headers\n };\n mergedOptions.headers = mergedHeadersOptions;\n\n return Observable.ajax(options);\n }\n\n // Workarround for AWS connect -> remove when not used!!!\n addAWSConnection(wsUrl: string, connectionToken: string) {\n this.AWSConnectionConnectionToken = connectionToken;\n this.AWSConnectionWebSocket = new ReconnectingWebSocket(wsUrl);\n let sub: Subscription = null;\n this.AWSConnectionWebSocket.onopen = open => {\n this.AWSConnectionWebSocket.send('{topic: \"aws/heartbeat\"}');\n this.AWSConnectionWebSocket.send('{\"topic\":\"aws/subscribe\",\"content\":{\"topics\":[\"aws/chat\"]}}')\n\n sub = Observable.interval(10000).subscribe(_ => {\n try {\n this.AWSConnectionWebSocket.send('{topic: \"aws/heartbeat\"}');\n } catch (e) {\n\n }\n });\n }\n\n this.AWSConnectionWebSocket.addEventListener('close', (close) => {\n sub && sub.unsubscribe();\n });\n\n this.AWSConnectionWebSocket.onmessage = message => {\n\n var respMessage = JSON.parse(message.data);\n if (respMessage.topic == \"aws/chat\") {\n var respMessageContent = JSON.parse(respMessage.content);\n if (respMessageContent.Type == \"MESSAGE\" && (respMessageContent.ParticipantRole == \"AGENT\" || respMessageContent.ParticipantRole == \"SYSTEM\")) {\n this.postActivity({\n text: respMessageContent.Content,\n type: 'message',\n from: {\n id: this.initiatorBotId || \"aws-bot\",\n name: \"Agent\"\n }\n }).subscribe();\n }\n\n if(respMessageContent.Type == \"EVENT\" && respMessageContent.ContentType == \"application/vnd.amazonaws.connect.event.participant.left\") {\n this.postActivity({\n text: 'disconnect',\n type: 'message',\n from: {\n id: this.initiatorUserId || \"anonymous\",\n // name: \"Agent\"\n }\n }).subscribe();\n this.AWSConnectionWebSocket && this.AWSConnectionWebSocket.close();\n this.AWSConnectionConnectionToken = null;\n }\n }\n\n // message.data;\n };\n\n return this.AWSConnectionWebSocket;\n }\n}\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","const DISMISS_NOTIFICATION = 'WEB_CHAT/DISMISS_NOTIFICATION';\n\ntype DismissNotificationAction = {\n payload: { id: string };\n type: typeof DISMISS_NOTIFICATION;\n};\n\nfunction dismissNotification(id: string): DismissNotificationAction {\n return {\n payload: { id },\n type: DISMISS_NOTIFICATION\n };\n}\n\nexport default dismissNotification;\n\nexport { DISMISS_NOTIFICATION };\n\nexport type { DismissNotificationAction };\n","module.exports = require(\"core-js-pure/stable/parse-float\");","import { Subscriber } from './Subscriber';\nimport { InnerSubscriber } from './InnerSubscriber';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class OuterSubscriber<T, R> extends Subscriber<T> {\n notifyNext(outerValue: T, innerValue: R,\n outerIndex: number, innerIndex: number,\n innerSub: InnerSubscriber<T, R>): void {\n this.destination.next(innerValue);\n }\n\n notifyError(error: any, innerSub: InnerSubscriber<T, R>): void {\n this.destination.error(error);\n }\n\n notifyComplete(innerSub: InnerSubscriber<T, R>): void {\n this.destination.complete();\n }\n}\n","import { root } from './root';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { Subscriber } from '../Subscriber';\nimport { Observable, ObservableInput } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { Subscription } from '../Subscription';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { observable as Symbol_observable } from '../symbol/observable';\n\nexport function subscribeToResult<T, R>(outerSubscriber: OuterSubscriber<T, R>,\n result: any,\n outerValue?: T,\n outerIndex?: number): Subscription;\nexport function subscribeToResult<T>(outerSubscriber: OuterSubscriber<any, any>,\n result: ObservableInput<T>,\n outerValue?: T,\n outerIndex?: number): Subscription {\n let destination: Subscriber<any> = new InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n\n if (destination.closed) {\n return null;\n }\n\n if (result instanceof Observable) {\n if (result._isScalar) {\n destination.next((<any>result).value);\n destination.complete();\n return null;\n } else {\n destination.syncErrorThrowable = true;\n return result.subscribe(destination);\n }\n } else if (isArrayLike(result)) {\n for (let i = 0, len = result.length; i < len && !destination.closed; i++) {\n destination.next(result[i]);\n }\n if (!destination.closed) {\n destination.complete();\n }\n } else if (isPromise(result)) {\n result.then(\n (value) => {\n if (!destination.closed) {\n destination.next(<any>value);\n destination.complete();\n }\n },\n (err: any) => destination.error(err)\n )\n .then(null, (err: any) => {\n // Escaping the Promise trap: globally throw unhandled errors\n root.setTimeout(() => { throw err; });\n });\n return destination;\n } else if (result && typeof result[Symbol_iterator] === 'function') {\n const iterator = <any>result[Symbol_iterator]();\n do {\n let item = iterator.next();\n if (item.done) {\n destination.complete();\n break;\n }\n destination.next(item.value);\n if (destination.closed) {\n break;\n }\n } while (true);\n } else if (result && typeof result[Symbol_observable] === 'function') {\n const obs = result[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n destination.error(new TypeError('Provided object does not correctly implement Symbol.observable'));\n } else {\n return obs.subscribe(new InnerSubscriber(outerSubscriber, outerValue, outerIndex));\n }\n } else {\n const value = isObject(result) ? 'an invalid object' : `'${result}'`;\n const msg = `You provided ${value} where a stream was expected.`\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n destination.error(new TypeError(msg));\n }\n return null;\n}\n","import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { tryCatch } from './util/tryCatch';\nimport { errorObject } from './util/errorObject';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\n\nexport interface AnonymousSubscription {\n unsubscribe(): void;\n}\n\nexport type TeardownLogic = AnonymousSubscription | Function | void;\n\nexport interface ISubscription extends AnonymousSubscription {\n unsubscribe(): void;\n readonly closed: boolean;\n}\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements ISubscription {\n public static EMPTY: Subscription = (function(empty: any){\n empty.closed = true;\n return empty;\n }(new Subscription()));\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n * @type {boolean}\n */\n public closed: boolean = false;\n\n protected _parent: Subscription = null;\n protected _parents: Subscription[] = null;\n private _subscriptions: ISubscription[] = null;\n\n /**\n * @param {function(): void} [unsubscribe] A function describing how to\n * perform the disposal of resources when the `unsubscribe` method is called.\n */\n constructor(unsubscribe?: () => void) {\n if (unsubscribe) {\n (<any> this)._unsubscribe = unsubscribe;\n }\n }\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let hasErrors = false;\n let errors: any[];\n\n if (this.closed) {\n return;\n }\n\n let { _parent, _parents, _unsubscribe, _subscriptions } = (<any> this);\n\n this.closed = true;\n this._parent = null;\n this._parents = null;\n // null out _subscriptions first so any child subscriptions that attempt\n // to remove themselves from this subscription will noop\n this._subscriptions = null;\n\n let index = -1;\n let len = _parents ? _parents.length : 0;\n\n // if this._parent is null, then so is this._parents, and we\n // don't have to remove ourselves from any parent subscriptions.\n while (_parent) {\n _parent.remove(this);\n // if this._parents is null or index >= len,\n // then _parent is set to null, and the loop exits\n _parent = ++index < len && _parents[index] || null;\n }\n\n if (isFunction(_unsubscribe)) {\n let trial = tryCatch(_unsubscribe).call(this);\n if (trial === errorObject) {\n hasErrors = true;\n errors = errors || (\n errorObject.e instanceof UnsubscriptionError ?\n flattenUnsubscriptionErrors(errorObject.e.errors) : [errorObject.e]\n );\n }\n }\n\n if (isArray(_subscriptions)) {\n\n index = -1;\n len = _subscriptions.length;\n\n while (++index < len) {\n const sub = _subscriptions[index];\n if (isObject(sub)) {\n let trial = tryCatch(sub.unsubscribe).call(sub);\n if (trial === errorObject) {\n hasErrors = true;\n errors = errors || [];\n let err = errorObject.e;\n if (err instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(err.errors));\n } else {\n errors.push(err);\n }\n }\n }\n }\n }\n\n if (hasErrors) {\n throw new UnsubscriptionError(errors);\n }\n }\n\n /**\n * Adds a tear down to be called during the unsubscribe() of this\n * Subscription.\n *\n * If the tear down being added is a subscription that is already\n * unsubscribed, is the same reference `add` is being called on, or is\n * `Subscription.EMPTY`, it will not be added.\n *\n * If this subscription is already in an `closed` state, the passed\n * tear down logic will be executed immediately.\n *\n * @param {TeardownLogic} teardown The additional logic to execute on\n * teardown.\n * @return {Subscription} Returns the Subscription used or created to be\n * added to the inner subscriptions list. This Subscription can be used with\n * `remove()` to remove the passed teardown logic from the inner subscriptions\n * list.\n */\n add(teardown: TeardownLogic): Subscription {\n if (!teardown || (teardown === Subscription.EMPTY)) {\n return Subscription.EMPTY;\n }\n\n if (teardown === this) {\n return this;\n }\n\n let subscription = (<Subscription> teardown);\n\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(<(() => void) > teardown);\n case 'object':\n if (subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n } else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n } else if (typeof subscription._addParent !== 'function' /* quack quack */) {\n const tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default:\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n\n const subscriptions = this._subscriptions || (this._subscriptions = []);\n\n subscriptions.push(subscription);\n subscription._addParent(this);\n\n return subscription;\n }\n\n /**\n * Removes a Subscription from the internal list of subscriptions that will\n * unsubscribe during the unsubscribe process of this Subscription.\n * @param {Subscription} subscription The subscription to remove.\n * @return {void}\n */\n remove(subscription: Subscription): void {\n const subscriptions = this._subscriptions;\n if (subscriptions) {\n const subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n }\n\n private _addParent(parent: Subscription) {\n let { _parent, _parents } = this;\n if (!_parent || _parent === parent) {\n // If we don't have a parent, or the new parent is the same as the\n // current parent, then set this._parent to the new parent.\n this._parent = parent;\n } else if (!_parents) {\n // If there's already one parent, but not multiple, allocate an Array to\n // store the rest of the parent Subscriptions.\n this._parents = [parent];\n } else if (_parents.indexOf(parent) === -1) {\n // Only add the new parent to the _parents list if it's not already there.\n _parents.push(parent);\n }\n }\n}\n\nfunction flattenUnsubscriptionErrors(errors: any[]) {\n return errors.reduce((errs, err) => errs.concat((err instanceof UnsubscriptionError) ? err.errors : err), []);\n}\n","const CONNECT = 'DIRECT_LINE/CONNECT';\nconst CONNECT_FULFILLED = `${CONNECT}_FULFILLED`;\nconst CONNECT_FULFILLING = `${CONNECT}_FULFILLING`;\nconst CONNECT_PENDING = `${CONNECT}_PENDING`;\nconst CONNECT_REJECTED = `${CONNECT}_REJECTED`;\nconst CONNECT_STILL_PENDING = `${CONNECT}_STILL_PENDING`;\n\nexport default function connect({ directLine, userID, username }) {\n return {\n type: CONNECT,\n payload: {\n directLine,\n userID,\n username\n }\n };\n}\n\nexport { CONNECT, CONNECT_FULFILLED, CONNECT_FULFILLING, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING };\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","module.exports = {};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","require('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar global = require('../internals/global');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","import { useContext } from 'react';\n\nimport ActivityAcknowledgementContext from './Context';\n\nimport type { ActivityAcknowledgementContextType } from './Context';\n\nexport default function useActivityAcknowledgementContext(\n thrownOnUndefined = true\n): ActivityAcknowledgementContextType {\n const contextValue = useContext(ActivityAcknowledgementContext);\n\n if (thrownOnUndefined && !contextValue) {\n throw new Error(\n 'botframework-webchat internal: This hook can only be used under <ActivityAcknowledgementContext>.'\n );\n }\n\n return contextValue;\n}\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","module.exports = {};\n","const DISCONNECT = 'DIRECT_LINE/DISCONNECT';\nconst DISCONNECT_PENDING = `${DISCONNECT}_PENDING`;\nconst DISCONNECT_REJECTED = `${DISCONNECT}_REJECTED`;\nconst DISCONNECT_FULFILLED = `${DISCONNECT}_FULFILLED`;\n\nexport default function disconnect() {\n return {\n type: DISCONNECT\n };\n}\n\nexport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_REJECTED, DISCONNECT_FULFILLED };\n","const STOP_DICTATE = 'WEB_CHAT/STOP_DICTATE';\n\nexport default function stopDictate() {\n return { type: STOP_DICTATE };\n}\n\nexport { STOP_DICTATE };\n","export default activity => activity && activity.from.role === 'bot';\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","const EMPTY_ARRAY = [];\n\nconst SET_SUGGESTED_ACTIONS = 'WEB_CHAT/SET_SUGGESTED_ACTIONS';\n\nexport default function setSuggestedActions(suggestedActions = EMPTY_ARRAY) {\n return {\n type: SET_SUGGESTED_ACTIONS,\n payload: { suggestedActions }\n };\n}\n\nexport { SET_SUGGESTED_ACTIONS };\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","module.exports = require(\"core-js-pure/stable/date/now\");","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\n\r\ndeclare var globalThis: Window;\r\ndeclare var global: Window;\r\n\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal \r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - <null> (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\n export function getGlobal(): Window {\r\n if (typeof globalThis !== strShimUndefined && globalThis) {\r\n return globalThis;\r\n }\r\n\r\n if (typeof self !== strShimUndefined && self) {\r\n return self;\r\n }\r\n\r\n if (typeof window !== strShimUndefined && window) {\r\n return window;\r\n }\r\n\r\n if (typeof global !== strShimUndefined && global) {\r\n return global;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function throwTypeError(message: string): never {\r\n throw new TypeError(message); \r\n}\r\n\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj: any): any {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj); \r\n }\r\n if (obj == null) { \r\n return {}; \r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) { \r\n throwTypeError('Object prototype may only be an Object:' + obj); \r\n }\r\n\r\n function tmpFunc() {}\r\n tmpFunc[strShimPrototype] = obj;\r\n\r\n return new (tmpFunc as any)(); \r\n}\r\n\r\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { Operator } from './Operator';\nimport { Observer } from './Observer';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { ISubscription, Subscription, TeardownLogic } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from './symbol/rxSubscriber';\n\n/**\n * @class SubjectSubscriber<T>\n */\nexport class SubjectSubscriber<T> extends Subscriber<T> {\n constructor(protected destination: Subject<T>) {\n super(destination);\n }\n}\n\n/**\n * @class Subject<T>\n */\nexport class Subject<T> extends Observable<T> implements ISubscription {\n\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n\n observers: Observer<T>[] = [];\n\n closed = false;\n\n isStopped = false;\n\n hasError = false;\n\n thrownError: any = null;\n\n constructor() {\n super();\n }\n\n static create: Function = <T>(destination: Observer<T>, source: Observable<T>): AnonymousSubject<T> => {\n return new AnonymousSubject<T>(destination, source);\n }\n\n lift<R>(operator: Operator<T, R>): Observable<R> {\n const subject = new AnonymousSubject(this, this);\n subject.operator = <any>operator;\n return <any>subject;\n }\n\n next(value?: T) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n\n error(err: any) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n\n protected _trySubscribe(subscriber: Subscriber<T>): TeardownLogic {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else {\n return super._trySubscribe(subscriber);\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): Subscription {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n } else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n } else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n\n asObservable(): Observable<T> {\n const observable = new Observable<T>();\n (<any>observable).source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject<T>\n */\nexport class AnonymousSubject<T> extends Subject<T> {\n constructor(protected destination?: Observer<T>, source?: Observable<T>) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n\n error(err: any) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): Subscription {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n } else {\n return Subscription.EMPTY;\n }\n }\n}\n","// typeof any so that it we don't have to cast when comparing a result to the error object\nexport const errorObject: any = { e: {} };","import { Scheduler } from '../Scheduler';\nexport function isScheduler(value: any): value is Scheduler {\n return value && typeof (<any>value).schedule === 'function';\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\ntype IncomingActivityAction = {\n payload: { activity: WebChatActivity };\n type: IncomingActivityActionType;\n};\n\nconst INCOMING_ACTIVITY: IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\nfunction incomingActivity(activity: WebChatActivity): IncomingActivityAction {\n return {\n type: INCOMING_ACTIVITY,\n payload: { activity }\n };\n}\n\nexport default incomingActivity;\nexport { INCOMING_ACTIVITY };\nexport type { IncomingActivityAction };\n","type MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\ntype MarkActivityAction = {\n payload: { activityID: string; name: string; value: any };\n type: MarkActivityActionType;\n};\n\nconst MARK_ACTIVITY: MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\nfunction markActivity({ id: activityID }: { id: string }, name: string, value: any): MarkActivityAction {\n return {\n type: MARK_ACTIVITY,\n payload: {\n activityID,\n name,\n value\n }\n };\n}\n\nexport default markActivity;\nexport { MARK_ACTIVITY };\nexport type { MarkActivityAction };\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.26.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n if (kind == 'keys') return createIterResultObject(index, false);\n if (kind == 'values') return createIterResultObject(target[index], false);\n return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","import { useContext } from 'react';\n\nimport ActivityKeyerContext from './Context';\n\nimport type { ActivityKeyerContextType } from './Context';\n\nexport default function useActivityKeyerContext(thrownOnUndefined = true): ActivityKeyerContextType {\n const contextValue = useContext(ActivityKeyerContext);\n\n if (thrownOnUndefined && !contextValue) {\n throw new Error('botframework-webchat internal: This hook can only be used under <ActivityKeyerComposer>.');\n }\n\n return contextValue;\n}\n","/**\n * Globalize Runtime v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize Runtime v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t\"use strict\";\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine( factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory();\n\t} else {\n\n\t\t// Globalize\n\t\troot.Globalize = factory();\n\t}\n}( this, function() {\n\n\n\n\n/**\n * A toString method that outputs meaningful values for objects or arrays and\n * still performs as fast as a plain string in case variable is string, or as\n * fast as `\"\" + number` in case variable is a number.\n * Ref: http://jsperf.com/my-stringify\n */\nvar toString = function( variable ) {\n\treturn typeof variable === \"string\" ? variable : ( typeof variable === \"number\" ? \"\" +\n\t\tvariable : JSON.stringify( variable ) );\n};\n\n\n\n\n/**\n * formatMessage( message, data )\n *\n * @message [String] A message with optional {vars} to be replaced.\n *\n * @data [Array or JSON] Object with replacing-variables content.\n *\n * Return the formatted message. For example:\n *\n * - formatMessage( \"{0} second\", [ 1 ] ); // 1 second\n *\n * - formatMessage( \"{0}/{1}\", [\"m\", \"s\"] ); // m/s\n *\n * - formatMessage( \"{name} <{email}>\", {\n * name: \"Foo\",\n * email: \"bar@baz.qux\"\n * }); // Foo <bar@baz.qux>\n */\nvar formatMessage = function( message, data ) {\n\n\t// Replace {attribute}'s\n\tmessage = message.replace( /{[0-9a-zA-Z-_. ]+}/g, function( name ) {\n\t\tname = name.replace( /^{([^}]*)}$/, \"$1\" );\n\t\treturn toString( data[ name ] );\n\t});\n\n\treturn message;\n};\n\n\n\n\nvar objectExtend = function() {\n\tvar destination = arguments[ 0 ],\n\t\tsources = [].slice.call( arguments, 1 );\n\n\tsources.forEach(function( source ) {\n\t\tvar prop;\n\t\tfor ( prop in source ) {\n\t\t\tdestination[ prop ] = source[ prop ];\n\t\t}\n\t});\n\n\treturn destination;\n};\n\n\n\n\nvar createError = function( code, message, attributes ) {\n\tvar error;\n\n\tmessage = code + ( message ? \": \" + formatMessage( message, attributes ) : \"\" );\n\terror = new Error( message );\n\terror.code = code;\n\n\tobjectExtend( error, attributes );\n\n\treturn error;\n};\n\n\n\n\n/**\n * Pushes part to parts array, concat two consecutive parts of the same type.\n */\nvar partsPush = function( parts, type, value ) {\n\n\t\t// Concat two consecutive parts of same type\n\t\tif ( parts.length && parts[ parts.length - 1 ].type === type ) {\n\t\t\tparts[ parts.length - 1 ].value += value;\n\t\t\treturn;\n\t\t}\n\n\t\tparts.push( { type: type, value: value } );\n};\n\n\n\n\n/**\n * formatMessage( message, data )\n *\n * @message [String] A message with optional {vars} to be replaced.\n *\n * @data [Array or JSON] Object with replacing-variables content.\n *\n * Return the formatted message. For example:\n *\n * - formatMessage( \"{0} second\", [ 1 ] );\n * > [{type: \"variable\", value: \"1\", name: \"0\"}, {type: \"literal\", value: \" second\"}]\n *\n * - formatMessage( \"{0}/{1}\", [\"m\", \"s\"] );\n * > [\n * { type: \"variable\", value: \"m\", name: \"0\" },\n * { type: \"literal\", value: \" /\" },\n * { type: \"variable\", value: \"s\", name: \"1\" }\n * ]\n */\nvar formatMessageToParts = function( message, data ) {\n\n\tvar lastOffset = 0,\n\t\tparts = [];\n\n\t// Create parts.\n\tmessage.replace( /{[0-9a-zA-Z-_. ]+}/g, function( nameIncludingBrackets, offset ) {\n\t\tvar name = nameIncludingBrackets.slice( 1, -1 );\n\t\tpartsPush( parts, \"literal\", message.slice( lastOffset, offset ));\n\t\tpartsPush( parts, \"variable\", data[ name ] );\n\t\tparts[ parts.length - 1 ].name = name;\n\t\tlastOffset += offset + nameIncludingBrackets.length;\n\t});\n\n\t// Skip empty ones such as `{ type: 'literal', value: '' }`.\n\treturn parts.filter(function( part ) {\n\t\treturn part.value !== \"\";\n\t});\n};\n\n\n\n\n/**\n * Returns joined parts values.\n */\nvar partsJoin = function( parts ) {\n\treturn parts.map( function( part ) {\n\t\treturn part.value;\n\t}).join( \"\" );\n};\n\n\n\n\nvar runtimeStringify = function( args ) {\n\treturn JSON.stringify( args, function( _key, value ) {\n\t\tif ( value && value.runtimeKey ) {\n\t\t\treturn value.runtimeKey;\n\t\t}\n\t\treturn value;\n\t} );\n};\n\n\n\n\n// Based on http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery\nvar stringHash = function( str ) {\n\treturn [].reduce.call( str, function( hash, i ) {\n\t\tvar chr = i.charCodeAt( 0 );\n\t\thash = ( ( hash << 5 ) - hash ) + chr;\n\t\treturn hash | 0;\n\t}, 0 );\n};\n\n\n\n\nvar runtimeKey = function( fnName, locale, args, argsStr ) {\n\tvar hash;\n\targsStr = argsStr || runtimeStringify( args );\n\thash = stringHash( fnName + locale + argsStr );\n\treturn hash > 0 ? \"a\" + hash : \"b\" + Math.abs( hash );\n};\n\n\n\n\nvar validate = function( code, message, check, attributes ) {\n\tif ( !check ) {\n\t\tthrow createError( code, message, attributes );\n\t}\n};\n\n\n\n\nvar validateParameterPresence = function( value, name ) {\n\tvalidate( \"E_MISSING_PARAMETER\", \"Missing required parameter `{name}`.\",\n\t\tvalue !== undefined, { name: name });\n};\n\n\n\n\nvar validateParameterType = function( value, name, check, expected ) {\n\tvalidate(\n\t\t\"E_INVALID_PAR_TYPE\",\n\t\t\"Invalid `{name}` parameter ({value}). {expected} expected.\",\n\t\tcheck,\n\t\t{\n\t\t\texpected: expected,\n\t\t\tname: name,\n\t\t\tvalue: value\n\t\t}\n\t);\n};\n\n\n\n\nvar validateParameterTypeString = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"string\",\n\t\t\"a string\"\n\t);\n};\n\n\n\n\n// ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FRegular_Expressions\nvar regexpEscape = function( string ) {\n\treturn string.replace( /([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\" );\n};\n\n\n\n\nvar stringPad = function( str, count, right ) {\n\tvar length;\n\tif ( typeof str !== \"string\" ) {\n\t\tstr = String( str );\n\t}\n\tfor ( length = str.length; length < count; length += 1 ) {\n\t\tstr = ( right ? ( str + \"0\" ) : ( \"0\" + str ) );\n\t}\n\treturn str;\n};\n\n\n\n\nfunction Globalize( locale ) {\n\tif ( !( this instanceof Globalize ) ) {\n\t\treturn new Globalize( locale );\n\t}\n\n\tvalidateParameterPresence( locale, \"locale\" );\n\tvalidateParameterTypeString( locale, \"locale\" );\n\n\tthis._locale = locale;\n}\n\nGlobalize.locale = function( locale ) {\n\tvalidateParameterTypeString( locale, \"locale\" );\n\n\tif ( arguments.length ) {\n\t\tthis._locale = locale;\n\t}\n\treturn this._locale;\n};\n\nGlobalize._createError = createError;\nGlobalize._formatMessage = formatMessage;\nGlobalize._formatMessageToParts = formatMessageToParts;\nGlobalize._partsJoin = partsJoin;\nGlobalize._partsPush = partsPush;\nGlobalize._regexpEscape = regexpEscape;\nGlobalize._runtimeKey = runtimeKey;\nGlobalize._stringPad = stringPad;\nGlobalize._validateParameterPresence = validateParameterPresence;\nGlobalize._validateParameterTypeString = validateParameterTypeString;\nGlobalize._validateParameterType = validateParameterType;\n\nreturn Globalize;\n\n\n\n\n}));\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*\n\nBased off glamor's StyleSheet, thanks Sunil â¤ï¸\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import { errorObject } from './errorObject';\n\nlet tryCatchTarget: Function;\n\nfunction tryCatcher(this: any): any {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObject.e = e;\n return errorObject;\n }\n}\n\nexport function tryCatch<T extends Function>(fn: T): T {\n tryCatchTarget = fn;\n return <any>tryCatcher;\n};\n","export const isArray = Array.isArray || (<T>(x: any): x is T[] => x && typeof x.length === 'number');\n","import { useContext, useMemo, useState } from \"react\";\nimport { DruidWebchatRefsContextType } from \"../contexts/WebChatRefsContext\";\nimport DruidWebchatRefsContext from \"../contexts/WebChatRefsContext\";\n\nexport const useWebChatRefsContext = (): DruidWebchatRefsContextType => {\n return useContext<DruidWebchatRefsContextType>(DruidWebchatRefsContext);\n}\nexport const useInitWebChatRefsContext = (): DruidWebchatRefsContextType => {\n const [wcRootRef, setWcRootRef] = useState<HTMLDivElement>();\n const [headerRef, setHeaderRef] = useState<HTMLDivElement>();\n const [headerWasDragged, setHeaderWasDragged] = useState<boolean>();\n\n\n const refsContextValue = useMemo(\n () => ({ wcRootRef, setWcRootRef, headerRef, setHeaderRef, headerWasDragged, setHeaderWasDragged }), \n [wcRootRef, setWcRootRef, headerRef, setHeaderRef, headerWasDragged, setHeaderWasDragged]\n ); \n\n return refsContextValue;\n}","import { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { ScalarObservable } from './ScalarObservable';\nimport { EmptyObservable } from './EmptyObservable';\nimport { Subscriber } from '../Subscriber';\nimport { isScheduler } from '../util/isScheduler';\nimport { TeardownLogic } from '../Subscription';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class ArrayObservable<T> extends Observable<T> {\n\n static create<T>(array: T[], scheduler?: IScheduler): Observable<T> {\n return new ArrayObservable(array, scheduler);\n }\n\n static of<T>(item1: T, scheduler?: IScheduler): Observable<T>;\n static of<T>(item1: T, item2: T, scheduler?: IScheduler): Observable<T>;\n static of<T>(item1: T, item2: T, item3: T, scheduler?: IScheduler): Observable<T>;\n static of<T>(item1: T, item2: T, item3: T, item4: T, scheduler?: IScheduler): Observable<T>;\n static of<T>(item1: T, item2: T, item3: T, item4: T, item5: T, scheduler?: IScheduler): Observable<T>;\n static of<T>(item1: T, item2: T, item3: T, item4: T, item5: T, item6: T, scheduler?: IScheduler): Observable<T>;\n static of<T>(...array: Array<T | IScheduler>): Observable<T>;\n /**\n * Creates an Observable that emits some values you specify as arguments,\n * immediately one after the other, and then emits a complete notification.\n *\n * <span class=\"informal\">Emits the arguments you provide, then completes.\n * </span>\n *\n * <img src=\"./img/of.png\" width=\"100%\">\n *\n * This static operator is useful for creating a simple Observable that only\n * emits the arguments given, and the complete notification thereafter. It can\n * be used for composing with other Observables, such as with {@link concat}.\n * By default, it uses a `null` IScheduler, which means the `next`\n * notifications are sent synchronously, although with a different IScheduler\n * it is possible to determine when those notifications will be delivered.\n *\n * @example <caption>Emit 10, 20, 30, then 'a', 'b', 'c', then start ticking every second.</caption>\n * var numbers = Rx.Observable.of(10, 20, 30);\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var interval = Rx.Observable.interval(1000);\n * var result = numbers.concat(letters).concat(interval);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link create}\n * @see {@link empty}\n * @see {@link never}\n * @see {@link throw}\n *\n * @param {...T} values Arguments that represent `next` values to be emitted.\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emissions of the `next` notifications.\n * @return {Observable<T>} An Observable that emits each given input value.\n * @static true\n * @name of\n * @owner Observable\n */\n static of<T>(...array: Array<T | IScheduler>): Observable<T> {\n let scheduler = <IScheduler>array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n } else {\n scheduler = null;\n }\n\n const len = array.length;\n if (len > 1) {\n return new ArrayObservable<T>(<any>array, scheduler);\n } else if (len === 1) {\n return new ScalarObservable<T>(<any>array[0], scheduler);\n } else {\n return new EmptyObservable<T>(scheduler);\n }\n }\n\n static dispatch(state: any) {\n\n const { array, index, count, subscriber } = state;\n\n if (index >= count) {\n subscriber.complete();\n return;\n }\n\n subscriber.next(array[index]);\n\n if (subscriber.closed) {\n return;\n }\n\n state.index = index + 1;\n\n (<any> this).schedule(state);\n }\n\n // value used if Array has one value and _isScalar\n value: any;\n\n constructor(private array: T[], private scheduler?: IScheduler) {\n super();\n if (!scheduler && array.length === 1) {\n this._isScalar = true;\n this.value = array[0];\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): TeardownLogic {\n let index = 0;\n const array = this.array;\n const count = array.length;\n const scheduler = this.scheduler;\n\n if (scheduler) {\n return scheduler.schedule(ArrayObservable.dispatch, 0, {\n array, index, count, subscriber\n });\n } else {\n for (let i = 0; i < count && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n }\n }\n}\n","import { IScheduler } from '../Scheduler';\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { TeardownLogic } from '../Subscription';\n\nexport interface DispatchArg<T> {\n subscriber: Subscriber<T>;\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class EmptyObservable<T> extends Observable<T> {\n\n /**\n * Creates an Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * <span class=\"informal\">Just emits 'complete', and nothing else.\n * </span>\n *\n * <img src=\"./img/empty.png\" width=\"100%\">\n *\n * This static operator is useful for creating a simple Observable that only\n * emits the complete notification. It can be used for composing with other\n * Observables, such as in a {@link mergeMap}.\n *\n * @example <caption>Emit the number 7, then complete.</caption>\n * var result = Rx.Observable.empty().startWith(7);\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Map and flatten only odd numbers to the sequence 'a', 'b', 'c'</caption>\n * var interval = Rx.Observable.interval(1000);\n * var result = interval.mergeMap(x =>\n * x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty()\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval eg(0,1,2,3,...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1 print abc\n * // if x % 2 is not equal to 1 nothing will be output\n *\n * @see {@link create}\n * @see {@link never}\n * @see {@link of}\n * @see {@link throw}\n *\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emission of the complete notification.\n * @return {Observable} An \"empty\" Observable: emits only the complete\n * notification.\n * @static true\n * @name empty\n * @owner Observable\n */\n static create<T>(scheduler?: IScheduler): Observable<T> {\n return new EmptyObservable<T>(scheduler);\n }\n\n static dispatch<T>(arg: DispatchArg<T>) {\n const { subscriber } = arg;\n subscriber.complete();\n }\n\n constructor(private scheduler?: IScheduler) {\n super();\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): TeardownLogic {\n\n const scheduler = this.scheduler;\n\n if (scheduler) {\n return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber });\n } else {\n subscriber.complete();\n }\n }\n}\n","const SEND_FILES = 'WEB_CHAT/SEND_FILES';\n\nexport default function sendFiles(files) {\n return {\n type: SEND_FILES,\n payload: { files }\n };\n}\n\nexport { SEND_FILES };\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const IDLE = 0;\nconst WILL_START = 1;\nconst STARTING = 2;\nconst DICTATING = 3;\nconst STOPPING = 4;\n\nexport { DICTATING, IDLE, STARTING, STOPPING, WILL_START };\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","const RECONNECT = 'DIRECT_LINE/RECONNECT';\nconst RECONNECT_FULFILLED = `${RECONNECT}_FULFILLED`;\nconst RECONNECT_FULFILLING = `${RECONNECT}_FULFILLING`;\nconst RECONNECT_PENDING = `${RECONNECT}_PENDING`;\nconst RECONNECT_REJECTED = `${RECONNECT}_REJECTED`;\n\nexport { RECONNECT, RECONNECT_FULFILLED, RECONNECT_FULFILLING, RECONNECT_PENDING, RECONNECT_REJECTED };\n","const SET_DICTATE_STATE = 'WEB_CHAT/SET_DICTATE_STATE';\n\nexport default function setDictateState(dictateState) {\n return {\n type: SET_DICTATE_STATE,\n payload: { dictateState }\n };\n}\n\nexport { SET_DICTATE_STATE };\n","const STOP_SPEAKING_ACTIVITY = 'WEB_CHAT/STOP_SPEAKING';\n\nexport default function stopSpeakingActivity() {\n return {\n type: STOP_SPEAKING_ACTIVITY\n };\n}\n\nexport { STOP_SPEAKING_ACTIVITY };\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","module.exports = {};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nexport default function sleep(interval: number, ponyfill: GlobalScopePonyfill): Promise<void> {\n return new Promise(resolve => ponyfill.setTimeout(resolve, Math.max(interval, 0)));\n}\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nimport { useSelector } from './internal/WebChatReduxContext';\n\nexport default function useActivities(): [WebChatActivity[]] {\n return [useSelector(({ activities }) => activities)];\n}\n","import useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useLocalizedGlobalize() {\n return useWebChatAPIContext().localizedGlobalizeState;\n}\n","import { useCallback, useMemo } from 'react';\n\nimport createCustomEvent from '../utils/createCustomEvent';\nimport isObject from '../utils/isObject';\nimport useReadTelemetryDimensions from './internal/useReadTelemetryDimensions';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nfunction isNonNegativeFiniteNumberOrString(value) {\n return (typeof value === 'number' && isFinite(value) && value >= 0) || typeof value === 'string';\n}\n\ntype TrackEventFunction = {\n (name: string, data: any): void;\n debug: (name: string, data: any) => void;\n error: (name: string, data: any) => void;\n info: (name: string, data: any) => void;\n warn: (name: string, data: any) => void;\n};\n\nexport default function useTrackEvent(): TrackEventFunction {\n const { onTelemetry } = useWebChatAPIContext();\n const readTelemetryDimensions = useReadTelemetryDimensions();\n\n const trackEvent = useCallback(\n (level, name, data) => {\n if (!name || typeof name !== 'string') {\n return console.warn('botframework-webchat: \"name\" passed to \"useTrackEvent\" hook must be a string.');\n }\n\n if (typeof data !== 'undefined') {\n if (isObject(data)) {\n if (!Object.values(data).every(value => isNonNegativeFiniteNumberOrString(value))) {\n return console.warn(\n 'botframework-webchat: Every value in \"data\" map passed to \"useTrackEvent\" hook must be a non-negative finite number or string.'\n );\n }\n } else if (!isNonNegativeFiniteNumberOrString(data)) {\n return console.warn(\n 'botframework-webchat: \"data\" passed to \"useTrackEvent\" hook must be a non-negative finite number or string.'\n );\n }\n }\n\n onTelemetry &&\n onTelemetry(createCustomEvent('event', { data, dimensions: readTelemetryDimensions(), level, name }));\n },\n [onTelemetry, readTelemetryDimensions]\n );\n\n return useMemo(() => {\n const info: TrackEventFunction = trackEvent.bind(null, 'info');\n\n info.debug = trackEvent.bind(null, 'debug');\n info.error = trackEvent.bind(null, 'error');\n info.info = info;\n info.warn = trackEvent.bind(null, 'warn');\n\n return info;\n }, [trackEvent]);\n}\n","import { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nexport default function createCustomEvent<T>(\n name: string,\n eventInitDict: T\n): {\n type: string;\n} & T {\n let event: Event;\n\n if (typeof CustomEvent === 'function') {\n event = new CustomEvent(name);\n } else {\n event = document.createEvent('Event');\n\n event.initEvent(name, true, true);\n }\n\n Object.entries(eventInitDict).forEach(([key, value]) => {\n if (!isForbiddenPropertyName(key)) {\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n event[key] = value;\n }\n });\n\n return event as any;\n}\n","/**\n * Globalize Runtime v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize Runtime v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t\"use strict\";\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"../globalize-runtime\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"../globalize-runtime\" ) );\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Globalize );\n\t}\n}(this, function( Globalize ) {\n\n\n\nvar createError = Globalize._createError,\n\tpartsJoin = Globalize._partsJoin,\n\tpartsPush = Globalize._partsPush,\n\tregexpEscape = Globalize._regexpEscape,\n\truntimeKey = Globalize._runtimeKey,\n\tstringPad = Globalize._stringPad,\n\tvalidateParameterType = Globalize._validateParameterType,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterTypeString = Globalize._validateParameterTypeString;\n\n\nvar createErrorUnsupportedFeature = function( feature ) {\n\treturn createError( \"E_UNSUPPORTED\", \"Unsupported {feature}.\", {\n\t\tfeature: feature\n\t});\n};\n\n\n\n\nvar validateParameterTypeNumber = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"number\",\n\t\t\"Number\"\n\t);\n};\n\n\n\n\n/**\n * EBNF representation:\n *\n * compact_pattern_re = prefix?\n * number_pattern_re\n * suffix?\n *\n * number_pattern_re = 0+\n *\n * Regexp groups:\n *\n * 0: compact_pattern_re\n * 1: prefix\n * 2: number_pattern_re (the number pattern to use in compact mode)\n * 3: suffix\n */\nvar numberCompactPatternRe = ( /^([^0]*)(0+)([^0]*)$/ );\n\n\n\n\n/**\n * goupingSeparator( number, primaryGroupingSize, secondaryGroupingSize )\n *\n * @number [Number].\n *\n * @primaryGroupingSize [Number]\n *\n * @secondaryGroupingSize [Number]\n *\n * Return the formatted number with group separator.\n */\nvar numberFormatGroupingSeparator = function( number, primaryGroupingSize, secondaryGroupingSize ) {\n\tvar index,\n\t\tcurrentGroupingSize = primaryGroupingSize,\n\t\tret = \"\",\n\t\tsep = \",\",\n\t\tswitchToSecondary = secondaryGroupingSize ? true : false;\n\n\tnumber = String( number ).split( \".\" );\n\tindex = number[ 0 ].length;\n\n\twhile ( index > currentGroupingSize ) {\n\t\tret = number[ 0 ].slice( index - currentGroupingSize, index ) +\n\t\t\t( ret.length ? sep : \"\" ) + ret;\n\t\tindex -= currentGroupingSize;\n\t\tif ( switchToSecondary ) {\n\t\t\tcurrentGroupingSize = secondaryGroupingSize;\n\t\t\tswitchToSecondary = false;\n\t\t}\n\t}\n\n\tnumber[ 0 ] = number[ 0 ].slice( 0, index ) + ( ret.length ? sep : \"\" ) + ret;\n\treturn number.join( \".\" );\n};\n\n\n\n\n/**\n * integerFractionDigits( number, minimumIntegerDigits, minimumFractionDigits,\n * maximumFractionDigits, round, roundIncrement )\n *\n * @number [Number]\n *\n * @minimumIntegerDigits [Number]\n *\n * @minimumFractionDigits [Number]\n *\n * @maximumFractionDigits [Number]\n *\n * @round [Function]\n *\n * @roundIncrement [Function]\n *\n * Return the formatted integer and fraction digits.\n */\nvar numberFormatIntegerFractionDigits = function( number, minimumIntegerDigits, minimumFractionDigits, maximumFractionDigits, round,\n\troundIncrement ) {\n\n\t// Fraction\n\tif ( maximumFractionDigits ) {\n\n\t\t// Rounding\n\t\tif ( roundIncrement ) {\n\t\t\tnumber = round( number, roundIncrement );\n\n\t\t// Maximum fraction digits\n\t\t} else {\n\t\t\tnumber = round( number, { exponent: -maximumFractionDigits } );\n\t\t}\n\n\t} else {\n\t\tnumber = round( number );\n\t}\n\n\tnumber = String( number );\n\n\t// Maximum integer digits (post string phase)\n\tif ( maximumFractionDigits && /e-/.test( number ) ) {\n\n\t\t// Use toFixed( maximumFractionDigits ) to make sure small numbers like 1e-7 are\n\t\t// displayed using plain digits instead of scientific notation.\n\t\t// 1: Remove leading decimal zeros.\n\t\t// 2: Remove leading decimal separator.\n\t\t// Note: String() is still preferred so it doesn't mess up with a number precision\n\t\t// unnecessarily, e.g., (123456789.123).toFixed(10) === \"123456789.1229999959\",\n\t\t// String(123456789.123) === \"123456789.123\".\n\t\tnumber = ( +number ).toFixed( maximumFractionDigits )\n\t\t\t.replace( /0+$/, \"\" ) /* 1 */\n\t\t\t.replace( /\\.$/, \"\" ); /* 2 */\n\t}\n\n\t// Minimum fraction digits (post string phase)\n\tif ( minimumFractionDigits ) {\n\t\tnumber = number.split( \".\" );\n\t\tnumber[ 1 ] = stringPad( number[ 1 ] || \"\", minimumFractionDigits, true );\n\t\tnumber = number.join( \".\" );\n\t}\n\n\t// Minimum integer digits\n\tif ( minimumIntegerDigits ) {\n\t\tnumber = number.split( \".\" );\n\t\tnumber[ 0 ] = stringPad( number[ 0 ], minimumIntegerDigits );\n\t\tnumber = number.join( \".\" );\n\t}\n\n\treturn number;\n};\n\n\n\n\n/**\n * toPrecision( number, precision, round )\n *\n * @number (Number)\n *\n * @precision (Number) significant figures precision (not decimal precision).\n *\n * @round (Function)\n *\n * Return number.toPrecision( precision ) using the given round function.\n */\nvar numberToPrecision = function( number, precision, round ) {\n\tvar roundOrder;\n\n\tif ( number === 0 ) { // Fix #706\n\t\treturn number;\n\t}\n\n\troundOrder = Math.ceil( Math.log( Math.abs( number ) ) / Math.log( 10 ) );\n\troundOrder -= precision;\n\n\treturn round( number, { exponent: roundOrder } );\n};\n\n\n\n\n/**\n * toPrecision( number, minimumSignificantDigits, maximumSignificantDigits, round )\n *\n * @number [Number]\n *\n * @minimumSignificantDigits [Number]\n *\n * @maximumSignificantDigits [Number]\n *\n * @round [Function]\n *\n * Return the formatted significant digits number.\n */\nvar numberFormatSignificantDigits = function( number, minimumSignificantDigits, maximumSignificantDigits, round ) {\n\tvar atMinimum, atMaximum;\n\n\t// Sanity check.\n\tif ( minimumSignificantDigits > maximumSignificantDigits ) {\n\t\tmaximumSignificantDigits = minimumSignificantDigits;\n\t}\n\n\tatMinimum = numberToPrecision( number, minimumSignificantDigits, round );\n\tatMaximum = numberToPrecision( number, maximumSignificantDigits, round );\n\n\t// Use atMaximum only if it has more significant digits than atMinimum.\n\tnumber = +atMinimum === +atMaximum ? atMinimum : atMaximum;\n\n\t// Expand integer numbers, eg. 123e5 to 12300.\n\tnumber = ( +number ).toString( 10 );\n\n\tif ( ( /e/ ).test( number ) ) {\n\t\tthrow createErrorUnsupportedFeature({\n\t\t\tfeature: \"integers out of (1e21, 1e-7)\"\n\t\t});\n\t}\n\n\t// Add trailing zeros if necessary.\n\tif ( minimumSignificantDigits - number.replace( /^0+|\\./g, \"\" ).length > 0 ) {\n\t\tnumber = number.split( \".\" );\n\t\tnumber[ 1 ] = stringPad( number[ 1 ] || \"\", minimumSignificantDigits - number[ 0 ].replace( /^0+/, \"\" ).length, true );\n\t\tnumber = number.join( \".\" );\n\t}\n\n\treturn number;\n};\n\n\n\n\nvar numberSymbolName = {\n\t\".\": \"decimal\",\n\t\",\": \"group\",\n\t\"%\": \"percentSign\",\n\t\"+\": \"plusSign\",\n\t\"-\": \"minusSign\",\n\t\"E\": \"exponential\",\n\t\"\\u2030\": \"perMille\"\n};\n\n\n\n\n/**\n * removeLiteralQuotes( string )\n *\n * Return:\n * - `'` if input string is `''`.\n * - `o'clock` if input string is `'o''clock'`.\n * - `foo` if input string is `foo`, i.e., return the same value in case it isn't a single-quoted\n * string.\n */\nvar removeLiteralQuotes = function( string ) {\n\tif ( string[ 0 ] + string[ string.length - 1 ] !== \"''\" ) {\n\t\treturn string;\n\t}\n\tif ( string === \"''\" ) {\n\t\treturn \"'\";\n\t}\n\treturn string.replace( /''/g, \"'\" ).slice( 1, -1 );\n};\n\n\n\n\n/**\n * format( number, properties )\n *\n * @number [Number].\n *\n * @properties [Object] Output of number/format-properties.\n *\n * Return the formatted number.\n * ref: http://www.unicode.org/reports/tr35/tr35-numbers.html\n */\nvar numberFormat = function( number, properties, pluralGenerator ) {\n\tvar aux, compactMap, infinitySymbol, maximumFractionDigits, maximumSignificantDigits,\n\t\tminimumFractionDigits, minimumIntegerDigits, minimumSignificantDigits, nanSymbol,\n\t\tnuDigitsMap, prefix, primaryGroupingSize, pattern, round, roundIncrement,\n\t\tsecondaryGroupingSize, stringToParts, suffix, symbolMap;\n\n\tminimumIntegerDigits = properties[ 2 ];\n\tminimumFractionDigits = properties[ 3 ];\n\tmaximumFractionDigits = properties[ 4 ];\n\tminimumSignificantDigits = properties[ 5 ];\n\tmaximumSignificantDigits = properties[ 6 ];\n\troundIncrement = properties[ 7 ];\n\tprimaryGroupingSize = properties[ 8 ];\n\tsecondaryGroupingSize = properties[ 9 ];\n\tround = properties[ 15 ];\n\tinfinitySymbol = properties[ 16 ];\n\tnanSymbol = properties[ 17 ];\n\tsymbolMap = properties[ 18 ];\n\tnuDigitsMap = properties[ 19 ];\n\tcompactMap = properties[ 20 ];\n\n\t// NaN\n\tif ( isNaN( number ) ) {\n\t\treturn [ { type: \"nan\", value: nanSymbol } ];\n\t}\n\n\tif ( number < 0 ) {\n\t\tpattern = properties[ 12 ];\n\t\tprefix = properties[ 13 ];\n\t\tsuffix = properties[ 14 ];\n\t} else {\n\t\tpattern = properties[ 11 ];\n\t\tprefix = properties[ 0 ];\n\t\tsuffix = properties[ 10 ];\n\t}\n\n\t// For prefix, suffix, and number parts.\n\tstringToParts = function( string ) {\n\t\tvar numberType = \"integer\",\n\t\t\tparts = [];\n\n\t\t// TODO Move the tokenization of all parts that don't depend on number into\n\t\t// format-properties.\n\t\tstring.replace( /('([^']|'')+'|'')|./g, function( character, literal ) {\n\n\t\t\t// Literals\n\t\t\tif ( literal ) {\n\t\t\t\tpartsPush( parts, \"literal\", removeLiteralQuotes( literal ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Currency symbol\n\t\t\tif ( character === \"\\u00A4\" ) {\n\t\t\t\tpartsPush( parts, \"currency\", character );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Symbols\n\t\t\tcharacter = character.replace( /[.,\\-+E%\\u2030]/, function( symbol ) {\n\t\t\t\tif ( symbol === \".\" ) {\n\t\t\t\t\tnumberType = \"fraction\";\n\t\t\t\t}\n\t\t\t\tpartsPush( parts, numberSymbolName[ symbol ], symbolMap[ symbol ] );\n\n\t\t\t\t// \"Erase\" handled character.\n\t\t\t\treturn \"\";\n\t\t\t});\n\n\t\t\t// Number\n\t\t\tcharacter = character.replace( /[0-9]/, function( digit ) {\n\n\t\t\t\t// Numbering system\n\t\t\t\tif ( nuDigitsMap ) {\n\t\t\t\t\tdigit = nuDigitsMap[ +digit ];\n\t\t\t\t}\n\t\t\t\tpartsPush( parts, numberType, digit );\n\n\t\t\t\t// \"Erase\" handled character.\n\t\t\t\treturn \"\";\n\t\t\t});\n\n\t\t\t// Etc\n\t\t\tcharacter.replace( /./, function( etc ) {\n\t\t\t\tpartsPush( parts, \"literal\", etc );\n\t\t\t});\n\t\t});\n\t\treturn parts;\n\t};\n\n\tprefix = stringToParts( prefix );\n\tsuffix = stringToParts( suffix );\n\n\t// Infinity\n\tif ( !isFinite( number ) ) {\n\t\treturn prefix.concat(\n\t\t\t{ type: \"infinity\", value: infinitySymbol },\n\t\t\tsuffix\n\t\t);\n\t}\n\n\t// Percent\n\tif ( pattern.indexOf( \"%\" ) !== -1 ) {\n\t\tnumber *= 100;\n\n\t// Per mille\n\t} else if ( pattern.indexOf( \"\\u2030\" ) !== -1 ) {\n\t\tnumber *= 1000;\n\t}\n\n\tvar compactPattern, compactDigits, compactProperties, divisor, numberExponent, pluralForm;\n\n\t// Compact mode: initial number digit processing\n\tif ( compactMap ) {\n\t\tnumberExponent = Math.abs( Math.floor( number ) ).toString().length - 1;\n\t\tnumberExponent = Math.min( numberExponent, compactMap.maxExponent );\n\n\t\t// Use default plural form to perform initial decimal shift\n\t\tif ( numberExponent >= 3 ) {\n\t\t\tcompactPattern = compactMap[ numberExponent ] && compactMap[ numberExponent ].other;\n\t\t}\n\n\t\tif ( compactPattern === \"0\" ) {\n\t\t\tcompactPattern = null;\n\t\t} else if ( compactPattern ) {\n\t\t\tcompactDigits = compactPattern.split( \"0\" ).length - 1;\n\t\t\tdivisor = numberExponent - ( compactDigits - 1 );\n\t\t\tnumber = number / Math.pow( 10, divisor );\n\t\t}\n\t}\n\n\t// Significant digit format\n\tif ( !isNaN( minimumSignificantDigits * maximumSignificantDigits ) ) {\n\t\tnumber = numberFormatSignificantDigits( number, minimumSignificantDigits,\n\t\t\tmaximumSignificantDigits, round );\n\n\t// Integer and fractional format\n\t} else {\n\t\tnumber = numberFormatIntegerFractionDigits( number, minimumIntegerDigits,\n\t\t\tminimumFractionDigits, maximumFractionDigits, round, roundIncrement );\n\t}\n\n\t// Compact mode: apply formatting\n\tif ( compactMap && compactPattern ) {\n\n\t\t// Get plural form after possible roundings\n\t\tpluralForm = pluralGenerator ? pluralGenerator( +number ) : \"other\";\n\n\t\tcompactPattern = compactMap[ numberExponent ][ pluralForm ] || compactPattern;\n\t\tcompactProperties = compactPattern.match( numberCompactPatternRe );\n\n\t\t// TODO Move the tokenization of all parts that don't depend on number into\n\t\t// format-properties.\n\t\taux = function( string ) {\n\t\t\tvar parts = [];\n\t\t\tstring.replace( /(\\s+)|([^\\s0]+)/g, function( _garbage, space, compact ) {\n\n\t\t\t\t// Literals\n\t\t\t\tif ( space ) {\n\t\t\t\t\tpartsPush( parts, \"literal\", space );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Compact value\n\t\t\t\tif ( compact ) {\n\t\t\t\t\tpartsPush( parts, \"compact\", compact );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn parts;\n\t\t};\n\n\t\t// update prefix/suffix with compact prefix/suffix\n\t\tprefix = prefix.concat( aux( compactProperties[ 1 ] ) );\n\t\tsuffix = aux( compactProperties[ 3 ] ).concat( suffix );\n\t}\n\n\t// Remove the possible number minus sign\n\tnumber = number.replace( /^-/, \"\" );\n\n\t// Grouping separators\n\tif ( primaryGroupingSize ) {\n\t\tnumber = numberFormatGroupingSeparator( number, primaryGroupingSize,\n\t\t\tsecondaryGroupingSize );\n\t}\n\n\t// Scientific notation\n\t// TODO implement here\n\n\t// Padding/'([^']|'')+'|''|[.,\\-+E%\\u2030]/g\n\t// TODO implement here\n\n\treturn prefix.concat(\n\t\tstringToParts( number ),\n\t\tsuffix\n\t);\n};\n\n\n\n\nvar numberFormatterFn = function( numberToPartsFormatter ) {\n\treturn function numberFormatter( value ) {\n\t\treturn partsJoin( numberToPartsFormatter( value ));\n\t};\n};\n\n\n\n\n/**\n * Generated by:\n *\n * var regenerate = require( \"regenerate\" );\n * var formatSymbols = require( \"@unicode/unicode-13.0.0/General_Category/Format/symbols\" );\n * regenerate().add( formatSymbols ).toString();\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n */\nvar regexpCfG = /[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD80D[\\uDC30-\\uDC38]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/g;\n\n\n\n\n/**\n * Generated by:\n *\n * var regenerate = require( \"regenerate\" );\n * var dashSymbols = require( \"https://github.com/node-unicode/unicode-13.0.0/General_Category/Dash_Punctuation/symbols\" );\n * regenerate().add( dashSymbols ).toString();\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n *\n * NOTE: In addition to [:dash:], the below includes MINUS SIGN U+2212.\n */\nvar regexpDashG = /[\\x2D\\u058A\\u05BE\\u1400\\u1806\\u2010-\\u2015\\u2E17\\u2E1A\\u2E3A\\u2E3B\\u2E40\\u301C\\u3030\\u30A0\\uFE31\\uFE32\\uFE58\\uFE63\\uFF0D\\u2212]|\\uD803\\uDEAD/g;\n\n\n\n\n/**\n * Generated by:\n *\n * var regenerate = require( \"regenerate\" );\n * var spaceSeparatorSymbols = require( \"@unicode/unicode-13.0.0/General_Category/Space_Separator/symbols\" );\n * regenerate().add( spaceSeparatorSymbols ).toString();\n *\n * https://github.com/mathiasbynens/regenerate\n * https://github.com/node-unicode/unicode-13.0.0\n */\nvar regexpZsG = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/g;\n\n\n\n\n/**\n * Loose Matching:\n * - Ignore all format characters, which includes RLM, LRM or ALM used to control BIDI\n * formatting.\n * - Map all characters in [:Zs:] to U+0020 SPACE;\n * - Map all characters in [:Dash:] to U+002D HYPHEN-MINUS;\n */\nvar looseMatching = function( value ) {\n\treturn value\n\t\t.replace( regexpCfG, \"\" )\n\t\t.replace( regexpDashG, \"-\" )\n\t\t.replace( regexpZsG, \" \" );\n};\n\n\n\n\n/**\n * parse( value, properties )\n *\n * @value [String].\n *\n * @properties [Object] Parser properties is a reduced pre-processed cldr\n * data set returned by numberParserProperties().\n *\n * Return the parsed Number (including Infinity) or NaN when value is invalid.\n * ref: http://www.unicode.org/reports/tr35/tr35-numbers.html\n */\nvar numberParse = function( value, properties ) {\n\tvar grammar, invertedNuDigitsMap, invertedSymbolMap, negative, number, prefix, prefixNSuffix,\n\t\tsuffix, tokenizer, valid;\n\n\t// Grammar:\n\t// - Value <= NaN | PositiveNumber | NegativeNumber\n\t// - PositiveNumber <= PositivePrefix NumberOrInf PositiveSufix\n\t// - NegativeNumber <= NegativePrefix NumberOrInf\n\t// - NumberOrInf <= Number | Inf\n\tgrammar = [\n\t\t[ \"nan\" ],\n\t\t[ \"prefix\", \"infinity\", \"suffix\" ],\n\t\t[ \"prefix\", \"number\", \"suffix\" ],\n\t\t[ \"negativePrefix\", \"infinity\", \"negativeSuffix\" ],\n\t\t[ \"negativePrefix\", \"number\", \"negativeSuffix\" ]\n\t];\n\n\tinvertedSymbolMap = properties[ 0 ];\n\tinvertedNuDigitsMap = properties[ 1 ] || {};\n\ttokenizer = properties[ 2 ];\n\n\tvalue = looseMatching( value );\n\n\tfunction parse( type ) {\n\t\treturn function( lexeme ) {\n\n\t\t\t// Reverse localized symbols and numbering system.\n\t\t\tlexeme = lexeme.split( \"\" ).map(function( character ) {\n\t\t\t\treturn invertedSymbolMap[ character ] ||\n\t\t\t\t\tinvertedNuDigitsMap[ character ] ||\n\t\t\t\t\tcharacter;\n\t\t\t}).join( \"\" );\n\n\t\t\tswitch ( type ) {\n\t\t\t\tcase \"infinity\":\n\t\t\t\t\tnumber = Infinity;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"nan\":\n\t\t\t\t\tnumber = NaN;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"number\":\n\n\t\t\t\t\t// Remove grouping separators.\n\t\t\t\t\tlexeme = lexeme.replace( /,/g, \"\" );\n\n\t\t\t\t\tnumber = +lexeme;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"prefix\":\n\t\t\t\tcase \"negativePrefix\":\n\t\t\t\t\tprefix = lexeme;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"suffix\":\n\t\t\t\t\tsuffix = lexeme;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"negativeSuffix\":\n\t\t\t\t\tsuffix = lexeme;\n\t\t\t\t\tnegative = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\t// This should never be reached.\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( \"Internal error\" );\n\t\t\t}\n\t\t\treturn \"\";\n\t\t};\n\t}\n\n\tfunction tokenizeNParse( _value, grammar ) {\n\t\treturn grammar.some(function( statement ) {\n\t\t\tvar value = _value;\n\n\t\t\t// The whole grammar statement should be used (i.e., .every() return true) and value be\n\t\t\t// entirely consumed (i.e., !value.length).\n\t\t\treturn statement.every(function( type ) {\n\t\t\t\tif ( value.match( tokenizer[ type ] ) === null ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Consume and parse it.\n\t\t\t\tvalue = value.replace( tokenizer[ type ], parse( type ) );\n\t\t\t\treturn true;\n\t\t\t}) && !value.length;\n\t\t});\n\t}\n\n\tvalid = tokenizeNParse( value, grammar );\n\n\t// NaN\n\tif ( !valid || isNaN( number ) ) {\n\t\treturn NaN;\n\t}\n\n\tprefixNSuffix = \"\" + prefix + suffix;\n\n\t// Percent\n\tif ( prefixNSuffix.indexOf( \"%\" ) !== -1 ) {\n\t\tnumber /= 100;\n\n\t// Per mille\n\t} else if ( prefixNSuffix.indexOf( \"\\u2030\" ) !== -1 ) {\n\t\tnumber /= 1000;\n\t}\n\n\t// Negative number\n\tif ( negative ) {\n\t\tnumber *= -1;\n\t}\n\n\treturn number;\n};\n\n\n\n\nvar numberParserFn = function( properties ) {\n\treturn function numberParser( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeString( value, \"value\" );\n\n\t\treturn numberParse( value, properties );\n\t};\n\n};\n\n\n\n\nvar numberToPartsFormatterFn = function( properties, pluralGenerator ) {\n\treturn function numberToPartsFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn numberFormat( value, properties, pluralGenerator );\n\t};\n};\n\n\n\n\nvar numberTruncate = function( value ) {\n\tif ( isNaN( value ) ) {\n\t\treturn NaN;\n\t}\n\treturn Math[ value < 0 ? \"ceil\" : \"floor\" ]( value );\n};\n\n\n\n\n/**\n * round( method )\n *\n * @method [String] with either \"round\", \"ceil\", \"floor\", or \"truncate\".\n *\n * Return function( value, incrementOrExp ):\n *\n * @value [Number] eg. 123.45.\n *\n * @incrementOrExp [Number] optional, eg. 0.1; or\n * [Object] Either { increment: <value> } or { exponent: <value> }\n *\n * Return the rounded number, eg:\n * - round( \"round\" )( 123.45 ): 123;\n * - round( \"ceil\" )( 123.45 ): 124;\n * - round( \"floor\" )( 123.45 ): 123;\n * - round( \"truncate\" )( 123.45 ): 123;\n * - round( \"round\" )( 123.45, 0.1 ): 123.5;\n * - round( \"round\" )( 123.45, 10 ): 120;\n *\n * Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round\n * Ref: #376\n */\nvar numberRound = function( method ) {\n\tmethod = method || \"round\";\n\tmethod = method === \"truncate\" ? numberTruncate : Math[ method ];\n\n\treturn function( value, incrementOrExp ) {\n\t\tvar exp, increment;\n\n\t\tvalue = +value;\n\n\t\t// If the value is not a number, return NaN.\n\t\tif ( isNaN( value ) ) {\n\t\t\treturn NaN;\n\t\t}\n\n\t\t// Exponent given.\n\t\tif ( typeof incrementOrExp === \"object\" && incrementOrExp.exponent ) {\n\t\t\texp = +incrementOrExp.exponent;\n\t\t\tincrement = 1;\n\n\t\t\tif ( exp === 0 ) {\n\t\t\t\treturn method( value );\n\t\t\t}\n\n\t\t\t// If the exp is not an integer, return NaN.\n\t\t\tif ( !( typeof exp === \"number\" && exp % 1 === 0 ) ) {\n\t\t\t\treturn NaN;\n\t\t\t}\n\n\t\t// Increment given.\n\t\t} else {\n\t\t\tincrement = +incrementOrExp || 1;\n\n\t\t\tif ( increment === 1 ) {\n\t\t\t\treturn method( value );\n\t\t\t}\n\n\t\t\t// If the increment is not a number, return NaN.\n\t\t\tif ( isNaN( increment ) ) {\n\t\t\t\treturn NaN;\n\t\t\t}\n\n\t\t\tincrement = increment.toExponential().split( \"e\" );\n\t\t\texp = +increment[ 1 ];\n\t\t\tincrement = +increment[ 0 ];\n\t\t}\n\n\t\t// Shift & Round\n\t\tvalue = value.toString().split( \"e\" );\n\t\tvalue[ 0 ] = +value[ 0 ] / increment;\n\t\tvalue[ 1 ] = value[ 1 ] ? ( +value[ 1 ] - exp ) : -exp;\n\t\tvalue = method( +( value[ 0 ] + \"e\" + value[ 1 ] ) );\n\n\t\t// Shift back\n\t\tvalue = value.toString().split( \"e\" );\n\t\tvalue[ 0 ] = +value[ 0 ] * increment;\n\t\tvalue[ 1 ] = value[ 1 ] ? ( +value[ 1 ] + exp ) : exp;\n\t\treturn +( value[ 0 ] + \"e\" + value[ 1 ] );\n\t};\n};\n\n\n\n\nGlobalize._createErrorUnsupportedFeature = createErrorUnsupportedFeature;\nGlobalize._looseMatching = looseMatching;\nGlobalize._numberFormat = numberFormat;\nGlobalize._numberFormatterFn = numberFormatterFn;\nGlobalize._numberParse = numberParse;\nGlobalize._numberParserFn = numberParserFn;\nGlobalize._numberRound = numberRound;\nGlobalize._numberToPartsFormatterFn = numberToPartsFormatterFn;\nGlobalize._removeLiteralQuotes = removeLiteralQuotes;\nGlobalize._validateParameterPresence = validateParameterPresence;\nGlobalize._validateParameterTypeNumber = validateParameterTypeNumber;\nGlobalize._validateParameterTypeString = validateParameterTypeString;\n\n// Stamp runtimeKey and return cached fn.\n// Note, this function isn't made common to all formatters and parsers, because in practice this is\n// only used (at the moment) for numberFormatter used by unitFormatter.\n// TODO: Move this function into a common place when this is used by different formatters.\nfunction cached( runtimeKey ) {\n\tGlobalize[ runtimeKey ].runtimeKey = runtimeKey;\n\treturn Globalize[ runtimeKey ];\n}\n\nGlobalize.numberFormatter =\nGlobalize.prototype.numberFormatter = function( options ) {\n\toptions = options || {};\n\treturn cached( runtimeKey( \"numberFormatter\", this._locale, [ options ] ) );\n};\n\nGlobalize.numberToPartsFormatter =\nGlobalize.prototype.numberToPartsFormatter = function( options ) {\n\toptions = options || {};\n\treturn cached( runtimeKey( \"numberToPartsFormatter\", this._locale, [ options ] ) );\n};\n\nGlobalize.numberParser =\nGlobalize.prototype.numberParser = function( options ) {\n\toptions = options || {};\n\treturn Globalize[ runtimeKey( \"numberParser\", this._locale, [ options ] ) ];\n};\n\nGlobalize.formatNumber =\nGlobalize.prototype.formatNumber = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\n\treturn this.numberFormatter( options )( value );\n};\n\nGlobalize.formatNumberToParts =\nGlobalize.prototype.formatNumberToParts = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\n\treturn this.numberFormatter( options )( value );\n};\n\nGlobalize.parseNumber =\nGlobalize.prototype.parseNumber = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeString( value, \"value\" );\n\n\treturn this.numberParser( options )( value );\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import React from 'react';\n\nconst Context = React.createContext();\n\nexport default Context\n","import Say from './Say';\nimport SayButton from './SayButton';\n\nconst warnings = {\n ponyfill: true,\n saySpeak: true\n};\n\nexport default function migrateDeprecatedProps(\n {\n ponyfill,\n speak,\n speechSynthesis,\n speechSynthesisUtterance,\n text,\n ...otherProps\n },\n componentType\n) {\n if (\n !ponyfill\n && (speechSynthesis || speechSynthesisUtterance)\n ) {\n if (warnings.ponyfill) {\n console.warn('react-say: \"speechSynthesis\" and \"speechSynthesisUtterance\" props has been renamed to \"ponyfill\". Please update your code. The deprecated props will be removed in version >= 3.0.0.');\n\n warnings.ponyfill = false;\n }\n\n ponyfill = {\n speechSynthesis,\n SpeechSynthesisUtterance: speechSynthesisUtterance\n };\n }\n\n if (componentType === Say || componentType === SayButton) {\n if (speak && !text) {\n if (warnings.saySpeak) {\n console.warn('react-say: \"speak\" prop has been renamed to \"text\". Please update your code. The deprecated props will be removed in version >= 3.0.0.');\n\n warnings.saySpeak = false;\n }\n\n text = speak;\n }\n }\n\n return {\n ponyfill,\n text,\n ...otherProps\n };\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","module.exports = true;\n","module.exports = {};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = {};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","import { toByteArray } from 'base64-js';\r\n\r\nexport function parseQueryString(url) {\r\n if(!url) url = window.location.search;\r\n var query = url.startsWith(\"?\") ? url.substr(1) : url;\r\n var result: string[] = [];\r\n query.split(\"&\").forEach(function(part) {\r\n result.push(part);\r\n });\r\n return result;\r\n }\r\n\r\nexport function ensureHttpProtocol(urlString) {\r\n var pat = /^https?:\\/\\//i;\r\n if (!pat.test(urlString))\r\n {\r\n urlString = 'https://' + urlString;\r\n }\r\n\r\n return urlString;\r\n}\r\n\r\nexport function druidCreateBlob(BASE64: string, type: string) {\r\n return URL.createObjectURL(new Blob([toByteArray(BASE64)], { type: type }));\r\n}\r\nexport function druidCreateBlobUrl(BASE64: string, type: string) {\r\n return `url('${druidCreateBlob(BASE64, type)}')`;\r\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\nvar MobileDetect = require('mobile-detect');\nexport function mobileAndTabletcheck() {\n var check = new MobileDetect(window.navigator.userAgent);\n // old way: (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return !!check.mobile() || !!check.tablet() || window.innerWidth <= 767;\n };","// This list tracks which languages should display in Right-to-Left format by default\n// When a new language is added, be sure to update this list.\n\n// These values are intentionally hard-coded\n\n// Should the following language be displayed in RTL by default?\n// 'ar-EG' yes\n// 'ar-JO' yes\n// 'bg-BG'\n// 'cs-CZ'\n// 'da-DK'\n// 'de-DE'\n// 'el-GR'\n// 'en-US'\n// 'es-ES'\n// 'fi-FI'\n// 'fr-FR'\n// 'he-IL' yes\n// 'hu-HU'\n// 'it-IT'\n// 'ja-JP'\n// 'ko-KR'\n// 'lv-LV'\n// 'nb-NO'\n// 'nl-NL'\n// 'pl-PL'\n// 'pt-BR'\n// 'pt-PT'\n// 'ru-RU'\n// 'sv-SE'\n// 'tr-TR'\n// 'zh-HANS'\n// 'zh-HANT'\n// 'zh-YUE'\n\nexport default function getRTLList(): string[] {\n const rtlList = ['ar-EG', 'ar-JO', 'ar-SA', 'he-IL'];\n\n return rtlList;\n}\n","import { CANCEL } from '@redux-saga/symbols';\n\nvar MAX_SIGNED_INT = 2147483647;\nfunction delayP(ms, val) {\n if (val === void 0) {\n val = true;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value\n if (process.env.NODE_ENV !== 'production' && ms > MAX_SIGNED_INT) {\n throw new Error('delay only supports a maximum value of ' + MAX_SIGNED_INT + 'ms');\n }\n\n var timeoutId;\n var promise = new Promise(function (resolve) {\n timeoutId = setTimeout(resolve, Math.min(MAX_SIGNED_INT, ms), val);\n });\n\n promise[CANCEL] = function () {\n clearTimeout(timeoutId);\n };\n\n return promise;\n}\n\nexport default delayP;\n","const SUBMIT_SEND_BOX = 'WEB_CHAT/SUBMIT_SEND_BOX';\n\nexport default function submitSendBox(method = 'keyboard', { channelData } = {}) {\n return {\n type: SUBMIT_SEND_BOX,\n payload: { channelData, method }\n };\n}\n\nexport { SUBMIT_SEND_BOX };\n","import { normalizeStyleOptions } from 'botframework-webchat-api';\n\nimport FullBundleStyleOptions from '../../types/FullBundleStyleOptions';\nimport normalizeAdaptiveCardsStyleOptions from '../normalizeStyleOptions';\n\n// https://docs.microsoft.com/en-us/adaptive-cards/rendering-cards/host-config\n\nexport default function createAdaptiveCardsHostConfig(styleOptions: FullBundleStyleOptions) {\n const { accent, bubbleTextColor, cardEmphasisBackgroundColor, primaryFont, subtle } = {\n ...normalizeStyleOptions(styleOptions),\n ...normalizeAdaptiveCardsStyleOptions(styleOptions)\n };\n\n return {\n containerStyles: {\n default: {\n foregroundColors: {\n default: {\n default: bubbleTextColor,\n subtle\n },\n accent: {\n default: accent,\n subtle: '#0078D4'\n },\n attention: {\n default: '#D13438',\n subtle: '#A4262C'\n },\n dark: {\n default: '#000000',\n subtle: '#646464'\n },\n good: {\n default: '#0B6A0B',\n subtle: '#028A02'\n },\n light: {\n default: '#FFFFFF',\n subtle\n },\n warning: {\n default: '#B75C00',\n subtle: '#986F0B'\n }\n }\n },\n emphasis: {\n backgroundColor: cardEmphasisBackgroundColor,\n foregroundColors: {\n default: {\n default: '#000000',\n subtle: '#484644'\n }\n }\n },\n accent: {\n backgroundColor: '#C7DEF9',\n foregroundColors: {\n default: {\n default: '#333333',\n subtle: '#484644'\n }\n }\n },\n good: {\n backgroundColor: '#CCFFCC',\n foregroundColors: {\n default: {\n default: '#333333',\n subtle: '#484644'\n }\n }\n },\n attention: {\n backgroundColor: '#FFC5B2',\n foregroundColors: {\n default: {\n default: '#333333',\n subtle: '#484644'\n }\n }\n },\n warning: {\n backgroundColor: '#FFE2B2',\n foregroundColors: {\n default: {\n default: '#333333',\n subtle: '#484644'\n }\n }\n }\n },\n supportsInteractivity: true,\n fontFamily: primaryFont,\n imageSizes: {\n small: 40,\n medium: 80,\n large: 160\n },\n actions: {\n actionAlignment: 'stretch',\n actionsOrientation: 'vertical',\n buttonSpacing: 8,\n maxActions: 100,\n showCard: {\n actionMode: 'inline',\n inlineTopMargin: 8\n },\n spacing: 'default'\n },\n adaptiveCard: {\n allowCustomStyle: false\n },\n imageSet: {\n imageSize: 'medium',\n maxImageHeight: 100\n },\n factSet: {\n title: {\n color: 'default',\n size: 'default',\n isSubtle: false,\n weight: 'bolder',\n wrap: true,\n maxWidth: 150\n },\n value: {\n color: 'default',\n size: 'default',\n isSubtle: false,\n weight: 'default',\n wrap: true\n },\n spacing: 8\n },\n textBlock: {\n headingLevel: 1\n }\n };\n}\n","var _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js/object/define-property\");\nvar toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React, { createContext } from \"react\";\n\ntype SetAction = React.Dispatch<React.SetStateAction<HTMLDivElement | undefined>>;\ntype SetActionBoolean = React.Dispatch<React.SetStateAction<boolean | undefined>>;\n\nexport type DruidWebchatRefsContextType = { wcRootRef: HTMLDivElement | undefined, setWcRootRef: SetAction, headerRef: HTMLDivElement | undefined, setHeaderRef: SetAction, headerWasDragged: boolean | undefined, setHeaderWasDragged: SetActionBoolean };\n\nconst DruidWebchatRefsContext = createContext<DruidWebchatRefsContextType>(null!);\nDruidWebchatRefsContext.displayName = \"DruidWebchatRefsContext\";\n\n\nexport default DruidWebchatRefsContext;","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changedâ€. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","function deferred() {\n var def = {};\n def.promise = new Promise(function (resolve, reject) {\n def.resolve = resolve;\n def.reject = reject;\n });\n return def;\n}\nfunction arrayOfDeferred(length) {\n var arr = [];\n\n for (var i = 0; i < length; i++) {\n arr.push(deferred());\n }\n\n return arr;\n}\n\nexport default deferred;\nexport { arrayOfDeferred };\n","import { CHANNEL_END_TYPE, MULTICAST, MATCH, SAGA_ACTION, CANCEL, SELF_CANCELLATION, TERMINATE, TASK, TASK_CANCEL, IO } from '@redux-saga/symbols';\nexport { CANCEL, SAGA_LOCATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport { string as string$1, array as array$1, stringableFunc, func, symbol as symbol$1, buffer, notUndef, promise, iterator, undef, object, channel as channel$1 } from '@redux-saga/is';\nimport { k as kTrue, e as expanding, c as check, o as once, r as remove, n as none, i as internalErr, T as TAKE, P as PUT, A as ALL, R as RACE, C as CALL, a as CPS, F as FORK, J as JOIN, b as CANCEL$1, S as SELECT, d as ACTION_CHANNEL, f as CANCELLED$1, g as FLUSH, G as GET_CONTEXT, h as SET_CONTEXT, j as getMetaInfo, l as createAllStyleChildCallbacks, m as createEmptyArray, p as assignWithSymbols, q as makeIterator, s as shouldComplete, t as noop, u as flatMap, v as getLocation, w as createSetContextWarning, x as asyncIteratorSymbol, y as shouldCancel, z as shouldTerminate, B as logError, D as wrapSagaDispatch, E as identity } from './io-c3792963.js';\nexport { H as buffers, I as detach } from './io-c3792963.js';\nimport { compose } from 'redux';\nimport deferred from '@redux-saga/deferred';\nimport '@redux-saga/delay-p';\n\nvar queue = [];\n/**\n Variable to hold a counting semaphore\n - Incrementing adds a lock and puts the scheduler in a `suspended` state (if it's not\n already suspended)\n - Decrementing releases a lock. Zero locks puts the scheduler in a `released` state. This\n triggers flushing the queued tasks.\n**/\n\nvar semaphore = 0;\n/**\n Executes a task 'atomically'. Tasks scheduled during this execution will be queued\n and flushed after this task has finished (assuming the scheduler endup in a released\n state).\n**/\n\nfunction exec(task) {\n try {\n suspend();\n task();\n } finally {\n release();\n }\n}\n/**\n Executes or queues a task depending on the state of the scheduler (`suspended` or `released`)\n**/\n\n\nfunction asap(task) {\n queue.push(task);\n\n if (!semaphore) {\n suspend();\n flush();\n }\n}\n/**\n * Puts the scheduler in a `suspended` state and executes a task immediately.\n */\n\nfunction immediately(task) {\n try {\n suspend();\n return task();\n } finally {\n flush();\n }\n}\n/**\n Puts the scheduler in a `suspended` state. Scheduled tasks will be queued until the\n scheduler is released.\n**/\n\nfunction suspend() {\n semaphore++;\n}\n/**\n Puts the scheduler in a `released` state.\n**/\n\n\nfunction release() {\n semaphore--;\n}\n/**\n Releases the current lock. Executes all queued tasks if the scheduler is in the released state.\n**/\n\n\nfunction flush() {\n release();\n var task;\n\n while (!semaphore && (task = queue.shift()) !== undefined) {\n exec(task);\n }\n}\n\nvar array = function array(patterns) {\n return function (input) {\n return patterns.some(function (p) {\n return matcher(p)(input);\n });\n };\n};\nvar predicate = function predicate(_predicate) {\n return function (input) {\n return _predicate(input);\n };\n};\nvar string = function string(pattern) {\n return function (input) {\n return input.type === String(pattern);\n };\n};\nvar symbol = function symbol(pattern) {\n return function (input) {\n return input.type === pattern;\n };\n};\nvar wildcard = function wildcard() {\n return kTrue;\n};\nfunction matcher(pattern) {\n // prettier-ignore\n var matcherCreator = pattern === '*' ? wildcard : string$1(pattern) ? string : array$1(pattern) ? array : stringableFunc(pattern) ? string : func(pattern) ? predicate : symbol$1(pattern) ? symbol : null;\n\n if (matcherCreator === null) {\n throw new Error(\"invalid pattern: \" + pattern);\n }\n\n return matcherCreator(pattern);\n}\n\nvar END = {\n type: CHANNEL_END_TYPE\n};\nvar isEnd = function isEnd(a) {\n return a && a.type === CHANNEL_END_TYPE;\n};\nvar CLOSED_CHANNEL_WITH_TAKERS = 'Cannot have a closed channel with pending takers';\nvar INVALID_BUFFER = 'invalid buffer passed to channel factory function';\nvar UNDEFINED_INPUT_ERROR = \"Saga or channel was provided with an undefined action\\nHints:\\n - check that your Action Creator returns a non-undefined value\\n - if the Saga was started using runSaga, check that your subscribe source provides the action to its listeners\";\nfunction channel(buffer$1) {\n if (buffer$1 === void 0) {\n buffer$1 = expanding();\n }\n\n var closed = false;\n var takers = [];\n\n if (process.env.NODE_ENV !== 'production') {\n check(buffer$1, buffer, INVALID_BUFFER);\n }\n\n function checkForbiddenStates() {\n if (closed && takers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n\n if (takers.length && !buffer$1.isEmpty()) {\n throw internalErr('Cannot have pending takers with non empty buffer');\n }\n }\n\n function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (takers.length === 0) {\n return buffer$1.put(input);\n }\n\n var cb = takers.shift();\n cb(input);\n }\n\n function take(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.take's callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n } else if (!buffer$1.isEmpty()) {\n cb(buffer$1.take());\n } else {\n takers.push(cb);\n\n cb.cancel = function () {\n remove(takers, cb);\n };\n }\n }\n\n function flush(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.flush' callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n return;\n }\n\n cb(buffer$1.flush());\n }\n\n function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n return;\n }\n\n closed = true;\n var arr = takers;\n takers = [];\n\n for (var i = 0, len = arr.length; i < len; i++) {\n var taker = arr[i];\n taker(END);\n }\n }\n\n return {\n take: take,\n put: put,\n flush: flush,\n close: close\n };\n}\nfunction eventChannel(subscribe, buffer) {\n if (buffer === void 0) {\n buffer = none();\n }\n\n var closed = false;\n var unsubscribe;\n var chan = channel(buffer);\n\n var close = function close() {\n if (closed) {\n return;\n }\n\n closed = true;\n\n if (func(unsubscribe)) {\n unsubscribe();\n }\n\n chan.close();\n };\n\n unsubscribe = subscribe(function (input) {\n if (isEnd(input)) {\n close();\n return;\n }\n\n chan.put(input);\n });\n\n if (process.env.NODE_ENV !== 'production') {\n check(unsubscribe, func, 'in eventChannel: subscribe should return a function to unsubscribe');\n }\n\n unsubscribe = once(unsubscribe);\n\n if (closed) {\n unsubscribe();\n }\n\n return {\n take: chan.take,\n flush: chan.flush,\n close: close\n };\n}\nfunction multicastChannel() {\n var _ref;\n\n var closed = false;\n var currentTakers = [];\n var nextTakers = currentTakers;\n\n function checkForbiddenStates() {\n if (closed && nextTakers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n }\n\n var ensureCanMutateNextTakers = function ensureCanMutateNextTakers() {\n if (nextTakers !== currentTakers) {\n return;\n }\n\n nextTakers = currentTakers.slice();\n };\n\n var close = function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n closed = true;\n var takers = currentTakers = nextTakers;\n nextTakers = [];\n takers.forEach(function (taker) {\n taker(END);\n });\n };\n\n return _ref = {}, _ref[MULTICAST] = true, _ref.put = function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (isEnd(input)) {\n close();\n return;\n }\n\n var takers = currentTakers = nextTakers;\n\n for (var i = 0, len = takers.length; i < len; i++) {\n var taker = takers[i];\n\n if (taker[MATCH](input)) {\n taker.cancel();\n taker(input);\n }\n }\n }, _ref.take = function take(cb, matcher) {\n if (matcher === void 0) {\n matcher = wildcard;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n cb(END);\n return;\n }\n\n cb[MATCH] = matcher;\n ensureCanMutateNextTakers();\n nextTakers.push(cb);\n cb.cancel = once(function () {\n ensureCanMutateNextTakers();\n remove(nextTakers, cb);\n });\n }, _ref.close = close, _ref;\n}\nfunction stdChannel() {\n var chan = multicastChannel();\n var put = chan.put;\n\n chan.put = function (input) {\n if (input[SAGA_ACTION]) {\n put(input);\n return;\n }\n\n asap(function () {\n put(input);\n });\n };\n\n return chan;\n}\n\nvar RUNNING = 0;\nvar CANCELLED = 1;\nvar ABORTED = 2;\nvar DONE = 3;\n\nfunction resolvePromise(promise, cb) {\n var cancelPromise = promise[CANCEL];\n\n if (func(cancelPromise)) {\n cb.cancel = cancelPromise;\n }\n\n promise.then(cb, function (error) {\n cb(error, true);\n });\n}\n\nvar current = 0;\nvar nextSagaId = (function () {\n return ++current;\n});\n\nvar _effectRunnerMap;\n\nfunction getIteratorMetaInfo(iterator, fn) {\n if (iterator.isSagaIterator) {\n return {\n name: iterator.meta.name\n };\n }\n\n return getMetaInfo(fn);\n}\n\nfunction createTaskIterator(_ref) {\n var context = _ref.context,\n fn = _ref.fn,\n args = _ref.args;\n\n // catch synchronous failures; see #152 and #441\n try {\n var result = fn.apply(context, args); // i.e. a generator function returns an iterator\n\n if (iterator(result)) {\n return result;\n }\n\n var resolved = false;\n\n var next = function next(arg) {\n if (!resolved) {\n resolved = true; // Only promises returned from fork will be interpreted. See #1573\n\n return {\n value: result,\n done: !promise(result)\n };\n } else {\n return {\n value: arg,\n done: true\n };\n }\n };\n\n return makeIterator(next);\n } catch (err) {\n // do not bubble up synchronous failures for detached forks\n // instead create a failed task. See #152 and #441\n return makeIterator(function () {\n throw err;\n });\n }\n}\n\nfunction runPutEffect(env, _ref2, cb) {\n var channel = _ref2.channel,\n action = _ref2.action,\n resolve = _ref2.resolve;\n\n /**\n Schedule the put in case another saga is holding a lock.\n The put will be executed atomically. ie nested puts will execute after\n this put has terminated.\n **/\n asap(function () {\n var result;\n\n try {\n result = (channel ? channel.put : env.dispatch)(action);\n } catch (error) {\n cb(error, true);\n return;\n }\n\n if (resolve && promise(result)) {\n resolvePromise(result, cb);\n } else {\n cb(result);\n }\n }); // Put effects are non cancellables\n}\n\nfunction runTakeEffect(env, _ref3, cb) {\n var _ref3$channel = _ref3.channel,\n channel = _ref3$channel === void 0 ? env.channel : _ref3$channel,\n pattern = _ref3.pattern,\n maybe = _ref3.maybe;\n\n var takeCb = function takeCb(input) {\n if (input instanceof Error) {\n cb(input, true);\n return;\n }\n\n if (isEnd(input) && !maybe) {\n cb(TERMINATE);\n return;\n }\n\n cb(input);\n };\n\n try {\n channel.take(takeCb, notUndef(pattern) ? matcher(pattern) : null);\n } catch (err) {\n cb(err, true);\n return;\n }\n\n cb.cancel = takeCb.cancel;\n}\n\nfunction runCallEffect(env, _ref4, cb, _ref5) {\n var context = _ref4.context,\n fn = _ref4.fn,\n args = _ref4.args;\n var task = _ref5.task;\n\n // catch synchronous failures; see #152\n try {\n var result = fn.apply(context, args);\n\n if (promise(result)) {\n resolvePromise(result, cb);\n return;\n }\n\n if (iterator(result)) {\n // resolve iterator\n proc(env, result, task.context, current, getMetaInfo(fn),\n /* isRoot */\n false, cb);\n return;\n }\n\n cb(result);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runCPSEffect(env, _ref6, cb) {\n var context = _ref6.context,\n fn = _ref6.fn,\n args = _ref6.args;\n\n // CPS (ie node style functions) can define their own cancellation logic\n // by setting cancel field on the cb\n // catch synchronous failures; see #152\n try {\n var cpsCb = function cpsCb(err, res) {\n if (undef(err)) {\n cb(res);\n } else {\n cb(err, true);\n }\n };\n\n fn.apply(context, args.concat(cpsCb));\n\n if (cpsCb.cancel) {\n cb.cancel = cpsCb.cancel;\n }\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runForkEffect(env, _ref7, cb, _ref8) {\n var context = _ref7.context,\n fn = _ref7.fn,\n args = _ref7.args,\n detached = _ref7.detached;\n var parent = _ref8.task;\n var taskIterator = createTaskIterator({\n context: context,\n fn: fn,\n args: args\n });\n var meta = getIteratorMetaInfo(taskIterator, fn);\n immediately(function () {\n var child = proc(env, taskIterator, parent.context, current, meta, detached, undefined);\n\n if (detached) {\n cb(child);\n } else {\n if (child.isRunning()) {\n parent.queue.addTask(child);\n cb(child);\n } else if (child.isAborted()) {\n parent.queue.abort(child.error());\n } else {\n cb(child);\n }\n }\n }); // Fork effects are non cancellables\n}\n\nfunction runJoinEffect(env, taskOrTasks, cb, _ref9) {\n var task = _ref9.task;\n\n var joinSingleTask = function joinSingleTask(taskToJoin, cb) {\n if (taskToJoin.isRunning()) {\n var joiner = {\n task: task,\n cb: cb\n };\n\n cb.cancel = function () {\n if (taskToJoin.isRunning()) remove(taskToJoin.joiners, joiner);\n };\n\n taskToJoin.joiners.push(joiner);\n } else {\n if (taskToJoin.isAborted()) {\n cb(taskToJoin.error(), true);\n } else {\n cb(taskToJoin.result());\n }\n }\n };\n\n if (array$1(taskOrTasks)) {\n if (taskOrTasks.length === 0) {\n cb([]);\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(taskOrTasks, cb);\n taskOrTasks.forEach(function (t, i) {\n joinSingleTask(t, childCallbacks[i]);\n });\n } else {\n joinSingleTask(taskOrTasks, cb);\n }\n}\n\nfunction cancelSingleTask(taskToCancel) {\n if (taskToCancel.isRunning()) {\n taskToCancel.cancel();\n }\n}\n\nfunction runCancelEffect(env, taskOrTasks, cb, _ref10) {\n var task = _ref10.task;\n\n if (taskOrTasks === SELF_CANCELLATION) {\n cancelSingleTask(task);\n } else if (array$1(taskOrTasks)) {\n taskOrTasks.forEach(cancelSingleTask);\n } else {\n cancelSingleTask(taskOrTasks);\n }\n\n cb(); // cancel effects are non cancellables\n}\n\nfunction runAllEffect(env, effects, cb, _ref11) {\n var digestEffect = _ref11.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n\n if (keys.length === 0) {\n cb(array$1(effects) ? [] : {});\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(effects, cb);\n keys.forEach(function (key) {\n digestEffect(effects[key], effectId, childCallbacks[key], key);\n });\n}\n\nfunction runRaceEffect(env, effects, cb, _ref12) {\n var digestEffect = _ref12.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n var response = array$1(effects) ? createEmptyArray(keys.length) : {};\n var childCbs = {};\n var completed = false;\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n // Race Auto cancellation\n cb.cancel();\n cb(res, isErr);\n } else {\n cb.cancel();\n completed = true;\n response[key] = res;\n cb(response);\n }\n };\n\n chCbAtKey.cancel = noop;\n childCbs[key] = chCbAtKey;\n });\n\n cb.cancel = function () {\n // prevents unnecessary cancellation\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCbs[key].cancel();\n });\n }\n };\n\n keys.forEach(function (key) {\n if (completed) {\n return;\n }\n\n digestEffect(effects[key], effectId, childCbs[key], key);\n });\n}\n\nfunction runSelectEffect(env, _ref13, cb) {\n var selector = _ref13.selector,\n args = _ref13.args;\n\n try {\n var state = selector.apply(void 0, [env.getState()].concat(args));\n cb(state);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runChannelEffect(env, _ref14, cb) {\n var pattern = _ref14.pattern,\n buffer = _ref14.buffer;\n var chan = channel(buffer);\n var match = matcher(pattern);\n\n var taker = function taker(action) {\n if (!isEnd(action)) {\n env.channel.take(taker, match);\n }\n\n chan.put(action);\n };\n\n var close = chan.close;\n\n chan.close = function () {\n taker.cancel();\n close();\n };\n\n env.channel.take(taker, match);\n cb(chan);\n}\n\nfunction runCancelledEffect(env, data, cb, _ref15) {\n var task = _ref15.task;\n cb(task.isCancelled());\n}\n\nfunction runFlushEffect(env, channel, cb) {\n channel.flush(cb);\n}\n\nfunction runGetContextEffect(env, prop, cb, _ref16) {\n var task = _ref16.task;\n cb(task.context[prop]);\n}\n\nfunction runSetContextEffect(env, props, cb, _ref17) {\n var task = _ref17.task;\n assignWithSymbols(task.context, props);\n cb();\n}\n\nvar effectRunnerMap = (_effectRunnerMap = {}, _effectRunnerMap[TAKE] = runTakeEffect, _effectRunnerMap[PUT] = runPutEffect, _effectRunnerMap[ALL] = runAllEffect, _effectRunnerMap[RACE] = runRaceEffect, _effectRunnerMap[CALL] = runCallEffect, _effectRunnerMap[CPS] = runCPSEffect, _effectRunnerMap[FORK] = runForkEffect, _effectRunnerMap[JOIN] = runJoinEffect, _effectRunnerMap[CANCEL$1] = runCancelEffect, _effectRunnerMap[SELECT] = runSelectEffect, _effectRunnerMap[ACTION_CHANNEL] = runChannelEffect, _effectRunnerMap[CANCELLED$1] = runCancelledEffect, _effectRunnerMap[FLUSH] = runFlushEffect, _effectRunnerMap[GET_CONTEXT] = runGetContextEffect, _effectRunnerMap[SET_CONTEXT] = runSetContextEffect, _effectRunnerMap);\n\n/**\n Used to track a parent task and its forks\n In the fork model, forked tasks are attached by default to their parent\n We model this using the concept of Parent task && main Task\n main task is the main flow of the current Generator, the parent tasks is the\n aggregation of the main tasks + all its forked tasks.\n Thus the whole model represents an execution tree with multiple branches (vs the\n linear execution tree in sequential (non parallel) programming)\n\n A parent tasks has the following semantics\n - It completes if all its forks either complete or all cancelled\n - If it's cancelled, all forks are cancelled as well\n - It aborts if any uncaught error bubbles up from forks\n - If it completes, the return value is the one returned by the main task\n **/\n\nfunction forkQueue(mainTask, onAbort, cont) {\n var tasks = [];\n var result;\n var completed = false;\n addTask(mainTask);\n\n var getTasks = function getTasks() {\n return tasks;\n };\n\n function abort(err) {\n onAbort();\n cancelAll();\n cont(err, true);\n }\n\n function addTask(task) {\n tasks.push(task);\n\n task.cont = function (res, isErr) {\n if (completed) {\n return;\n }\n\n remove(tasks, task);\n task.cont = noop;\n\n if (isErr) {\n abort(res);\n } else {\n if (task === mainTask) {\n result = res;\n }\n\n if (!tasks.length) {\n completed = true;\n cont(result);\n }\n }\n };\n }\n\n function cancelAll() {\n if (completed) {\n return;\n }\n\n completed = true;\n tasks.forEach(function (t) {\n t.cont = noop;\n t.cancel();\n });\n tasks = [];\n }\n\n return {\n addTask: addTask,\n cancelAll: cancelAll,\n abort: abort,\n getTasks: getTasks\n };\n}\n\n// there can be only a single saga error created at any given moment\n\nfunction formatLocation(fileName, lineNumber) {\n return fileName + \"?\" + lineNumber;\n}\n\nfunction effectLocationAsString(effect) {\n var location = getLocation(effect);\n\n if (location) {\n var code = location.code,\n fileName = location.fileName,\n lineNumber = location.lineNumber;\n var source = code + \" \" + formatLocation(fileName, lineNumber);\n return source;\n }\n\n return '';\n}\n\nfunction sagaLocationAsString(sagaMeta) {\n var name = sagaMeta.name,\n location = sagaMeta.location;\n\n if (location) {\n return name + \" \" + formatLocation(location.fileName, location.lineNumber);\n }\n\n return name;\n}\n\nfunction cancelledTasksAsString(sagaStack) {\n var cancelledTasks = flatMap(function (i) {\n return i.cancelledTasks;\n }, sagaStack);\n\n if (!cancelledTasks.length) {\n return '';\n }\n\n return ['Tasks cancelled due to error:'].concat(cancelledTasks).join('\\n');\n}\n\nvar crashedEffect = null;\nvar sagaStack = [];\nvar addSagaFrame = function addSagaFrame(frame) {\n frame.crashedEffect = crashedEffect;\n sagaStack.push(frame);\n};\nvar clear = function clear() {\n crashedEffect = null;\n sagaStack.length = 0;\n}; // this sets crashed effect for the soon-to-be-reported saga frame\n// this slightly streatches the singleton nature of this module into wrong direction\n// as it's even less obvious what's the data flow here, but it is what it is for now\n\nvar setCrashedEffect = function setCrashedEffect(effect) {\n crashedEffect = effect;\n};\n/**\n @returns {string}\n\n @example\n The above error occurred in task errorInPutSaga {pathToFile}\n when executing effect put({type: 'REDUCER_ACTION_ERROR_IN_PUT'}) {pathToFile}\n created by fetchSaga {pathToFile}\n created by rootSaga {pathToFile}\n*/\n\nvar toString = function toString() {\n var firstSaga = sagaStack[0],\n otherSagas = sagaStack.slice(1);\n var crashedEffectLocation = firstSaga.crashedEffect ? effectLocationAsString(firstSaga.crashedEffect) : null;\n var errorMessage = \"The above error occurred in task \" + sagaLocationAsString(firstSaga.meta) + (crashedEffectLocation ? \" \\n when executing effect \" + crashedEffectLocation : '');\n return [errorMessage].concat(otherSagas.map(function (s) {\n return \" created by \" + sagaLocationAsString(s.meta);\n }), [cancelledTasksAsString(sagaStack)]).join('\\n');\n};\n\nfunction newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont) {\n var _task;\n\n if (cont === void 0) {\n cont = noop;\n }\n\n var status = RUNNING;\n var taskResult;\n var taskError;\n var deferredEnd = null;\n var cancelledDueToErrorTasks = [];\n var context = Object.create(parentContext);\n var queue = forkQueue(mainTask, function onAbort() {\n cancelledDueToErrorTasks.push.apply(cancelledDueToErrorTasks, queue.getTasks().map(function (t) {\n return t.meta.name;\n }));\n }, end);\n /**\n This may be called by a parent generator to trigger/propagate cancellation\n cancel all pending tasks (including the main task), then end the current task.\n Cancellation propagates down to the whole execution tree held by this Parent task\n It's also propagated to all joiners of this task and their execution tree/joiners\n Cancellation is noop for terminated/Cancelled tasks tasks\n **/\n\n function cancel() {\n if (status === RUNNING) {\n // Setting status to CANCELLED does not necessarily mean that the task/iterators are stopped\n // effects in the iterator's finally block will still be executed\n status = CANCELLED;\n queue.cancelAll(); // Ending with a TASK_CANCEL will propagate the Cancellation to all joiners\n\n end(TASK_CANCEL, false);\n }\n }\n\n function end(result, isErr) {\n if (!isErr) {\n // The status here may be RUNNING or CANCELLED\n // If the status is CANCELLED, then we do not need to change it here\n if (result === TASK_CANCEL) {\n status = CANCELLED;\n } else if (status !== CANCELLED) {\n status = DONE;\n }\n\n taskResult = result;\n deferredEnd && deferredEnd.resolve(result);\n } else {\n status = ABORTED;\n addSagaFrame({\n meta: meta,\n cancelledTasks: cancelledDueToErrorTasks\n });\n\n if (task.isRoot) {\n var sagaStack = toString(); // we've dumped the saga stack to string and are passing it to user's code\n // we know that it won't be needed anymore and we need to clear it\n\n clear();\n env.onError(result, {\n sagaStack: sagaStack\n });\n }\n\n taskError = result;\n deferredEnd && deferredEnd.reject(result);\n }\n\n task.cont(result, isErr);\n task.joiners.forEach(function (joiner) {\n joiner.cb(result, isErr);\n });\n task.joiners = null;\n }\n\n function setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('task', props));\n }\n\n assignWithSymbols(context, props);\n }\n\n function toPromise() {\n if (deferredEnd) {\n return deferredEnd.promise;\n }\n\n deferredEnd = deferred();\n\n if (status === ABORTED) {\n deferredEnd.reject(taskError);\n } else if (status !== RUNNING) {\n deferredEnd.resolve(taskResult);\n }\n\n return deferredEnd.promise;\n }\n\n var task = (_task = {}, _task[TASK] = true, _task.id = parentEffectId, _task.meta = meta, _task.isRoot = isRoot, _task.context = context, _task.joiners = [], _task.queue = queue, _task.cancel = cancel, _task.cont = cont, _task.end = end, _task.setContext = setContext, _task.toPromise = toPromise, _task.isRunning = function isRunning() {\n return status === RUNNING;\n }, _task.isCancelled = function isCancelled() {\n return status === CANCELLED || status === RUNNING && mainTask.status === CANCELLED;\n }, _task.isAborted = function isAborted() {\n return status === ABORTED;\n }, _task.result = function result() {\n return taskResult;\n }, _task.error = function error() {\n return taskError;\n }, _task);\n return task;\n}\n\nfunction proc(env, iterator$1, parentContext, parentEffectId, meta, isRoot, cont) {\n if (process.env.NODE_ENV !== 'production' && iterator$1[asyncIteratorSymbol]) {\n throw new Error(\"redux-saga doesn't support async generators, please use only regular ones\");\n }\n\n var finalRunEffect = env.finalizeRunEffect(runEffect);\n /**\n Tracks the current effect cancellation\n Each time the generator progresses. calling runEffect will set a new value\n on it. It allows propagating cancellation to child effects\n **/\n\n next.cancel = noop;\n /** Creates a main task to track the main flow */\n\n var mainTask = {\n meta: meta,\n cancel: cancelMain,\n status: RUNNING\n };\n /**\n Creates a new task descriptor for this generator.\n A task is the aggregation of it's mainTask and all it's forked tasks.\n **/\n\n var task = newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont);\n var executingContext = {\n task: task,\n digestEffect: digestEffect\n };\n /**\n cancellation of the main task. We'll simply resume the Generator with a TASK_CANCEL\n **/\n\n function cancelMain() {\n if (mainTask.status === RUNNING) {\n mainTask.status = CANCELLED;\n next(TASK_CANCEL);\n }\n }\n /**\n attaches cancellation logic to this task's continuation\n this will permit cancellation to propagate down the call chain\n **/\n\n\n if (cont) {\n cont.cancel = task.cancel;\n } // kicks up the generator\n\n\n next(); // then return the task descriptor to the caller\n\n return task;\n /**\n * This is the generator driver\n * It's a recursive async/continuation function which calls itself\n * until the generator terminates or throws\n * @param {internal commands(TASK_CANCEL | TERMINATE) | any} arg - value, generator will be resumed with.\n * @param {boolean} isErr - the flag shows if effect finished with an error\n *\n * receives either (command | effect result, false) or (any thrown thing, true)\n */\n\n function next(arg, isErr) {\n try {\n var result;\n\n if (isErr) {\n result = iterator$1.throw(arg); // user handled the error, we can clear bookkept values\n\n clear();\n } else if (shouldCancel(arg)) {\n /**\n getting TASK_CANCEL automatically cancels the main task\n We can get this value here\n - By cancelling the parent task manually\n - By joining a Cancelled task\n **/\n mainTask.status = CANCELLED;\n /**\n Cancels the current effect; this will propagate the cancellation down to any called tasks\n **/\n\n next.cancel();\n /**\n If this Generator has a `return` method then invokes it\n This will jump to the finally block\n **/\n\n result = func(iterator$1.return) ? iterator$1.return(TASK_CANCEL) : {\n done: true,\n value: TASK_CANCEL\n };\n } else if (shouldTerminate(arg)) {\n // We get TERMINATE flag, i.e. by taking from a channel that ended using `take` (and not `takem` used to trap End of channels)\n result = func(iterator$1.return) ? iterator$1.return() : {\n done: true\n };\n } else {\n result = iterator$1.next(arg);\n }\n\n if (!result.done) {\n digestEffect(result.value, parentEffectId, next);\n } else {\n /**\n This Generator has ended, terminate the main task and notify the fork queue\n **/\n if (mainTask.status !== CANCELLED) {\n mainTask.status = DONE;\n }\n\n mainTask.cont(result.value);\n }\n } catch (error) {\n if (mainTask.status === CANCELLED) {\n throw error;\n }\n\n mainTask.status = ABORTED;\n mainTask.cont(error, true);\n }\n }\n\n function runEffect(effect, effectId, currCb) {\n /**\n each effect runner must attach its own logic of cancellation to the provided callback\n it allows this generator to propagate cancellation downward.\n ATTENTION! effect runners must setup the cancel logic by setting cb.cancel = [cancelMethod]\n And the setup must occur before calling the callback\n This is a sort of inversion of control: called async functions are responsible\n of completing the flow by calling the provided continuation; while caller functions\n are responsible for aborting the current flow by calling the attached cancel function\n Library users can attach their own cancellation logic to promises by defining a\n promise[CANCEL] method in their returned promises\n ATTENTION! calling cancel must have no effect on an already completed or cancelled effect\n **/\n if (promise(effect)) {\n resolvePromise(effect, currCb);\n } else if (iterator(effect)) {\n // resolve iterator\n proc(env, effect, task.context, effectId, meta,\n /* isRoot */\n false, currCb);\n } else if (effect && effect[IO]) {\n var effectRunner = effectRunnerMap[effect.type];\n effectRunner(env, effect.payload, currCb, executingContext);\n } else {\n // anything else returned as is\n currCb(effect);\n }\n }\n\n function digestEffect(effect, parentEffectId, cb, label) {\n if (label === void 0) {\n label = '';\n }\n\n var effectId = nextSagaId();\n env.sagaMonitor && env.sagaMonitor.effectTriggered({\n effectId: effectId,\n parentEffectId: parentEffectId,\n label: label,\n effect: effect\n });\n /**\n completion callback and cancel callback are mutually exclusive\n We can't cancel an already completed effect\n And We can't complete an already cancelled effectId\n **/\n\n var effectSettled; // Completion callback passed to the appropriate effect runner\n\n function currCb(res, isErr) {\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n cb.cancel = noop; // defensive measure\n\n if (env.sagaMonitor) {\n if (isErr) {\n env.sagaMonitor.effectRejected(effectId, res);\n } else {\n env.sagaMonitor.effectResolved(effectId, res);\n }\n }\n\n if (isErr) {\n setCrashedEffect(effect);\n }\n\n cb(res, isErr);\n } // tracks down the current cancel\n\n\n currCb.cancel = noop; // setup cancellation logic on the parent cb\n\n cb.cancel = function () {\n // prevents cancelling an already completed effect\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n currCb.cancel(); // propagates cancel downward\n\n currCb.cancel = noop; // defensive measure\n\n env.sagaMonitor && env.sagaMonitor.effectCancelled(effectId);\n };\n\n finalRunEffect(effect, effectId, currCb);\n }\n}\n\nvar RUN_SAGA_SIGNATURE = 'runSaga(options, saga, ...args)';\nvar NON_GENERATOR_ERR = RUN_SAGA_SIGNATURE + \": saga argument must be a Generator function!\";\nfunction runSaga(_ref, saga) {\n var _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n dispatch = _ref.dispatch,\n getState = _ref.getState,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n sagaMonitor = _ref.sagaMonitor,\n effectMiddlewares = _ref.effectMiddlewares,\n _ref$onError = _ref.onError,\n onError = _ref$onError === void 0 ? logError : _ref$onError;\n\n if (process.env.NODE_ENV !== 'production') {\n check(saga, func, NON_GENERATOR_ERR);\n }\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var iterator$1 = saga.apply(void 0, args);\n\n if (process.env.NODE_ENV !== 'production') {\n check(iterator$1, iterator, NON_GENERATOR_ERR);\n }\n\n var effectId = nextSagaId();\n\n if (sagaMonitor) {\n // monitors are expected to have a certain interface, let's fill-in any missing ones\n sagaMonitor.rootSagaStarted = sagaMonitor.rootSagaStarted || noop;\n sagaMonitor.effectTriggered = sagaMonitor.effectTriggered || noop;\n sagaMonitor.effectResolved = sagaMonitor.effectResolved || noop;\n sagaMonitor.effectRejected = sagaMonitor.effectRejected || noop;\n sagaMonitor.effectCancelled = sagaMonitor.effectCancelled || noop;\n sagaMonitor.actionDispatched = sagaMonitor.actionDispatched || noop;\n sagaMonitor.rootSagaStarted({\n effectId: effectId,\n saga: saga,\n args: args\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (notUndef(dispatch)) {\n check(dispatch, func, 'dispatch must be a function');\n }\n\n if (notUndef(getState)) {\n check(getState, func, 'getState must be a function');\n }\n\n if (notUndef(effectMiddlewares)) {\n var MIDDLEWARE_TYPE_ERROR = 'effectMiddlewares must be an array of functions';\n check(effectMiddlewares, array$1, MIDDLEWARE_TYPE_ERROR);\n effectMiddlewares.forEach(function (effectMiddleware) {\n return check(effectMiddleware, func, MIDDLEWARE_TYPE_ERROR);\n });\n }\n\n check(onError, func, 'onError passed to the redux-saga is not a function!');\n }\n\n var finalizeRunEffect;\n\n if (effectMiddlewares) {\n var middleware = compose.apply(void 0, effectMiddlewares);\n\n finalizeRunEffect = function finalizeRunEffect(runEffect) {\n return function (effect, effectId, currCb) {\n var plainRunEffect = function plainRunEffect(eff) {\n return runEffect(eff, effectId, currCb);\n };\n\n return middleware(plainRunEffect)(effect);\n };\n };\n } else {\n finalizeRunEffect = identity;\n }\n\n var env = {\n channel: channel,\n dispatch: wrapSagaDispatch(dispatch),\n getState: getState,\n sagaMonitor: sagaMonitor,\n onError: onError,\n finalizeRunEffect: finalizeRunEffect\n };\n return immediately(function () {\n var task = proc(env, iterator$1, context, effectId, getMetaInfo(saga),\n /* isRoot */\n true, undefined);\n\n if (sagaMonitor) {\n sagaMonitor.effectResolved(effectId, task);\n }\n\n return task;\n });\n}\n\nfunction sagaMiddlewareFactory(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n sagaMonitor = _ref.sagaMonitor,\n options = _objectWithoutPropertiesLoose(_ref, [\"context\", \"channel\", \"sagaMonitor\"]);\n\n var boundRunSaga;\n\n if (process.env.NODE_ENV !== 'production') {\n check(channel, channel$1, 'options.channel passed to the Saga middleware is not a channel');\n }\n\n function sagaMiddleware(_ref2) {\n var getState = _ref2.getState,\n dispatch = _ref2.dispatch;\n boundRunSaga = runSaga.bind(null, _extends({}, options, {\n context: context,\n channel: channel,\n dispatch: dispatch,\n getState: getState,\n sagaMonitor: sagaMonitor\n }));\n return function (next) {\n return function (action) {\n if (sagaMonitor && sagaMonitor.actionDispatched) {\n sagaMonitor.actionDispatched(action);\n }\n\n var result = next(action); // hit reducers\n\n channel.put(action);\n return result;\n };\n };\n }\n\n sagaMiddleware.run = function () {\n if (process.env.NODE_ENV !== 'production' && !boundRunSaga) {\n throw new Error('Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware');\n }\n\n return boundRunSaga.apply(void 0, arguments);\n };\n\n sagaMiddleware.setContext = function (props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('sagaMiddleware', props));\n }\n\n assignWithSymbols(context, props);\n };\n\n return sagaMiddleware;\n}\n\nexport default sagaMiddlewareFactory;\nexport { END, channel, eventChannel, isEnd, multicastChannel, runSaga, stdChannel };\n","import createSagaMiddleware__default from '@redux-saga/core';\nexport * from '@redux-saga/core';\n\n\n\nexport default createSagaMiddleware__default;\n","import { useContext, useMemo } from \"react\";\r\nimport { mergeChatOptions, visitMergedChatOptions } from \"../utils/mergeChatOptions\";\r\nimport DruidWebchatContext, { DruidWebchatContextType } from \"../WebChatContext\";\r\nimport { druidOverrides_adaptiveCardHostConfig, WebChatOptions } from \"../WebChatOptions\";\r\nimport createDefaultAdaptiveCardHostConfig from 'botframework-webchat/lib/adaptiveCards/Styles/adaptiveCardHostConfig';\r\nimport * as merge from 'deepmerge';\r\nimport { isPlainObject } from 'is-plain-object';\r\n\r\n\r\nexport function useMergedOptions(): WebChatOptions {\r\n const [druidWebChatState,] = useContext<DruidWebchatContextType>(DruidWebchatContext);\r\n return useMemo(() => {\r\n const computedMergedChatOptions = mergeChatOptions({UI: {}, styleOptions: {}}, druidWebChatState.mergedChatOptions);\r\n // computedMergedChatOptions.styleOptions = {...computedMergedChatOptions.styleOptions};\r\n // return druidWebChatState.mergedChatOptions;\r\n return visitMergedChatOptions(computedMergedChatOptions);\r\n }, [druidWebChatState.mergedChatOptions]);\r\n}\r\n\r\nexport function useDruidAdaptiveCardsHostConfig(): ReturnType<typeof createDefaultAdaptiveCardHostConfig> {\r\n const [druidWebChatState,] = useContext<DruidWebchatContextType>(DruidWebchatContext);\r\n const { styleOptions, adaptiveCardsHostConfig } = druidWebChatState.mergedChatOptions;\r\n return useMemo(() => {\r\n const ret = merge.all<any>([ createDefaultAdaptiveCardHostConfig(styleOptions!), druidOverrides_adaptiveCardHostConfig, adaptiveCardsHostConfig], { isMergeableObject: isPlainObject });\r\n return ret;\r\n }, [styleOptions, adaptiveCardsHostConfig,]);\r\n}","import { connect } from 'react-redux';\nimport { isForbiddenPropertyName } from 'botframework-webchat-core';\nimport React from 'react';\n\nimport WebChatAPIContext from 'botframework-webchat-api/lib/hooks/internal/WebChatAPIContext';\nimport WebChatReduxContext from 'botframework-webchat-api/lib/hooks/internal/WebChatReduxContext';\n\nfunction removeUndefinedValues(map) {\n return Object.keys(map).reduce((result, key) => {\n if (!isForbiddenPropertyName(key)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n const value = map[key];\n\n if (typeof value !== 'undefined') {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n result[key] = value;\n }\n }\n\n return result;\n }, {});\n}\n\nfunction combineSelectors(...selectors) {\n return (...args) =>\n selectors.reduce(\n (result, selector) => ({\n ...result,\n ...removeUndefinedValues((selector && selector(...args)) || {})\n }),\n {}\n );\n}\n\nexport default function connectToWebChat(...selectors) {\n const combinedSelector = combineSelectors(...selectors);\n\n // TODO: [P1] Instead of exposing Redux store via props, we should consider exposing via Context.\n // We should also hide dispatch function.\n return Component => {\n const ConnectedComponent = connect(\n (state, { context, ...ownProps }) => combinedSelector({ ...state, ...context }, ownProps),\n null,\n null,\n {\n context: WebChatReduxContext\n }\n )(Component);\n\n const WebChatConnectedComponent = props => (\n <WebChatAPIContext.Consumer>\n {context => <ConnectedComponent {...props} context={context} />}\n </WebChatAPIContext.Consumer>\n );\n\n return WebChatConnectedComponent;\n };\n}\n","module.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/","import { WebSpeechPonyfill } from 'botframework-webchat-api';\n\nimport useWebChatUIContext from './internal/useWebChatUIContext';\n\nexport default function useWebSpeechPonyfill(): [WebSpeechPonyfill] {\n return [useWebChatUIContext().webSpeechPonyfill];\n}\n","import { root } from '../util/root';\n\nexport function symbolIteratorPonyfill(root: any) {\n const Symbol: any = root.Symbol;\n\n if (typeof Symbol === 'function') {\n if (!Symbol.iterator) {\n Symbol.iterator = Symbol('iterator polyfill');\n }\n return Symbol.iterator;\n } else {\n // [for Mozilla Gecko 27-35:](https://mzl.la/2ewE1zC)\n const { Set } = root;\n if (Set && typeof new Set()['@@iterator'] === 'function') {\n return '@@iterator';\n }\n const { Map } = root;\n // required for compatability with es6-shim\n if (Map) {\n let keys = Object.getOwnPropertyNames(Map.prototype);\n for (let i = 0; i < keys.length; ++i) {\n let key = keys[i];\n // according to spec, Map.prototype[@@iterator] and Map.orototype.entries must be equal.\n if (key !== 'entries' && key !== 'size' && Map.prototype[key] === Map.prototype['entries']) {\n return key;\n }\n }\n }\n return '@@iterator';\n }\n}\n\nexport const iterator = symbolIteratorPonyfill(root);\n\n/**\n * @deprecated use iterator instead\n */\nexport const $$iterator = iterator;\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [-1, 0, 1, 2, 10] }] */\n\nimport { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { FC, ReactNode } from 'react';\n\nimport isZeroOrPositive from '../Utils/isZeroOrPositive';\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst { useDirection, useStyleOptions } = hooks;\n\nconst ROOT_STYLE = {\n '&.webchat__bubble': {\n display: 'flex',\n position: 'relative',\n\n '& .webchat__bubble__nub-pad': {\n flexShrink: 0\n },\n\n '& .webchat__bubble__content': {\n flexGrow: 1,\n\n // This is for hiding content outside of the bubble, for example, content outside of border radius\n overflow: 'hidden'\n }\n }\n};\n\nfunction acuteNubSVG(nubSize, strokeWidth, side, upSideDown = false) {\n if (typeof nubSize !== 'number') {\n return false;\n }\n\n const halfNubSize = nubSize / 2;\n const halfStrokeWidth = strokeWidth / 2;\n\n // Horizontally mirror the nub if it is from user\n const horizontalTransform =\n side === 'bot' ? '' : `translate(${halfNubSize} 0) scale(-1 1) translate(${-halfNubSize} 0)`;\n\n // Vertically mirror the nub if it is up-side-down\n const verticalTransform = upSideDown ? `translate(0 ${halfNubSize}) scale(1 -1) translate(0 ${-halfNubSize})` : '';\n\n const p1 = [nubSize, halfStrokeWidth].join(' ');\n const p2 = [strokeWidth, halfStrokeWidth].join(' ');\n const p3 = [nubSize + strokeWidth, nubSize + halfStrokeWidth].join(' ');\n\n return (\n <svg\n className=\"webchat__bubble__nub\"\n version=\"1.1\"\n viewBox={`0 0 ${nubSize} ${nubSize}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g transform={`${horizontalTransform} ${verticalTransform}`}>\n <path className=\"webchat__bubble__nub-outline\" d={`M${p1} L${p2} L${p3}`} />\n </g>\n </svg>\n );\n}\n\ntype BubbleProps = {\n 'aria-hidden'?: boolean;\n children?: ReactNode;\n className?: string;\n fromUser?: boolean;\n nub?: boolean | 'hidden';\n};\n\nconst Bubble: FC<BubbleProps> = ({ 'aria-hidden': ariaHidden, children, className, fromUser, nub }) => {\n const [{ bubble: bubbleStyleSet }] = useStyleSet();\n const [direction] = useDirection();\n const [\n {\n bubbleBorderWidth,\n bubbleFromUserBorderWidth,\n bubbleFromUserNubSize,\n bubbleNubSize,\n bubbleNubOffset,\n bubbleFromUserNubOffset\n }\n ] = useStyleOptions();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n const { borderWidth, nubOffset, nubSize, side } = fromUser\n ? {\n borderWidth: bubbleFromUserBorderWidth,\n nubOffset: bubbleFromUserNubOffset,\n nubSize: bubbleFromUserNubSize,\n side: 'user'\n }\n : {\n borderWidth: bubbleBorderWidth,\n nubOffset: bubbleNubOffset,\n nubSize: bubbleNubSize,\n side: 'bot'\n };\n\n return (\n <div\n aria-hidden={ariaHidden}\n className={classNames(\n 'webchat__bubble',\n {\n 'webchat__bubble--from-user': fromUser,\n 'webchat__bubble--hide-nub': nub !== true && nub !== false,\n 'webchat__bubble--nub-on-top': isZeroOrPositive(nubOffset),\n 'webchat__bubble--rtl': direction === 'rtl',\n 'webchat__bubble--show-nub': nub === true\n },\n rootClassName,\n bubbleStyleSet + '',\n (className || '') + ''\n )}\n >\n <div className=\"webchat__bubble__nub-pad\" />\n <div className=\"webchat__bubble__content\">{children}</div>\n {nub === true && acuteNubSVG(nubSize, borderWidth, side, !isZeroOrPositive(nubOffset))}\n </div>\n );\n};\n\nBubble.defaultProps = {\n 'aria-hidden': undefined,\n children: undefined,\n className: '',\n fromUser: false,\n nub: false\n};\n\nBubble.propTypes = {\n 'aria-hidden': PropTypes.bool,\n children: PropTypes.any,\n className: PropTypes.string,\n fromUser: PropTypes.bool,\n nub: PropTypes.oneOf([true, false, 'hidden'])\n};\n\nexport default Bubble;\n","/**\n * Returns `true`, if the number is zero or positive, otherwise, `false`, including minus zeroes.\n */\nexport default function isZeroOrPositive(value: number): boolean {\n // This will handle minus-zero.\n return 1 / value >= 0;\n}\n","import downscaleImageToDataURLUsingBrowser from './downscaleImageToDataURLUsingBrowser';\nimport downscaleImageToDataURLUsingWorker, {\n checkSupport as supportWorker\n} from './downscaleImageToDataURLUsingWorker';\n\nexport default async function downscaleImageToDataURL(blob, maxWidth, maxHeight, type, quality) {\n if (await supportWorker()) {\n return downscaleImageToDataURLUsingWorker(blob, maxWidth, maxHeight, type, quality);\n }\n\n return downscaleImageToDataURLUsingBrowser(blob, maxWidth, maxHeight, type, quality);\n}\n","import { root } from '../util/root';\n\nconst Symbol: any = root.Symbol;\n\nexport const rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?\n Symbol.for('rxSubscriber') : '@@rxSubscriber';\n\n/**\n * @deprecated use rxSubscriber instead\n */\nexport const $$rxSubscriber = rxSubscriber;\n","import { root } from '../util/root';\n\nexport function getSymbolObservable(context: any) {\n let $$observable: any;\n let Symbol = context.Symbol;\n\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n $$observable = Symbol.observable;\n } else {\n $$observable = Symbol('observable');\n Symbol.observable = $$observable;\n }\n } else {\n $$observable = '@@observable';\n }\n\n return $$observable;\n}\n\nexport const observable = getSymbolObservable(root);\n\n/**\n * @deprecated use observable instead\n */\nexport const $$observable = observable;\n","/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport class ObjectUnsubscribedError extends Error {\n constructor() {\n const err: any = super('object unsubscribed');\n (<any> this).name = err.name = 'ObjectUnsubscribedError';\n (<any> this).stack = err.stack;\n (<any> this).message = err.message;\n }\n}\n","import { Observable, ObservableInput } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { ArrayObservable } from './ArrayObservable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\n\n/* tslint:disable:max-line-length */\nexport function merge<T>(v1: ObservableInput<T>, scheduler?: IScheduler): Observable<T>;\nexport function merge<T>(v1: ObservableInput<T>, concurrent?: number, scheduler?: IScheduler): Observable<T>;\nexport function merge<T, T2>(v1: ObservableInput<T>, v2: ObservableInput<T2>, scheduler?: IScheduler): Observable<T | T2>;\nexport function merge<T, T2>(v1: ObservableInput<T>, v2: ObservableInput<T2>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2>;\nexport function merge<T, T2, T3>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, scheduler?: IScheduler): Observable<T | T2 | T3>;\nexport function merge<T, T2, T3>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3>;\nexport function merge<T, T2, T3, T4>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, scheduler?: IScheduler): Observable<T | T2 | T3 | T4>;\nexport function merge<T, T2, T3, T4>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3 | T4>;\nexport function merge<T, T2, T3, T4, T5>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5>;\nexport function merge<T, T2, T3, T4, T5>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5>;\nexport function merge<T, T2, T3, T4, T5, T6>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5 | T6>;\nexport function merge<T, T2, T3, T4, T5, T6>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5 | T6>;\nexport function merge<T>(...observables: (ObservableInput<T> | IScheduler | number)[]): Observable<T>;\nexport function merge<T, R>(...observables: (ObservableInput<any> | IScheduler | number)[]): Observable<R>;\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * <img src=\"./img/merge.png\" width=\"100%\">\n *\n * `merge` subscribes to each given input Observable (as arguments), and simply\n * forwards (without doing any transformation) all the values from all the input\n * Observables to the output Observable. The output Observable only completes\n * once all input Observables have completed. Any error delivered by an input\n * Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Merge together two Observables: 1s interval and clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = Rx.Observable.merge(clicks, timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // timer will emit ascending values, one every second(1000ms) to console\n * // clicks logs MouseEvents to console everytime the \"document\" is clicked\n * // Since the two streams are merged you see these happening\n * // as they occur.\n *\n * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var concurrent = 2; // the argument\n * var merged = Rx.Observable.merge(timer1, timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // - First timer1 and timer2 will run concurrently\n * // - timer1 will emit a value every 1000ms for 10 iterations\n * // - timer2 will emit a value every 2000ms for 6 iterations\n * // - after timer1 hits it's max iteration, timer2 will\n * // continue, and timer3 will start to run concurrently with timer2\n * // - when timer2 hits it's max iteration it terminates, and\n * // timer3 will continue to emit a value every 500ms until it is complete\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param {...ObservableInput} observables Input Observables to merge together.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The IScheduler to use for managing\n * concurrency of input Observables.\n * @return {Observable} an Observable that emits items that are the result of\n * every input Observable.\n * @static true\n * @name merge\n * @owner Observable\n */\nexport function merge<T, R>(...observables: Array<ObservableInput<any> | IScheduler | number>): Observable<R> {\n let concurrent = Number.POSITIVE_INFINITY;\n let scheduler: IScheduler = null;\n let last: any = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = <IScheduler>observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = <number>observables.pop();\n }\n } else if (typeof last === 'number') {\n concurrent = <number>observables.pop();\n }\n\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return <Observable<R>>observables[0];\n }\n\n return mergeAll(concurrent)(new ArrayObservable(<any>observables, scheduler)) as Observable<R>;\n}\n","export function loadConfiguration() {\n \n}\n\nexport function doAuthorize({baseUrl, authorizationUrl, authorizationDto, withCredentials, customAuthHeaders}: {baseUrl: Nullable<string>, authorizationUrl: Nullable<string>, authorizationDto: any, withCredentials: RequestCredentials, customAuthHeaders?: any}): Promise<Response> {\n // var ctx = useContext()\n var url_ = baseUrl + (authorizationUrl || \"/api/services/app/Chat/AuthorizeAnonymousAsync\");\n url_ = url_.replace(/[?&]$/, \"\");\n if (url_.startsWith('//')) {\n url_ = url_.replace('//', '/'); // replace '//' from start of string\n }\n\n return fetch(url_, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n ...customAuthHeaders\n },\n mode: 'cors',\n credentials: withCredentials,\n body: JSON.stringify(authorizationDto)\n });\n}\n\nexport function doHeartBeat({baseUrl}: { baseUrl: string }) {\n baseUrl = baseUrl.replace(/[?&]$/, \"\");\n\n if (baseUrl.startsWith('//')) {\n baseUrl = baseUrl.replace('//', '/'); \n }\n return fetch(baseUrl, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n mode: 'cors',\n credentials: 'same-origin',\n });\n}\n\n\nexport function getSpeechToken({baseUrl, withCredentials, botId, oldToken}: {baseUrl: string, withCredentials: RequestCredentials, botId: string, oldToken: string}) {\n let url_ = baseUrl + \"/GetSpeechToken\" + `?botId=${botId}&oldToken=${oldToken}`;\n \n url_ = url_.replace(/[?&]$/, \"\");\n if (url_.startsWith('//')) {\n url_ = url_.replace('//', '/'); // replace '//' from start of string\n }\n\n return fetch(url_, {\n method: 'GET',\n mode: 'cors',\n credentials: withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n });\n}\n\nexport function encryptSensitiveData({baseUrl, withCredentials, dataToEncrypt, conversationToken }: {baseUrl: string, withCredentials: RequestCredentials, dataToEncrypt: string, conversationToken: string }) {\n let url_ = `${baseUrl}/api/services/app/Bot/Encrypt`\n \n url_ = url_.replace(/[?&]$/, \"\");\n if (url_.startsWith('//')) {\n url_ = url_.replace('//', '/'); // replace '//' from start of string\n }\n\n return fetch(url_, {\n method: 'POST',\n mode: 'cors',\n credentials: withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\",\n \"Authorization\": `Bearer ${conversationToken}`\n },\n body: JSON.stringify(dataToEncrypt)\n });\n}\n\nexport function searchAssist({apcUrl, withCredentials, searchText, abpToken, botId, languageCode }: {apcUrl: string, withCredentials: RequestCredentials, searchText: string, abpToken: string, botId: string, languageCode: string }) {\n if(!apcUrl) {\n return Promise.resolve(\"\");\n }\n let url_ = `${apcUrl}/api/services/app/Bot/TestMultiSentenceMachineLearning`\n \n url_ = url_.replace(/[?&]$/, \"\");\n if (url_.startsWith('//')) {\n url_ = url_.replace('//', '/'); // replace '//' from start of string\n }\n\n const input = {\n modelId: botId,\n intent: searchText,\n languageCode\n }\n return fetch(url_, {\n method: 'POST',\n mode: 'cors',\n credentials: withCredentials,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\",\n \"Authorization\": `Bearer ${abpToken}`\n },\n body: JSON.stringify(input)\n });\n}\n\n\n ","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changedâ€. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","const SAGA_ERROR = 'WEB_CHAT/SAGA_ERROR';\n\ntype SagaErrorAction = {\n type: typeof SAGA_ERROR;\n};\n\nexport default function sagaError(): SagaErrorAction {\n return { type: SAGA_ERROR };\n}\n\nexport { SAGA_ERROR };\n\nexport type { SagaErrorAction };\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 36] }] */\n\nimport random from 'math-random';\n\nexport default function uniqueID(): string {\n return random().toString(36).substring(2);\n}\n","let FORBIDDEN_PROPERTY_NAMES;\n\nfunction getForbiddenPropertyNames(): string[] {\n return (\n FORBIDDEN_PROPERTY_NAMES ||\n (FORBIDDEN_PROPERTY_NAMES = Object.freeze(\n Array.from(\n new Set([\n // As-of writing, `Object.prototype` includes:\n // __defineGetter__\n // __defineSetter__\n // __lookupGetter__\n // __lookupSetter\n // __proto__\n // constructor\n // hasOwnProperty\n // isPrototypeOf\n // propertyIsEnumerable\n // toLocaleString\n // toString\n // valueOf\n ...Object.getOwnPropertyNames(Object.prototype),\n\n 'prototype'\n ])\n )\n ))\n );\n}\n\nexport default function isForbiddenPropertyName(propertyName: string): boolean {\n return getForbiddenPropertyNames().includes(propertyName);\n}\n","const START_DICTATE = 'WEB_CHAT/START_DICTATE';\n\nexport default function startDictate() {\n return { type: START_DICTATE };\n}\n\nexport { START_DICTATE };\n","const SET_SEND_TYPING_INDICATOR = 'WEB_CHAT/SET_SEND_TYPING_INDICATOR';\n\ntype SetSendTypingIndicatorAction = {\n payload: { sendTypingIndicator: boolean };\n type: typeof SET_SEND_TYPING_INDICATOR;\n};\n\nexport default function setSendTypingIndicator(value): SetSendTypingIndicatorAction {\n return {\n payload: { sendTypingIndicator: !!value },\n type: SET_SEND_TYPING_INDICATOR\n };\n}\n\nexport { SET_SEND_TYPING_INDICATOR };\n\nexport type { SetSendTypingIndicatorAction };\n","const START_SPEAKING_ACTIVITY = 'WEB_CHAT/START_SPEAKING';\n\nexport default function startSpeakingActivity() {\n return {\n type: START_SPEAKING_ACTIVITY\n };\n}\n\nexport { START_SPEAKING_ACTIVITY };\n","import createDeferred from 'p-defer-es5';\n\nexport default function createPromiseQueue() {\n let deferred;\n const queue = [];\n\n const push = value => {\n if (deferred) {\n const { resolve } = deferred;\n\n deferred = null;\n resolve(value);\n } else {\n queue.push(value);\n }\n };\n\n const shift = () =>\n queue.length ? Promise.resolve(queue.shift()) : (deferred || (deferred = createDeferred())).promise;\n\n return {\n push,\n shift\n };\n}\n","var parent = require('../../es/promise');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","const EMIT_TYPING_INDICATOR = 'WEB_CHAT/EMIT_TYPING_INDICATOR';\n\nexport default function emitTypingIndicator() {\n return {\n type: EMIT_TYPING_INDICATOR\n };\n}\n\nexport { EMIT_TYPING_INDICATOR };\n","import type { ReduxState } from '../types/internal/ReduxState';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst activities = ({ activities }: ReduxState) => activities;\n\nconst of = (predicate: (activity: WebChatActivity) => boolean) => (state: ReduxState) =>\n activities(state).filter(predicate);\nconst ofID = (targetID: string) => of(({ id }) => id === targetID);\nconst ofType = (targetType: string) => of(({ type }) => type === targetType);\n\nexport default activities;\nexport { of, ofID, ofType };\n","const SEND_MESSAGE = 'WEB_CHAT/SEND_MESSAGE';\n\nexport default function sendMessage(text, method, { channelData } = {}) {\n return {\n type: SEND_MESSAGE,\n payload: { channelData, method, text }\n };\n}\n\nexport { SEND_MESSAGE };\n","// Strings commented out are pending official translations\n\nimport arEG from './ar-EG.json';\nimport arJO from './ar-JO.json';\nimport arSA from './ar-SA.json';\nimport bgBG from './bg-BG.json';\nimport caES from './ca-ES.json';\nimport csCZ from './cs-CZ.json';\nimport daDK from './da-DK.json';\nimport deDE from './de-DE.json';\nimport elGR from './el-GR.json';\nimport enUS from './en-US.json';\nimport esES from './es-ES.json';\nimport etEE from './et-EE.json';\nimport euES from './eu-ES.json';\nimport fiFI from './fi-FI.json';\nimport frFR from './fr-FR.json';\nimport glES from './gl-ES.json';\nimport heIL from './he-IL.json';\nimport hiIN from './hi-IN.json';\nimport hrHR from './hr-HR.json';\nimport huHU from './hu-HU.json';\nimport idID from './id-ID.json';\nimport itIT from './it-IT.json';\nimport jaJP from './ja-JP.json';\nimport kkKZ from './kk-KZ.json';\nimport koKR from './ko-KR.json';\nimport ltLT from './lt-LT.json';\nimport lvLV from './lv-LV.json';\nimport msMY from './ms-MY.json';\nimport nbNO from './nb-NO.json';\nimport nlNL from './nl-NL.json';\nimport plPL from './pl-PL.json';\nimport ptBR from './pt-BR.json';\nimport ptPT from './pt-PT.json';\nimport roRO from './ro-RO.json';\nimport ruRU from './ru-RU.json';\nimport skSK from './sk-SK.json';\nimport slSI from './sl-SI.json';\nimport srCyrlCS from './sr-Cyrl-CS.json';\nimport srLatnCS from './sr-Latn-CS.json';\nimport svSE from './sv-SE.json';\nimport thTH from './th-TH.json';\nimport trTR from './tr-TR.json';\nimport ukUA from './uk-UA.json';\nimport viVN from './vi-VN.json';\nimport yue from './yue.json';\nimport zhCN from './zh-CN.json';\nimport zhHK from './zh-HK.json';\nimport zhTW from './zh-TW.json';\n\nimport bundledOverrides from './overrides.json';\nimport LocalizedStrings from '../types/LocalizedStrings';\nimport mergeLocalizedStrings from './mergeLocalizedStrings';\n\nlet localizedStrings;\n\nfunction getAllLocalizedStrings(): { [language: string]: LocalizedStrings } {\n return (\n localizedStrings ||\n (localizedStrings = mergeLocalizedStrings(\n {\n 'ar-EG': arEG,\n 'ar-JO': arJO,\n 'ar-SA': arSA,\n 'bg-BG': bgBG,\n 'ca-ES': caES,\n 'cs-CZ': csCZ,\n 'da-DK': daDK,\n 'de-DE': deDE,\n 'el-GR': elGR,\n 'en-US': enUS,\n 'es-ES': esES,\n 'et-EE': etEE,\n 'eu-ES': euES,\n 'fi-FI': fiFI,\n 'fr-FR': frFR,\n 'gl-ES': glES,\n 'he-IL': heIL,\n 'hi-IN': hiIN,\n 'hr-HR': hrHR,\n 'hu-HU': huHU,\n 'id-ID': idID,\n 'it-IT': itIT,\n 'ja-JP': jaJP,\n 'kk-KZ': kkKZ,\n 'ko-KR': koKR,\n 'lt-LT': ltLT,\n 'lv-LV': lvLV,\n 'ms-MY': msMY,\n 'nb-NO': nbNO,\n 'nl-NL': nlNL,\n 'pl-PL': plPL,\n 'pt-BR': ptBR,\n 'pt-PT': ptPT,\n 'ro-RO': roRO,\n 'ru-RU': ruRU,\n 'sk-SK': skSK,\n 'sl-SI': slSI,\n 'sr-Cyrl': srCyrlCS,\n 'sr-Latn': srLatnCS,\n 'sv-SE': svSE,\n 'th-TH': thTH,\n 'tr-TR': trTR,\n 'uk-UA': ukUA,\n 'vi-VN': viVN,\n yue,\n 'zh-Hans': zhCN,\n 'zh-Hant': zhTW,\n 'zh-Hans-SG': zhCN,\n 'zh-Hant-HK': zhHK,\n 'zh-Hant-MO': zhTW\n },\n bundledOverrides\n ))\n );\n}\n\nexport default getAllLocalizedStrings;\n","import { useCallback, useState } from 'react';\n\nfunction useForceRender() {\n const [, setForceRender] = useState();\n\n return useCallback(() => setForceRender({}), [setForceRender]);\n}\n\nexport default useForceRender;\n","import { createContext } from 'react';\nimport type { DirectLineJSBotConnection, WebChatActivity } from 'botframework-webchat-core';\n\nimport { AttachmentForScreenReaderComponentFactory } from '../../types/AttachmentForScreenReaderMiddleware';\nimport { AvatarComponentFactory } from '../../types/AvatarMiddleware';\nimport { GroupActivities } from '../../types/GroupActivitiesMiddleware';\nimport { LegacyActivityRenderer } from '../../types/ActivityMiddleware';\nimport { Observable } from 'redux';\nimport { PerformCardAction } from '../../types/CardActionMiddleware';\nimport { RenderActivityStatus } from '../../types/ActivityStatusMiddleware';\nimport { RenderAttachment } from '../../types/AttachmentMiddleware';\nimport { RenderToast } from '../../types/ToastMiddleware';\nimport { ScrollToEndButtonComponentFactory } from '../../types/ScrollToEndButtonMiddleware';\nimport { StrictStyleOptions } from '../../StyleOptions';\nimport LocalizedStrings from '../../types/LocalizedStrings';\nimport PrecompiledGlobalize from '../../types/PrecompiledGlobalize';\nimport TelemetryMeasurementEvent from '../../types/TelemetryMeasurementEvent';\n\ntype WebChatAPIContext = {\n activityRenderer?: LegacyActivityRenderer;\n activityStatusRenderer: RenderActivityStatus;\n attachmentForScreenReaderRenderer?: AttachmentForScreenReaderComponentFactory;\n attachmentRenderer?: RenderAttachment;\n avatarRenderer?: AvatarComponentFactory;\n clearSuggestedActions?: () => void;\n dir?: string;\n directLine?: DirectLineJSBotConnection;\n disabled?: boolean;\n dismissNotification?: (id: string) => void;\n downscaleImageToDataURL?: (blob: Blob, maxWidth: number, maxHeight: number, type: string, quality: number) => string;\n emitTypingIndicator?: () => void;\n grammars?: any;\n groupActivities?: GroupActivities;\n internalErrorBoxClass?: React.Component | Function;\n language?: string;\n localizedGlobalizeState?: PrecompiledGlobalize[];\n localizedStrings?: { [language: string]: LocalizedStrings };\n markActivity?: (activity: { id: string }, name: string, value?: any) => void;\n onCardAction?: PerformCardAction;\n onTelemetry?: (event: TelemetryMeasurementEvent) => void;\n postActivity?: (activity: WebChatActivity) => Observable<string>;\n renderMarkdown?: (\n markdown: string,\n newLineOptions: { markdownRespectCRLF: boolean },\n linkOptions: { externalLinkAlt: string }\n ) => string;\n scrollToEndButtonRenderer?: ScrollToEndButtonComponentFactory;\n selectVoice?: (voices: (typeof window.SpeechSynthesisVoice)[], activity: WebChatActivity) => void;\n sendEvent?: (name: string, value: any) => void;\n sendFiles?: (files: File[]) => void;\n sendMessage?: (text: string, method?: string, { channelData }?: { channelData?: any }) => void;\n sendMessageBack?: (value: any, text?: string, displayText?: string) => void;\n sendPostBack?: (value?: any) => void;\n sendTypingIndicator?: boolean;\n setDictateInterims?: (interims: string[]) => void;\n setDictateState?: (dictateState: number) => void;\n setNotification?: (notification: Notification) => void;\n setSendBox?: (value: string) => void;\n setSendTimeout?: (timeout: number) => void;\n startDictate?: () => void;\n startSpeakingActivity?: () => void;\n stopDictate?: () => void;\n stopSpeakingActivity?: () => void;\n styleOptions?: StrictStyleOptions;\n submitSendBox?: (method?: string, { channelData }?: { channelData: any }) => void;\n telemetryDimensionsRef?: React.Ref<any>;\n toastRenderer?: RenderToast;\n trackDimension?: (name: string, data: any) => void;\n typingIndicatorRenderer?: any; // TODO\n userID?: string;\n username?: string;\n};\n\nconst context = createContext<WebChatAPIContext>(undefined);\n\ncontext.displayName = 'WebChatAPIContext';\n\nexport default context;\n","// This type is only for this package only and help reducing size of the bundle.\n// Externals should use the string literal directly instead.\n\n// TODO: [P3] #4040 When improve treeshaking with named exports, we could export internals from `core` package.\n// import { SENDING, SEND_FAILED, SENT } from 'botframework-webchat-core/internal/SendStatus';\n\nconst SENDING = 'sending';\nconst SEND_FAILED = 'send failed';\nconst SENT = 'sent';\n\ntype SendStatus = typeof SENDING | typeof SEND_FAILED | typeof SENT;\n\nexport { SENDING, SEND_FAILED, SENT };\nexport type { SendStatus };\n","import useLocalizedStrings from './internal/useLocalizedStrings';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useLanguage(options?: 'speech'): [string] {\n const { language } = useWebChatAPIContext();\n const localizedStrings = useLocalizedStrings();\n\n if (options === 'speech') {\n return [localizedStrings.SPEECH_LANGUAGE || language];\n }\n\n return [language];\n}\n","import { useMemo } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useStyleOptions from './useStyleOptions';\n\nexport default function useGetSendTimeoutForActivity(): ({ activity }: { activity: WebChatActivity }) => number {\n const [{ sendTimeout, sendTimeoutForAttachments }] = useStyleOptions();\n\n return useMemo(\n () =>\n ({ activity }) => {\n if (typeof sendTimeout === 'function') {\n return sendTimeout(activity);\n }\n\n return activity.type === 'message' && activity.attachments?.length ? sendTimeoutForAttachments : sendTimeout;\n },\n [sendTimeout, sendTimeoutForAttachments]\n );\n}\n","const { toString } = {};\n\nexport default function isObject(obj) {\n return toString.call(obj) === '[object Object]';\n}\n","import { useCallback } from 'react';\n\nimport useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useReadTelemetryDimensions() {\n const { telemetryDimensionsRef } = useWebChatAPIContext();\n\n return useCallback(() => ({ ...telemetryDimensionsRef.current }), [telemetryDimensionsRef]);\n}\n","import { useCallback } from 'react';\n\nimport createCustomEvent from '../utils/createCustomEvent';\nimport useReadTelemetryDimensions from './internal/useReadTelemetryDimensions';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useTrackException(): (error: Error, fatal: boolean) => void {\n const { onTelemetry } = useWebChatAPIContext();\n const readTelemetryDimensions = useReadTelemetryDimensions();\n\n return useCallback(\n (error, fatal = true) => {\n if (!(error instanceof Error)) {\n return console.warn(\n 'botframework-webchat: \"error\" passed to \"useTrackException\" must be specified and of type Error.'\n );\n }\n\n onTelemetry &&\n onTelemetry(\n createCustomEvent('exception', {\n dimensions: { ...readTelemetryDimensions() },\n error,\n fatal: !!fatal\n })\n );\n },\n [onTelemetry, readTelemetryDimensions]\n );\n}\n","/**\n * Globalize Runtime v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize Runtime v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t\"use strict\";\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"../globalize-runtime\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory( require( \"../globalize-runtime\" ) );\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Globalize );\n\t}\n}(this, function( Globalize ) {\n\n\n\nvar runtimeKey = Globalize._runtimeKey,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterType = Globalize._validateParameterType;\n\n\nvar validateParameterTypeNumber = function( value, name ) {\n\tvalidateParameterType(\n\t\tvalue,\n\t\tname,\n\t\tvalue === undefined || typeof value === \"number\",\n\t\t\"Number\"\n\t);\n};\n\n\n\n\nvar pluralGeneratorFn = function( plural ) {\n\treturn function pluralGenerator( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn plural( value );\n\t};\n};\n\n\n\n\nGlobalize._pluralGeneratorFn = pluralGeneratorFn;\nGlobalize._validateParameterTypeNumber = validateParameterTypeNumber;\n\nGlobalize.plural =\nGlobalize.prototype.plural = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\treturn this.pluralGenerator( options )( value );\n};\n\nGlobalize.pluralGenerator =\nGlobalize.prototype.pluralGenerator = function( options ) {\n\toptions = options || {};\n\treturn Globalize[ runtimeKey( \"pluralGenerator\", this._locale, [ options ] ) ];\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","import PropTypes from 'prop-types';\nimport React, { useContext, useMemo } from 'react';\n\nimport Composer from './Composer';\nimport Context from './Context';\nimport createNativeUtterance from './createNativeUtterance';\nimport migrateDeprecatedProps from './migrateDeprecatedProps';\nimport SayUtterance from './SayUtterance';\n\nconst Say = props => {\n const {\n lang,\n onBoundary,\n onEnd,\n onError,\n onStart,\n pitch,\n rate,\n speak,\n text,\n voice,\n volume\n } = migrateDeprecatedProps(props, Say);\n\n const { ponyfill } = useContext(Context);\n\n if (speak && !text) {\n console.warn('react-say: \"speak\" prop is being deprecated and renamed to \"text\".');\n text = speak;\n }\n\n const utterance = useMemo(() =>\n createNativeUtterance(\n ponyfill,\n {\n lang,\n onBoundary,\n pitch,\n rate,\n text,\n voice,\n volume\n }\n ),\n [\n lang,\n onBoundary,\n pitch,\n ponyfill,\n rate,\n text,\n voice,\n volume\n ]\n );\n\n return (\n <SayUtterance\n onEnd={ onEnd }\n onError={ onError }\n onStart={ onStart }\n ponyfill={ ponyfill }\n utterance={ utterance }\n />\n );\n}\n\nSay.defaultProps = {\n children: undefined,\n lang: undefined,\n onBoundary: undefined,\n onEnd: undefined,\n onError: undefined,\n onStart: undefined,\n pitch: undefined,\n rate: undefined,\n speak: undefined,\n voice: undefined,\n volume: undefined\n};\n\nSay.propTypes = {\n children: PropTypes.any,\n lang: PropTypes.string,\n onBoundary: PropTypes.func,\n onEnd: PropTypes.func,\n onError: PropTypes.func,\n onStart: PropTypes.func,\n pitch: PropTypes.number,\n rate: PropTypes.number,\n speak: PropTypes.string,\n text: PropTypes.string.isRequired,\n voice: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n volume: PropTypes.number\n};\n\nconst SayWithContext = ({ ponyfill, ...props }) => (\n <Composer ponyfill={ ponyfill }>\n <Say {...props} />\n </Composer>\n);\n\nSayWithContext.defaultProps = {\n ...SayUtterance.defaultProps,\n ponyfill: undefined\n};\n\nSayWithContext.propTypes = {\n ...SayUtterance.propTypes,\n ponyfill: PropTypes.shape({\n speechSynthesis: PropTypes.any.isRequired,\n SpeechSynthesisUtterance: PropTypes.any.isRequired\n })\n};\n\nexport default SayWithContext\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import PropTypes from 'prop-types';\nimport React, { useContext, useMemo, useState } from 'react';\n\nimport Context from './Context';\nimport createSynthesize from './createSynthesize';\nimport migrateDeprecatedProps from './migrateDeprecatedProps';\nimport useEvent from './useEvent';\n\nconst Composer = props => {\n const { children, ponyfill: ponyfillFromProps } = migrateDeprecatedProps(props, Composer);\n\n // If we have the parent context, we will use that synthesize() function and its internal queue.\n const { ponyfill: parentPonyfill, synthesize: parentSynthesize } = useContext(Context) || {};\n\n const ponyfill = ponyfillFromProps || parentPonyfill || {\n speechSynthesis: window.speechSynthesis || window.webkitSpeechSynthesis,\n SpeechSynthesisUtterance: window.SpeechSynthesisUtterance || window.webkitSpeechSynthesisUtterance,\n };\n\n // If the parent context changed and no longer has a synthesize() function, we will create the queue.\n // This is very unlikely to happen.\n const synthesize = useMemo(() => parentSynthesize || createSynthesize(), [parentSynthesize]);\n const { speechSynthesis } = ponyfill;\n const [voices, setVoices] = useState(speechSynthesis.getVoices());\n\n useEvent(speechSynthesis, 'voiceschanged', () => setVoices(speechSynthesis.getVoices()));\n\n const context = useMemo(() => ({\n ponyfill,\n synthesize,\n voices\n }), [ponyfill, synthesize, voices]);\n\n return (\n <Context.Provider value={ context }>\n {\n typeof children === 'function' ?\n <Context.Consumer>\n { context => children(context) }\n </Context.Consumer>\n :\n children\n }\n </Context.Provider>\n );\n};\n\nComposer.defaultProps = {\n children: undefined,\n ponyfill: undefined\n};\n\nComposer.propTypes = {\n children: PropTypes.any,\n ponyfill: PropTypes.shape({\n speechSynthesis: PropTypes.any,\n SpeechSynthesisUtterance: PropTypes.any\n })\n};\n\nexport default Composer;\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","export default function createCustomEvent(name, eventInitDict) {\n if (name === 'error') {\n if (typeof ErrorEvent === 'function') {\n return new ErrorEvent(name, eventInitDict);\n }\n } else if (typeof CustomEvent === 'function') {\n return new CustomEvent(name, eventInitDict);\n }\n\n const event = document.createEvent('Event');\n\n event.initEvent(name, true, true);\n\n Object.entries(eventInitDict || {}).forEach(([key, value]) => {\n event[key] = value;\n });\n\n return event;\n}\n","import { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nexport default function mirrorStyle(mirrorSelector, styles) {\n const mirrored = {};\n\n for (const [key, value] of Object.entries(styles)) {\n if (typeof value === 'number' || typeof value === 'string') {\n const patchedKey = key.replace(/(^left|^right|Left|Right)/u, match =>\n match === 'Left' ? 'Right' : match === 'left' ? 'right' : match === 'Right' ? 'Left' : 'left'\n );\n\n if (!isForbiddenPropertyName(patchedKey)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n mirrored[patchedKey] = value;\n }\n } else if (!isForbiddenPropertyName(key)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n mirrored[key] = mirrorStyle('', value);\n }\n }\n\n const relative = /^&\\s*/gu.exec(mirrorSelector) || '';\n\n return mirrorSelector\n ? {\n [`${relative}:not(${mirrorSelector.substr(relative.length)})`]: styles,\n [mirrorSelector]: mirrored\n }\n : mirrored;\n}\n","/**\n * class Ruler\n *\n * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and\n * [[MarkdownIt#inline]] to manage sequences of functions (rules):\n *\n * - keep rules in defined order\n * - assign the name to each rule\n * - enable/disable rules\n * - add/replace rules\n * - allow assign rules to additional named chains (in the same)\n * - cacheing lists of active rules\n *\n * You will not need use this class directly until write plugins. For simple\n * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and\n * [[MarkdownIt.use]].\n **/\n'use strict';\n\n\n/**\n * new Ruler()\n **/\nfunction Ruler() {\n // List of added rules. Each element is:\n //\n // {\n // name: XXX,\n // enabled: Boolean,\n // fn: Function(),\n // alt: [ name2, name3 ]\n // }\n //\n this.__rules__ = [];\n\n // Cached rule chains.\n //\n // First level - chain name, '' for default.\n // Second level - diginal anchor for fast filtering by charcodes.\n //\n this.__cache__ = null;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Helper methods, should not be used directly\n\n\n// Find rule index by name\n//\nRuler.prototype.__find__ = function (name) {\n for (var i = 0; i < this.__rules__.length; i++) {\n if (this.__rules__[i].name === name) {\n return i;\n }\n }\n return -1;\n};\n\n\n// Build rules lookup cache\n//\nRuler.prototype.__compile__ = function () {\n var self = this;\n var chains = [ '' ];\n\n // collect unique names\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n rule.alt.forEach(function (altName) {\n if (chains.indexOf(altName) < 0) {\n chains.push(altName);\n }\n });\n });\n\n self.__cache__ = {};\n\n chains.forEach(function (chain) {\n self.__cache__[chain] = [];\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n if (chain && rule.alt.indexOf(chain) < 0) { return; }\n\n self.__cache__[chain].push(rule.fn);\n });\n });\n};\n\n\n/**\n * Ruler.at(name, fn [, options])\n * - name (String): rule name to replace.\n * - fn (Function): new rule function.\n * - options (Object): new rule options (not mandatory).\n *\n * Replace rule by name with new function & options. Throws error if name not\n * found.\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * Replace existing typographer replacement rule with new one:\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.at('replacements', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.at = function (name, fn, options) {\n var index = this.__find__(name);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + name); }\n\n this.__rules__[index].fn = fn;\n this.__rules__[index].alt = opt.alt || [];\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.before(beforeName, ruleName, fn [, options])\n * - beforeName (String): new rule will be added before this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain before one with given name. See also\n * [[Ruler.after]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.block.ruler.before('paragraph', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.before = function (beforeName, ruleName, fn, options) {\n var index = this.__find__(beforeName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + beforeName); }\n\n this.__rules__.splice(index, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.after(afterName, ruleName, fn [, options])\n * - afterName (String): new rule will be added after this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain after one with given name. See also\n * [[Ruler.before]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.inline.ruler.after('text', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.after = function (afterName, ruleName, fn, options) {\n var index = this.__find__(afterName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + afterName); }\n\n this.__rules__.splice(index + 1, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n/**\n * Ruler.push(ruleName, fn [, options])\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Push new rule to the end of chain. See also\n * [[Ruler.before]], [[Ruler.after]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.push('my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.push = function (ruleName, fn, options) {\n var opt = options || {};\n\n this.__rules__.push({\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.enable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to enable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.disable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.enable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and enable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = true;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.enableOnly(list [, ignoreInvalid])\n * - list (String|Array): list of rule names to enable (whitelist).\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names, and disable everything else. If any rule name\n * not found - throw Error. Errors can be disabled by second param.\n *\n * See also [[Ruler.disable]], [[Ruler.enable]].\n **/\nRuler.prototype.enableOnly = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n this.__rules__.forEach(function (rule) { rule.enabled = false; });\n\n this.enable(list, ignoreInvalid);\n};\n\n\n/**\n * Ruler.disable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Disable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.enable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.disable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and disable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = false;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.getRules(chainName) -> Array\n *\n * Return array of active functions (rules) for given chain name. It analyzes\n * rules configuration, compiles caches if not exists and returns result.\n *\n * Default chain name is `''` (empty string). It can't be skipped. That's\n * done intentionally, to keep signature monomorphic for high speed.\n **/\nRuler.prototype.getRules = function (chainName) {\n if (this.__cache__ === null) {\n this.__compile__();\n }\n\n // Chain can be empty, if rules disabled. But we still have to return Array.\n return this.__cache__[chainName] || [];\n};\n\nmodule.exports = Ruler;\n","// Token class\n\n'use strict';\n\n\n/**\n * class Token\n **/\n\n/**\n * new Token(type, tag, nesting)\n *\n * Create new token and fill passed properties.\n **/\nfunction Token(type, tag, nesting) {\n /**\n * Token#type -> String\n *\n * Type of the token (string, e.g. \"paragraph_open\")\n **/\n this.type = type;\n\n /**\n * Token#tag -> String\n *\n * html tag name, e.g. \"p\"\n **/\n this.tag = tag;\n\n /**\n * Token#attrs -> Array\n *\n * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`\n **/\n this.attrs = null;\n\n /**\n * Token#map -> Array\n *\n * Source map info. Format: `[ line_begin, line_end ]`\n **/\n this.map = null;\n\n /**\n * Token#nesting -> Number\n *\n * Level change (number in {-1, 0, 1} set), where:\n *\n * - `1` means the tag is opening\n * - `0` means the tag is self-closing\n * - `-1` means the tag is closing\n **/\n this.nesting = nesting;\n\n /**\n * Token#level -> Number\n *\n * nesting level, the same as `state.level`\n **/\n this.level = 0;\n\n /**\n * Token#children -> Array\n *\n * An array of child nodes (inline and img tokens)\n **/\n this.children = null;\n\n /**\n * Token#content -> String\n *\n * In a case of self-closing tag (code, html, fence, etc.),\n * it has contents of this tag.\n **/\n this.content = '';\n\n /**\n * Token#markup -> String\n *\n * '*' or '_' for emphasis, fence string for fence, etc.\n **/\n this.markup = '';\n\n /**\n * Token#info -> String\n *\n * Additional information:\n *\n * - Info string for \"fence\" tokens\n * - The value \"auto\" for autolink \"link_open\" and \"link_close\" tokens\n * - The string value of the item marker for ordered-list \"list_item_open\" tokens\n **/\n this.info = '';\n\n /**\n * Token#meta -> Object\n *\n * A place for plugins to store an arbitrary data\n **/\n this.meta = null;\n\n /**\n * Token#block -> Boolean\n *\n * True for block-level tokens, false for inline tokens.\n * Used in renderer to calculate line breaks\n **/\n this.block = false;\n\n /**\n * Token#hidden -> Boolean\n *\n * If it's true, ignore this element when rendering. Used for tight lists\n * to hide paragraphs.\n **/\n this.hidden = false;\n}\n\n\n/**\n * Token.attrIndex(name) -> Number\n *\n * Search attribute index by name.\n **/\nToken.prototype.attrIndex = function attrIndex(name) {\n var attrs, i, len;\n\n if (!this.attrs) { return -1; }\n\n attrs = this.attrs;\n\n for (i = 0, len = attrs.length; i < len; i++) {\n if (attrs[i][0] === name) { return i; }\n }\n return -1;\n};\n\n\n/**\n * Token.attrPush(attrData)\n *\n * Add `[ name, value ]` attribute to list. Init attrs if necessary\n **/\nToken.prototype.attrPush = function attrPush(attrData) {\n if (this.attrs) {\n this.attrs.push(attrData);\n } else {\n this.attrs = [ attrData ];\n }\n};\n\n\n/**\n * Token.attrSet(name, value)\n *\n * Set `name` attribute to `value`. Override old value if exists.\n **/\nToken.prototype.attrSet = function attrSet(name, value) {\n var idx = this.attrIndex(name),\n attrData = [ name, value ];\n\n if (idx < 0) {\n this.attrPush(attrData);\n } else {\n this.attrs[idx] = attrData;\n }\n};\n\n\n/**\n * Token.attrGet(name)\n *\n * Get the value of attribute `name`, or null if it does not exist.\n **/\nToken.prototype.attrGet = function attrGet(name) {\n var idx = this.attrIndex(name), value = null;\n if (idx >= 0) {\n value = this.attrs[idx][1];\n }\n return value;\n};\n\n\n/**\n * Token.attrJoin(name, value)\n *\n * Join value to existing attribute via space. Or create new attribute if not\n * exists. Useful to operate with token classes.\n **/\nToken.prototype.attrJoin = function attrJoin(name, value) {\n var idx = this.attrIndex(name);\n\n if (idx < 0) {\n this.attrPush([ name, value ]);\n } else {\n this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value;\n }\n};\n\n\nmodule.exports = Token;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","module.exports = require(\"core-js-pure/features/symbol\");","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","module.exports = require(\"core-js-pure/features/object/define-property\");","var _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\nvar _Symbol$iterator = require(\"@babel/runtime-corejs3/core-js/symbol/iterator\");\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof _Symbol && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","require('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar global = require('../internals/global');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _util = require('./util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar process = process || { env: {} };\n\nvar InlineSVG = function (_React$Component) {\n _inherits(InlineSVG, _React$Component);\n\n function InlineSVG() {\n _classCallCheck(this, InlineSVG);\n\n return _possibleConstructorReturn(this, (InlineSVG.__proto__ || Object.getPrototypeOf(InlineSVG)).apply(this, arguments));\n }\n\n _createClass(InlineSVG, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var children = this.props.children;\n\n if (\"production\" !== process.env.NODE_ENV && children != null) {\n console.info('<InlineSVG />: `children` prop will be ignored.');\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var Element = void 0,\n __html = void 0,\n svgProps = void 0;\n\n var _props = this.props,\n element = _props.element,\n raw = _props.raw,\n src = _props.src,\n otherProps = _objectWithoutProperties(_props, ['element', 'raw', 'src']);\n\n if (raw === true) {\n Element = 'svg';\n svgProps = (0, _util.extractSVGProps)(src);\n __html = (0, _util.getSVGFromSource)(src).innerHTML;\n }\n __html = __html || src;\n Element = Element || element;\n svgProps = svgProps || {};\n\n return _react2.default.createElement(Element, _extends({}, svgProps, otherProps, { src: null, children: null,\n dangerouslySetInnerHTML: { __html: __html } }));\n }\n }]);\n\n return InlineSVG;\n}(_react2.default.Component);\n\nexports.default = InlineSVG;\n\n\nInlineSVG.defaultProps = {\n element: 'i',\n raw: false,\n src: ''\n};\n\nInlineSVG.propTypes = {\n src: _propTypes.string.isRequired,\n element: _propTypes.string,\n raw: _propTypes.bool\n};","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\nconst retry = require('retry');\n\nconst networkErrorMsgs = [\n\t'Failed to fetch', // Chrome\n\t'NetworkError when attempting to fetch resource.', // Firefox\n\t'The Internet connection appears to be offline.', // Safari\n\t'Network request failed' // `cross-fetch`\n];\n\nclass AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\n\t\tif (message instanceof Error) {\n\t\t\tthis.originalError = message;\n\t\t\t({message} = message);\n\t\t} else {\n\t\t\tthis.originalError = new Error(message);\n\t\t\tthis.originalError.stack = this.stack;\n\t\t}\n\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\nconst decorateErrorWithCounts = (error, attemptNumber, options) => {\n\t// Minus 1 from attemptNumber because the first attempt does not count as a retry\n\tconst retriesLeft = options.retries - (attemptNumber - 1);\n\n\terror.attemptNumber = attemptNumber;\n\terror.retriesLeft = retriesLeft;\n\treturn error;\n};\n\nconst isNetworkError = errorMessage => networkErrorMsgs.includes(errorMessage);\n\nconst pRetry = (input, options) => new Promise((resolve, reject) => {\n\toptions = {\n\t\tonFailedAttempt: () => {},\n\t\tretries: 10,\n\t\t...options\n\t};\n\n\tconst operation = retry.operation(options);\n\n\toperation.attempt(async attemptNumber => {\n\t\ttry {\n\t\t\tresolve(await input(attemptNumber));\n\t\t} catch (error) {\n\t\t\tif (!(error instanceof Error)) {\n\t\t\t\treject(new TypeError(`Non-error was thrown: \"${error}\". You should only throw errors.`));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (error instanceof AbortError) {\n\t\t\t\toperation.stop();\n\t\t\t\treject(error.originalError);\n\t\t\t} else if (error instanceof TypeError && !isNetworkError(error.message)) {\n\t\t\t\toperation.stop();\n\t\t\t\treject(error);\n\t\t\t} else {\n\t\t\t\tdecorateErrorWithCounts(error, attemptNumber, options);\n\n\t\t\t\ttry {\n\t\t\t\t\tawait options.onFailedAttempt(error);\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!operation.retry(error)) {\n\t\t\t\t\treject(operation.mainError());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n});\n\nmodule.exports = pRetry;\n// TODO: remove this in the next major version\nmodule.exports.default = pRetry;\n\nmodule.exports.AbortError = AbortError;\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"],\n _excluded2 = [\"reactReduxForwardedRef\"];\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var reactReduxForwardedRef = props.reactReduxForwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded2);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n reactReduxForwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a <Provider>, \") + \"or pass a custom React context provider to <Provider> and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var subscription = createSubscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }));\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","export default function bindActionCreators(actionCreators, dispatch) {\n var boundActionCreators = {};\n\n var _loop = function _loop(key) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = function () {\n return dispatch(actionCreator.apply(void 0, arguments));\n };\n }\n };\n\n for (var key in actionCreators) {\n _loop(key);\n }\n\n return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"];\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, _excluded);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default /*#__PURE__*/createConnect();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a <Provider>');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n * <div>\r\n * <span>{value}</span>\r\n * <button onClick={increaseCounter}>Increase counter</button>\r\n * </div>\r\n * )\r\n * }\r\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return <div>{counter}</div>\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js/object/define-property\");\nvar _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\nvar _Object$create = require(\"@babel/runtime-corejs3/core-js/object/create\");\nvar _Object$getPrototypeOf = require(\"@babel/runtime-corejs3/core-js/object/get-prototype-of\");\nvar _forEachInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/for-each\");\nvar _Object$setPrototypeOf = require(\"@babel/runtime-corejs3/core-js/object/set-prototype-of\");\nvar _Promise = require(\"@babel/runtime-corejs3/core-js/promise\");\nvar _reverseInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/reverse\");\nvar _sliceInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/slice\");\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = _Object$defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof _Symbol ? _Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return _Object$defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = _Object$create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = _Object$getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n var _context;\n _forEachInstanceProperty(_context = [\"next\", \"throw\", \"return\"]).call(_context, function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = _Object$create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = _Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return _reverseInstanceProperty(keys).call(keys), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n var _context2;\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, _forEachInstanceProperty(_context2 = this.tryEntries).call(_context2, resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"core-js-pure/stable/instance/for-each\");",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.enc.Utf8;\n\n}));","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { useCallback } from 'react';\n\nimport useWebChatUIContext from './internal/useWebChatUIContext';\n\nexport default function useFocus(): (where?: 'main' | 'sendBox' | 'sendBoxWithoutKeyboard') => void {\n const { focusSendBoxCallbacksRef, focusTranscriptCallbacksRef } = useWebChatUIContext();\n\n return useCallback(\n where => {\n if (where === 'sendBoxWithoutKeyboard') {\n return focusSendBoxCallbacksRef.current.forEach(callback => callback({ noKeyboard: true }));\n }\n\n const { current } = where === 'sendBox' ? focusSendBoxCallbacksRef : focusTranscriptCallbacksRef;\n\n current.forEach(callback => callback());\n },\n [focusSendBoxCallbacksRef, focusTranscriptCallbacksRef]\n );\n}\n","'use strict';\n\n\nmodule.exports.encode = require('./encode');\nmodule.exports.decode = require('./decode');\nmodule.exports.format = require('./format');\nmodule.exports.parse = require('./parse');\n","import { Subject } from './Subject';\nimport { IScheduler } from './Scheduler';\nimport { queue } from './scheduler/queue';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\n/**\n * @class ReplaySubject<T>\n */\nexport class ReplaySubject<T> extends Subject<T> {\n private _events: ReplayEvent<T>[] = [];\n private _bufferSize: number;\n private _windowTime: number;\n\n constructor(bufferSize: number = Number.POSITIVE_INFINITY,\n windowTime: number = Number.POSITIVE_INFINITY,\n private scheduler?: IScheduler) {\n super();\n this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n this._windowTime = windowTime < 1 ? 1 : windowTime;\n }\n\n next(value: T): void {\n const now = this._getNow();\n this._events.push(new ReplayEvent(now, value));\n this._trimBufferThenGetEvents();\n super.next(value);\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): Subscription {\n const _events = this._trimBufferThenGetEvents();\n const scheduler = this.scheduler;\n let subscription: Subscription;\n\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else if (this.hasError) {\n subscription = Subscription.EMPTY;\n } else if (this.isStopped) {\n subscription = Subscription.EMPTY;\n } else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber<T>(subscriber, scheduler));\n }\n\n const len = _events.length;\n for (let i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n\n if (this.hasError) {\n subscriber.error(this.thrownError);\n } else if (this.isStopped) {\n subscriber.complete();\n }\n\n return subscription;\n }\n\n _getNow(): number {\n return (this.scheduler || queue).now();\n }\n\n private _trimBufferThenGetEvents(): ReplayEvent<T>[] {\n const now = this._getNow();\n const _bufferSize = this._bufferSize;\n const _windowTime = this._windowTime;\n const _events = this._events;\n\n let eventsCount = _events.length;\n let spliceCount = 0;\n\n // Trim events that fall out of the time window.\n // Start at the front of the list. Break early once\n // we encounter an event that falls within the window.\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n\n return _events;\n }\n}\n\nclass ReplayEvent<T> {\n constructor(public time: number, public value: T) {\n }\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import { useContext, useMemo } from \"react\";\r\nimport DruidWebchatContext, { DruidWebchatContextType } from '../WebChatContext';\r\nimport { determineDirection } from \"../utils/localeUtils\";\r\n\r\nexport function useDeterminedDirection() {\r\n\r\n const [druidWebChatState,] = useContext<DruidWebchatContextType>(DruidWebchatContext);\r\n\r\n const locale = druidWebChatState.locale;\r\n const propsDir = druidWebChatState.mergedChatOptions.dir;\r\n const determinedDir = useMemo(() => determineDirection(propsDir, locale), [propsDir, locale]);\r\n\r\n return determinedDir;\r\n}","import { root } from '../util/root';\nimport { Action } from './Action';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class AsyncAction<T> extends Action<T> {\n\n public id: any;\n public state: T;\n public delay: number;\n protected pending: boolean = false;\n protected work: (this: this, state?: T) => void;\n\n constructor(protected scheduler: AsyncScheduler,\n work: (this: AsyncAction<T>, state?: T) => void) {\n super(scheduler, work);\n this.work = work;\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, id?: any, delay: number = 0): any {\n return root.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(scheduler: AsyncScheduler, id: any, delay: number = 0): any {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n return root.clearInterval(id) && undefined || undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, delay: number): any {\n let errored: boolean = false;\n let errorValue: any = undefined;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n /** @deprecated internal use only */ _unsubscribe() {\n\n const id = this.id;\n const scheduler = this.scheduler;\n const actions = scheduler.actions;\n const index = actions.indexOf(this);\n\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n\n if (index !== -1) {\n actions.splice(index, 1);\n }\n\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null;\n }\n}\n","import { Scheduler } from '../Scheduler';\nimport { AsyncAction } from './AsyncAction';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array<AsyncAction<any>> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n */\n public active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n */\n public scheduled: any = undefined;\n\n public flush(action: AsyncAction<any>): void {\n\n const {actions} = this;\n\n if (this.active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this.active = true;\n\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift()); // exhaust the scheduler queue\n\n this.active = false;\n\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { PartialObserver } from './Observer';\nimport { Observable } from './Observable';\n\n/**\n * Represents a push-based event or value that an {@link Observable} can emit.\n * This class is particularly useful for operators that manage notifications,\n * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and\n * others. Besides wrapping the actual delivered value, it also annotates it\n * with metadata of, for instance, what type of push message it is (`next`,\n * `error`, or `complete`).\n *\n * @see {@link materialize}\n * @see {@link dematerialize}\n * @see {@link observeOn}\n *\n * @class Notification<T>\n */\nexport class Notification<T> {\n hasValue: boolean;\n\n constructor(public kind: string, public value?: T, public error?: any) {\n this.hasValue = kind === 'N';\n }\n\n /**\n * Delivers to the given `observer` the value wrapped by this Notification.\n * @param {Observer} observer\n * @return\n */\n observe(observer: PartialObserver<T>): any {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n }\n\n /**\n * Given some {@link Observer} callbacks, deliver the value represented by the\n * current Notification to the correctly corresponding callback.\n * @param {function(value: T): void} next An Observer `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n do(next: (value: T) => void, error?: (err: any) => void, complete?: () => void): any {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n }\n\n /**\n * Takes an Observer or its individual callback functions, and calls `observe`\n * or `do` methods accordingly.\n * @param {Observer|function(value: T): void} nextOrObserver An Observer or\n * the `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n accept(nextOrObserver: PartialObserver<T> | ((value: T) => void), error?: (err: any) => void, complete?: () => void) {\n if (nextOrObserver && typeof (<PartialObserver<T>>nextOrObserver).next === 'function') {\n return this.observe(<PartialObserver<T>>nextOrObserver);\n } else {\n return this.do(<(value: T) => void>nextOrObserver, error, complete);\n }\n }\n\n /**\n * Returns a simple Observable that just delivers the notification represented\n * by this Notification instance.\n * @return {any}\n */\n toObservable(): Observable<T> {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return Observable.of(this.value);\n case 'E':\n return Observable.throw(this.error);\n case 'C':\n return Observable.empty<T>();\n }\n throw new Error('unexpected notification kind value');\n }\n\n private static completeNotification: Notification<any> = new Notification('C');\n private static undefinedValueNotification: Notification<any> = new Notification('N', undefined);\n\n /**\n * A shortcut to create a Notification instance of the type `next` from a\n * given value.\n * @param {T} value The `next` value.\n * @return {Notification<T>} The \"next\" Notification representing the\n * argument.\n */\n static createNext<T>(value: T): Notification<T> {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n }\n\n /**\n * A shortcut to create a Notification instance of the type `error` from a\n * given error.\n * @param {any} [err] The `error` error.\n * @return {Notification<T>} The \"error\" Notification representing the\n * argument.\n */\n static createError<T>(err?: any): Notification<T> {\n return new Notification('E', undefined, err);\n }\n\n /**\n * A shortcut to create a Notification instance of the type `complete`.\n * @return {Notification<any>} The valueless \"complete\" Notification.\n */\n static createComplete(): Notification<any> {\n return Notification.completeNotification;\n }\n}\n","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { OperatorFunction } from '../interfaces';\n\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * <span class=\"informal\">Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.</span>\n *\n * <img src=\"./img/map.png\" width=\"100%\">\n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * @example <caption>Map every click to the clientX position of that click</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks.map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return {Observable<R>} An Observable that emits the values from the source\n * Observable transformed by the given `project` function.\n * @method map\n * @owner Observable\n */\nexport function map<T, R>(project: (value: T, index: number) => R, thisArg?: any): OperatorFunction<T, R> {\n return function mapOperation(source: Observable<T>): Observable<R> {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\n\nexport class MapOperator<T, R> implements Operator<T, R> {\n constructor(private project: (value: T, index: number) => R, private thisArg: any) {\n }\n\n call(subscriber: Subscriber<R>, source: any): any {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass MapSubscriber<T, R> extends Subscriber<T> {\n count: number = 0;\n private thisArg: any;\n\n constructor(destination: Subscriber<R>,\n private project: (value: T, index: number) => R,\n thisArg: any) {\n super(destination);\n this.thisArg = thisArg || this;\n }\n\n // NOTE: This looks unoptimized, but it's actually purposefully NOT\n // using try/catch optimizations.\n protected _next(value: T) {\n let result: any;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { Observable, ObservableInput } from '../Observable';\nimport { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { OperatorFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function mergeMap<T, R>(project: (value: T, index: number) => ObservableInput<R>, concurrent?: number): OperatorFunction<T, R>;\nexport function mergeMap<T, I, R>(project: (value: T, index: number) => ObservableInput<I>, resultSelector: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R, concurrent?: number): OperatorFunction<T, R>;\n/* tslint:enable:max-line-length */\n\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link mergeAll}.</span>\n *\n * <img src=\"./img/mergeMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger.\n *\n * @example <caption>Map and flatten each letter to an Observable ticking every 1 second</caption>\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var result = letters.mergeMap(x =>\n * Rx.Observable.interval(1000).map(i => x+i)\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // a0\n * // b0\n * // c0\n * // a1\n * // b1\n * // c1\n * // continues to list a,b,c with respective ascending integers\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and merging the results of the Observables obtained\n * from this transformation.\n * @method mergeMap\n * @owner Observable\n */\nexport function mergeMap<T, I, R>(project: (value: T, index: number) => ObservableInput<I>,\n resultSelector?: ((outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R) | number,\n concurrent: number = Number.POSITIVE_INFINITY): OperatorFunction<T, I|R> {\n return function mergeMapOperatorFunction(source: Observable<T>) {\n if (typeof resultSelector === 'number') {\n concurrent = <number>resultSelector;\n resultSelector = null;\n }\n return source.lift(new MergeMapOperator(project, <any>resultSelector, concurrent));\n };\n}\n\nexport class MergeMapOperator<T, I, R> implements Operator<T, I> {\n constructor(private project: (value: T, index: number) => ObservableInput<I>,\n private resultSelector?: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R,\n private concurrent: number = Number.POSITIVE_INFINITY) {\n }\n\n call(observer: Subscriber<I>, source: any): any {\n return source.subscribe(new MergeMapSubscriber(\n observer, this.project, this.resultSelector, this.concurrent\n ));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class MergeMapSubscriber<T, I, R> extends OuterSubscriber<T, I> {\n private hasCompleted: boolean = false;\n private buffer: T[] = [];\n private active: number = 0;\n protected index: number = 0;\n\n constructor(destination: Subscriber<I>,\n private project: (value: T, index: number) => ObservableInput<I>,\n private resultSelector?: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R,\n private concurrent: number = Number.POSITIVE_INFINITY) {\n super(destination);\n }\n\n protected _next(value: T): void {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n } else {\n this.buffer.push(value);\n }\n }\n\n protected _tryNext(value: T) {\n let result: ObservableInput<I>;\n const index = this.index++;\n try {\n result = this.project(value, index);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n }\n\n private _innerSub(ish: ObservableInput<I>, value: T, index: number): void {\n this.add(subscribeToResult<T, I>(this, ish, value, index));\n }\n\n protected _complete(): void {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n }\n\n notifyNext(outerValue: T, innerValue: I,\n outerIndex: number, innerIndex: number,\n innerSub: InnerSubscriber<T, I>): void {\n if (this.resultSelector) {\n this._notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n } else {\n this.destination.next(innerValue);\n }\n }\n\n private _notifyResultSelector(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) {\n let result: R;\n try {\n result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n\n notifyComplete(innerSub: Subscription): void {\n const buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n } else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\n","import { isArray } from '../util/isArray';\n\nexport function isNumeric(val: any): val is number {\n // parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n // subtraction forces infinities to NaN\n // adding 1 corrects loss of precision from parseFloat (#15100)\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n};\n","/* eslint complexity: [\"error\", 100] */\n\n// https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support\n\nexport default function normalizeLanguage(language: string): string {\n language = language.toLowerCase();\n\n if (language === 'ar-eg') {\n return 'ar-EG';\n } else if (language === 'ar-jo') {\n return 'ar-JO';\n } else if (language.startsWith('ar')) {\n return 'ar-SA';\n } else if (language.startsWith('bg')) {\n return 'bg-BG';\n } else if (language.startsWith('ca')) {\n return 'ca-ES';\n } else if (language.startsWith('cs')) {\n return 'cs-CZ';\n } else if (language.startsWith('da')) {\n return 'da-DK';\n } else if (language.startsWith('de')) {\n return 'de-DE';\n } else if (language.startsWith('el')) {\n return 'el-GR';\n } else if (language.startsWith('es')) {\n return 'es-ES';\n } else if (language.startsWith('et')) {\n return 'et-EE';\n } else if (language.startsWith('eu')) {\n return 'eu-ES';\n } else if (language.startsWith('fi')) {\n return 'fi-FI';\n } else if (language.startsWith('fr')) {\n return 'fr-FR';\n } else if (language.startsWith('gl')) {\n return 'gl-ES';\n } else if (language.startsWith('he')) {\n return 'he-IL';\n } else if (language.startsWith('hi')) {\n return 'hi-IN';\n } else if (language.startsWith('hr')) {\n return 'hr-HR';\n } else if (language.startsWith('hu')) {\n return 'hu-HU';\n } else if (language.startsWith('id')) {\n return 'id-ID';\n } else if (language.startsWith('it')) {\n return 'it-IT';\n } else if (language.startsWith('ja')) {\n return 'ja-JP';\n } else if (language.startsWith('kk')) {\n return 'kk-KZ';\n } else if (language.startsWith('ko')) {\n return 'ko-KR';\n } else if (language.startsWith('lt')) {\n return 'lt-LT';\n } else if (language.startsWith('lv')) {\n return 'lv-LV';\n } else if (language.startsWith('ms')) {\n return 'ms-MY';\n } else if (language.startsWith('nb') || language.startsWith('nn') || language.startsWith('no')) {\n return 'nb-NO';\n } else if (language.startsWith('nl')) {\n return 'nl-NL';\n } else if (language.startsWith('pl')) {\n return 'pl-PL';\n } else if (language === 'pt-br') {\n return 'pt-BR';\n } else if (language.startsWith('pt')) {\n return 'pt-PT';\n } else if (language.startsWith('ro')) {\n return 'ro-RO';\n } else if (language.startsWith('ru')) {\n return 'ru-RU';\n } else if (language.startsWith('sk')) {\n return 'sk-SK';\n } else if (language.startsWith('sl')) {\n return 'sl-SI';\n } else if (language.startsWith('sr-cyrl')) {\n return 'sr-Cyrl';\n } else if (language.startsWith('sr-latn')) {\n return 'sr-Latn';\n } else if (language.startsWith('sv')) {\n return 'sv-SE';\n } else if (language.startsWith('th')) {\n return 'th-TH';\n } else if (language.startsWith('tr')) {\n return 'tr-TR';\n } else if (language.startsWith('uk')) {\n return 'uk-UA';\n } else if (language.startsWith('vi')) {\n return 'vi-VN';\n } else if (language.startsWith('yue') || language === 'zh-yue') {\n language === 'zh-yue' &&\n console.warn(\n 'botframework-webchat: The locale \"zh-YUE\" is being renamed to \"yue\" and deprecated. It will be removed on or after 2022-02-12.'\n );\n\n return 'yue';\n } else if (language === 'zh-hant' || language === 'zh-tw') {\n return 'zh-Hant';\n } else if (language === 'zh-hant-hk' || language === 'zh-hk') {\n return 'zh-Hant-HK';\n } else if (language === 'zh-hant-mo' || language === 'zh-mo') {\n return 'zh-Hant-MO';\n } else if (language === 'zh-hans-sg' || language === 'zh-sg') {\n return 'zh-Hans-SG';\n } else if (language.startsWith('zh')) {\n return 'zh-Hans';\n }\n\n return 'en-US';\n}\n","import useActiveTyping from './useActiveTyping';\nimport useActivities from './useActivities';\nimport useActivityKeys from './useActivityKeys';\nimport useActivityKeysByRead from './useActivityKeysByRead';\nimport useAvatarForBot from './useAvatarForBot';\nimport useAvatarForUser from './useAvatarForUser';\nimport useByteFormatter from './useByteFormatter';\nimport useConnectivityStatus from './useConnectivityStatus';\nimport useCreateActivityRenderer from './useCreateActivityRenderer';\nimport useCreateActivityStatusRenderer from './useCreateActivityStatusRenderer';\nimport useCreateAttachmentForScreenReaderRenderer from './useCreateAttachmentForScreenReaderRenderer';\nimport useCreateAvatarRenderer from './useCreateAvatarRenderer';\nimport useCreateScrollToEndButtonRenderer from './useCreateScrollToEndButtonRenderer';\nimport useDateFormatter from './useDateFormatter';\nimport useDebouncedNotifications from './useDebouncedNotifications';\nimport useDictateInterims from './useDictateInterims';\nimport useDictateState from './useDictateState';\nimport useDirection from './useDirection';\nimport useDisabled from './useDisabled';\nimport useDismissNotification from './useDismissNotification';\nimport useEmitTypingIndicator from './useEmitTypingIndicator';\nimport useGetActivityByKey from './useGetActivityByKey';\nimport useGetHasAcknowledgedByActivityKey from './useGetHasAcknowledgedByActivityKey';\nimport useGetKeyByActivity from './useGetKeyByActivity';\nimport useGetKeyByActivityId from './useGetKeyByActivityId';\nimport useGetSendTimeoutForActivity from './useGetSendTimeoutForActivity';\nimport useGrammars from './useGrammars';\nimport useGroupActivities from './useGroupActivities';\nimport useGroupTimestamp from './useGroupTimestamp';\nimport useLanguage from './useLanguage';\nimport useLastAcknowledgedActivityKey from './useLastAcknowledgedActivityKey';\nimport useLastReadActivityKey from './useLastReadActivityKey';\nimport useLocalizer from './useLocalizer';\nimport useMarkActivityAsSpoken from './useMarkActivityAsSpoken';\nimport useMarkActivityKeyAsRead from './useMarkActivityKeyAsRead';\nimport useMarkAllAsAcknowledged from './useMarkAllAsAcknowledged';\nimport usePerformCardAction from './usePerformCardAction';\nimport usePonyfill from './usePonyfill';\nimport usePostActivity from './usePostActivity';\nimport useReferenceGrammarID from './useReferenceGrammarID';\nimport useRelativeTimeFormatter from './useRelativeTimeFormatter';\nimport useRenderActivity from './useRenderActivity';\nimport useRenderActivityStatus from './useRenderActivityStatus';\nimport useRenderAttachment from './useRenderAttachment';\nimport useRenderAvatar from './useRenderAvatar';\nimport useRenderToast from './useRenderToast';\nimport useRenderTypingIndicator from './useRenderTypingIndicator';\nimport useSendBoxValue from './useSendBoxValue';\nimport useSendEvent from './useSendEvent';\nimport useSendFiles from './useSendFiles';\nimport useSendMessage from './useSendMessage';\nimport useSendMessageBack from './useSendMessageBack';\nimport useSendPostBack from './useSendPostBack';\nimport useSendStatusByActivityKey from './useSendStatusByActivityKey';\nimport useSendTimeoutForActivity from './useSendTimeoutForActivity';\nimport useSendTypingIndicator from './useSendTypingIndicator';\nimport useSetNotification from './useSetNotification';\nimport useShouldSpeakIncomingActivity from './useShouldSpeakIncomingActivity';\nimport useStartDictate from './useStartDictate';\nimport useStopDictate from './useStopDictate';\nimport useStyleOptions from './useStyleOptions';\nimport useSubmitSendBox from './useSubmitSendBox';\nimport useSuggestedActions from './useSuggestedActions';\nimport useTimeoutForSend from './useTimeoutForSend';\nimport useTrackDimension from './useTrackDimension';\nimport useTrackEvent from './useTrackEvent';\nimport useTrackException from './useTrackException';\nimport useTrackTiming from './useTrackTiming';\nimport useUserID from './useUserID';\nimport useUsername from './useUsername';\nimport useVoiceSelector from './useVoiceSelector';\n\nexport {\n useActiveTyping,\n useActivities,\n useActivityKeys,\n useActivityKeysByRead,\n useAvatarForBot,\n useAvatarForUser,\n useByteFormatter,\n useConnectivityStatus,\n useCreateActivityRenderer,\n useCreateActivityStatusRenderer,\n useCreateAttachmentForScreenReaderRenderer,\n useCreateAvatarRenderer,\n useCreateScrollToEndButtonRenderer,\n useDateFormatter,\n useDebouncedNotifications,\n useDictateInterims,\n useDictateState,\n useDirection,\n useDisabled,\n useDismissNotification,\n useEmitTypingIndicator,\n useGetActivityByKey,\n useGetHasAcknowledgedByActivityKey,\n useGetKeyByActivity,\n useGetKeyByActivityId,\n useGetSendTimeoutForActivity,\n useGrammars,\n useGroupActivities,\n useGroupTimestamp,\n useLanguage,\n useLastAcknowledgedActivityKey,\n useLastReadActivityKey,\n useLocalizer,\n useMarkActivityAsSpoken,\n useMarkActivityKeyAsRead,\n useMarkAllAsAcknowledged,\n usePerformCardAction,\n usePonyfill,\n usePostActivity,\n useReferenceGrammarID,\n useRelativeTimeFormatter,\n useRenderActivity,\n useRenderActivityStatus,\n useRenderAttachment,\n useRenderAvatar,\n useRenderToast,\n useRenderTypingIndicator,\n useSendBoxValue,\n useSendEvent,\n useSendFiles,\n useSendMessage,\n useSendMessageBack,\n useSendPostBack,\n useSendStatusByActivityKey,\n useSendTimeoutForActivity,\n useSendTypingIndicator,\n useSetNotification,\n useShouldSpeakIncomingActivity,\n useStartDictate,\n useStopDictate,\n useStyleOptions,\n useSubmitSendBox,\n useSuggestedActions,\n useTimeoutForSend,\n useTrackDimension,\n useTrackEvent,\n useTrackException,\n useTrackTiming,\n useUserID,\n useUsername,\n useVoiceSelector\n};\n","module.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/","module.exports=/[\\0-\\x1F\\x7F-\\x9F]/","module.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 5, 36] }] */\n\nimport { useMemo } from 'react';\nimport random from 'math-random';\n\nexport default function useUniqueId(prefix?: string): string {\n const id = useMemo(() => random().toString(36).substr(2, 5), []);\n\n prefix = prefix ? `${prefix}--` : '';\n\n return `${prefix}${id}`;\n}\n","import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, ISubscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\n\n/**\n * @class BehaviorSubject<T>\n */\nexport class BehaviorSubject<T> extends Subject<T> {\n\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): Subscription {\n const subscription = super._subscribe(subscriber);\n if (subscription && !(<ISubscription>subscription).closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n\n getValue(): T {\n if (this.hasError) {\n throw this.thrownError;\n } else if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else {\n return this._value;\n }\n }\n\n next(value: T): void {\n super.next(this._value = value);\n }\n}\n","export function isFunction(x: any): x is Function {\n return typeof x === 'function';\n}\n","import { Observable } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { Operator } from '../Operator';\nimport { PartialObserver } from '../Observer';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nimport { TeardownLogic } from '../Subscription';\nimport { Action } from '../scheduler/Action';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n *\n * Re-emits all notifications from source Observable with specified scheduler.\n *\n * <span class=\"informal\">Ensure a specific scheduler is used, from outside of an Observable.</span>\n *\n * `observeOn` is an operator that accepts a scheduler as a first parameter, which will be used to reschedule\n * notifications emitted by the source Observable. It might be useful, if you do not have control over\n * internal scheduler of a given Observable, but want to control when its values are emitted nevertheless.\n *\n * Returned Observable emits the same notifications (nexted values, complete and error events) as the source Observable,\n * but rescheduled with provided scheduler. Note that this doesn't mean that source Observables internal\n * scheduler will be replaced in any way. Original scheduler still will be used, but when the source Observable emits\n * notification, it will be immediately scheduled again - this time with scheduler passed to `observeOn`.\n * An anti-pattern would be calling `observeOn` on Observable that emits lots of values synchronously, to split\n * that emissions into asynchronous chunks. For this to happen, scheduler would have to be passed into the source\n * Observable directly (usually into the operator that creates it). `observeOn` simply delays notifications a\n * little bit more, to ensure that they are emitted at expected moments.\n *\n * As a matter of fact, `observeOn` accepts second parameter, which specifies in milliseconds with what delay notifications\n * will be emitted. The main difference between {@link delay} operator and `observeOn` is that `observeOn`\n * will delay all notifications - including error notifications - while `delay` will pass through error\n * from source Observable immediately when it is emitted. In general it is highly recommended to use `delay` operator\n * for any kind of delaying of values in the stream, while using `observeOn` to specify which scheduler should be used\n * for notification emissions in general.\n *\n * @example <caption>Ensure values in subscribe are called just before browser repaint.</caption>\n * const intervals = Rx.Observable.interval(10); // Intervals are scheduled\n * // with async scheduler by default...\n *\n * intervals\n * .observeOn(Rx.Scheduler.animationFrame) // ...but we will observe on animationFrame\n * .subscribe(val => { // scheduler to ensure smooth animation.\n * someDiv.style.height = val + 'px';\n * });\n *\n * @see {@link delay}\n *\n * @param {IScheduler} scheduler Scheduler that will be used to reschedule notifications from source Observable.\n * @param {number} [delay] Number of milliseconds that states with what delay every notification should be rescheduled.\n * @return {Observable<T>} Observable that emits the same notifications as the source Observable,\n * but with provided scheduler.\n *\n * @method observeOn\n * @owner Observable\n */\nexport function observeOn<T>(scheduler: IScheduler, delay: number = 0): MonoTypeOperatorFunction<T> {\n return function observeOnOperatorFunction(source: Observable<T>): Observable<T> {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\n\nexport class ObserveOnOperator<T> implements Operator<T, T> {\n constructor(private scheduler: IScheduler, private delay: number = 0) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class ObserveOnSubscriber<T> extends Subscriber<T> {\n static dispatch(this: Action<ObserveOnMessage>, arg: ObserveOnMessage) {\n const { notification, destination } = arg;\n notification.observe(destination);\n this.unsubscribe();\n }\n\n constructor(destination: Subscriber<T>,\n private scheduler: IScheduler,\n private delay: number = 0) {\n super(destination);\n }\n\n private scheduleMessage(notification: Notification<any>): void {\n this.add(this.scheduler.schedule(\n ObserveOnSubscriber.dispatch,\n this.delay,\n new ObserveOnMessage(notification, this.destination)\n ));\n }\n\n protected _next(value: T): void {\n this.scheduleMessage(Notification.createNext(value));\n }\n\n protected _error(err: any): void {\n this.scheduleMessage(Notification.createError(err));\n }\n\n protected _complete(): void {\n this.scheduleMessage(Notification.createComplete());\n }\n}\n\nexport class ObserveOnMessage {\n constructor(public notification: Notification<any>,\n public destination: PartialObserver<any>) {\n }\n}\n","export function isDate(value: any): value is Date {\n return value instanceof Date && !isNaN(+value);\n}\n","import { Operator } from '../Operator';\nimport { Observable, SubscribableOrPromise } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription, TeardownLogic } from '../Subscription';\n\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\nexport interface ThrottleConfig {\n leading?: boolean;\n trailing?: boolean;\n}\n\nexport const defaultThrottleConfig: ThrottleConfig = {\n leading: true,\n trailing: false\n};\n\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/throttle.png\" width=\"100%\">\n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): SubscribableOrPromise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @param {Object} config a configuration object to define `leading` and `trailing` behavior. Defaults\n * to `{ leading: true, trailing: false }`.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n */\nexport function throttle<T>(durationSelector: (value: T) => SubscribableOrPromise<number>,\n config: ThrottleConfig = defaultThrottleConfig): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => source.lift(new ThrottleOperator(durationSelector, config.leading, config.trailing));\n}\n\nclass ThrottleOperator<T> implements Operator<T, T> {\n constructor(private durationSelector: (value: T) => SubscribableOrPromise<number>,\n private leading: boolean,\n private trailing: boolean) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(\n new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing)\n );\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc\n * @ignore\n * @extends {Ignored}\n */\nclass ThrottleSubscriber<T, R> extends OuterSubscriber<T, R> {\n private throttled: Subscription;\n private _trailingValue: T;\n private _hasTrailingValue = false;\n\n constructor(protected destination: Subscriber<T>,\n private durationSelector: (value: T) => SubscribableOrPromise<number>,\n private _leading: boolean,\n private _trailing: boolean) {\n super(destination);\n }\n\n protected _next(value: T): void {\n if (this.throttled) {\n if (this._trailing) {\n this._hasTrailingValue = true;\n this._trailingValue = value;\n }\n } else {\n const duration = this.tryDurationSelector(value);\n if (duration) {\n this.add(this.throttled = subscribeToResult(this, duration));\n }\n if (this._leading) {\n this.destination.next(value);\n if (this._trailing) {\n this._hasTrailingValue = true;\n this._trailingValue = value;\n }\n }\n }\n }\n\n private tryDurationSelector(value: T): SubscribableOrPromise<any> {\n try {\n return this.durationSelector(value);\n } catch (err) {\n this.destination.error(err);\n return null;\n }\n }\n\n /** @deprecated internal use only */ _unsubscribe() {\n const { throttled, _trailingValue, _hasTrailingValue, _trailing } = this;\n\n this._trailingValue = null;\n this._hasTrailingValue = false;\n\n if (throttled) {\n this.remove(throttled);\n this.throttled = null;\n throttled.unsubscribe();\n }\n }\n\n private _sendTrailing() {\n const { destination, throttled, _trailing, _trailingValue, _hasTrailingValue } = this;\n if (throttled && _trailing && _hasTrailingValue) {\n destination.next(_trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n }\n\n notifyNext(outerValue: T, innerValue: R,\n outerIndex: number, innerIndex: number,\n innerSub: InnerSubscriber<T, R>): void {\n this._sendTrailing();\n this._unsubscribe();\n }\n\n notifyComplete(): void {\n this._sendTrailing();\n this._unsubscribe();\n }\n}\n","import { Observable } from '../../../Observable';\nimport { ajax as staticAjax } from '../../../observable/dom/ajax';\nimport { AjaxCreationMethod } from '../../../observable/dom/AjaxObservable';\n\nObservable.ajax = staticAjax;\n\ndeclare module '../../../Observable' {\n namespace Observable {\n export let ajax: AjaxCreationMethod;\n }\n}","import { useContext, useEffect } from \"react\";\r\nimport { getCookie } from \"../utils/cookiesUtils\";\r\nimport DruidWebchatContext, { DruidWebchatContextType } from \"../WebChatContext\";\r\n\r\nexport const useAutoExpand = () => {\r\n const [druidWebChatState, druidWebChatDispatch] = useContext<DruidWebchatContextType>(DruidWebchatContext);\r\n \r\n useEffect(() => {\r\n if((druidWebChatState.mergedChatOptions.UI?.autoExpandEnabled || (druidWebChatState.mergedChatOptions.druidWebChatIsOpenedEnabled && getCookie(\"druidWebChatIsOpened\") === 'true')) && !druidWebChatState.initialized && druidWebChatState.loaded) {\r\n druidWebChatDispatch({type:\"OPEN_WEBCHAT\"});\r\n // (druidWebChatState.mergedChatOptions.containerElement && druidWebChatState.mergedChatOptions.containerElement.click()) || toggleWebchatButtonRef.current?.click();\r\n }\r\n }, [druidWebChatState.mergedChatOptions.UI?.autoExpandEnabled, druidWebChatState.mergedChatOptions.druidWebChatIsOpenedEnabled , druidWebChatDispatch, druidWebChatState.initialized, druidWebChatState.loaded]);\r\n}","const CLEAR_SUGGESTED_ACTIONS = 'WEB_CHAT/CLEAR_SUGGESTED_ACTIONS';\n\nexport default function clearSuggestedActions() {\n return {\n type: CLEAR_SUGGESTED_ACTIONS\n };\n}\n\nexport { CLEAR_SUGGESTED_ACTIONS };\n","const SET_LANGUAGE = 'WEB_CHAT/SET_LANGUAGE';\n\nexport default function setLanguage(language) {\n return {\n type: SET_LANGUAGE,\n payload: { language }\n };\n}\n\nexport { SET_LANGUAGE };\n","import { Composer as APIComposer, hooks, WebSpeechPonyfillFactory } from 'botframework-webchat-api';\nimport { Composer as SayComposer } from 'react-say';\nimport { singleToArray } from 'botframework-webchat-core';\nimport createEmotion from '@emotion/css/create-instance';\nimport createStyleSet from './Styles/createStyleSet';\nimport MarkdownIt from 'markdown-it';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\n\nimport {\n speechSynthesis as bypassSpeechSynthesis,\n SpeechSynthesisUtterance as BypassSpeechSynthesisUtterance\n} from './hooks/internal/BypassSpeechSynthesisPonyfill';\nimport ActivityTreeComposer from './providers/ActivityTree/ActivityTreeComposer';\nimport addTargetBlankToHyperlinksMarkdown from './Utils/addTargetBlankToHyperlinksMarkdown';\nimport createCSSKey from './Utils/createCSSKey';\nimport createDefaultActivityMiddleware from './Middleware/Activity/createCoreMiddleware';\nimport createDefaultActivityStatusMiddleware from './Middleware/ActivityStatus/createCoreMiddleware';\nimport createDefaultAttachmentForScreenReaderMiddleware from './Middleware/AttachmentForScreenReader/createCoreMiddleware';\nimport createDefaultAttachmentMiddleware from './Middleware/Attachment/createCoreMiddleware';\nimport createDefaultAvatarMiddleware from './Middleware/Avatar/createCoreMiddleware';\nimport createDefaultCardActionMiddleware from './Middleware/CardAction/createCoreMiddleware';\nimport createDefaultScrollToEndButtonMiddleware from './Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware';\nimport createDefaultToastMiddleware from './Middleware/Toast/createCoreMiddleware';\nimport createDefaultTypingIndicatorMiddleware from './Middleware/TypingIndicator/createCoreMiddleware';\nimport Dictation from './Dictation';\nimport downscaleImageToDataURL from './Utils/downscaleImageToDataURL';\nimport ErrorBox from './ErrorBox';\nimport mapMap from './Utils/mapMap';\nimport SendBoxComposer from './providers/internal/SendBox/SendBoxComposer';\nimport UITracker from './hooks/internal/UITracker';\nimport WebChatUIContext from './hooks/internal/WebChatUIContext';\n\nimport type { ComposerProps as APIComposerProps } from 'botframework-webchat-api';\nimport type { FC, ReactNode } from 'react';\n\nconst { useGetActivityByKey, useReferenceGrammarID, useStyleOptions } = hooks;\n\nconst node_env = process.env.node_env || process.env.NODE_ENV;\n\nconst emotionPool = {};\n\nfunction styleSetToEmotionObjects(styleToEmotionObject, styleSet) {\n return mapMap(styleSet, (style, key) => (key === 'options' ? style : styleToEmotionObject(style)));\n}\n\ntype ComposerCoreProps = {\n children?: ReactNode;\n extraStyleSet?: any;\n nonce?: string;\n renderMarkdown?: (\n markdown: string,\n newLineOptions: { markdownRespectCRLF: boolean },\n linkOptions: { externalLinkAlt: string }\n ) => string;\n styleSet?: any;\n suggestedActionsAccessKey?: boolean | string;\n webSpeechPonyfillFactory?: WebSpeechPonyfillFactory;\n};\n\nconst ComposerCore: FC<ComposerCoreProps> = ({\n children,\n extraStyleSet,\n nonce,\n renderMarkdown,\n styleSet,\n suggestedActionsAccessKey,\n webSpeechPonyfillFactory\n}) => {\n const [dictateAbortable, setDictateAbortable] = useState();\n const [referenceGrammarID] = useReferenceGrammarID();\n const [styleOptions] = useStyleOptions();\n const focusSendBoxCallbacksRef = useRef([]);\n const focusTranscriptCallbacksRef = useRef([]);\n const internalMarkdownIt = useMemo(() => new MarkdownIt(), []);\n const scrollToCallbacksRef = useRef([]);\n const scrollToEndCallbacksRef = useRef([]);\n\n // Instead of having a `scrollUpCallbacksRef` and `scrollDownCallbacksRef`, they are combined into a single `scrollRelativeCallbacksRef`.\n // The first argument tells whether it should go \"up\" or \"down\".\n const scrollRelativeCallbacksRef = useRef([]);\n\n const dictationOnError = useCallback(err => {\n console.error(err);\n }, []);\n\n const internalRenderMarkdownInline = useMemo(\n () => markdown => {\n const tree = internalMarkdownIt.parseInline(markdown);\n\n // We should add rel=\"noopener noreferrer\" and target=\"_blank\"\n const patchedTree = addTargetBlankToHyperlinksMarkdown(tree);\n\n return internalMarkdownIt.renderer.render(patchedTree);\n },\n [internalMarkdownIt]\n );\n\n const styleToEmotionObject = useMemo(() => {\n // Emotion doesn't hash with nonce. We need to provide the pooling mechanism.\n // 1. If 2 instances use different nonce, they should result in different hash;\n // 2. If 2 instances are being mounted, pooling will make sure we render only 1 set of <style> tags, instead of 2.\n const emotion =\n // Prefix \"id-\" to prevent object injection attack.\n emotionPool[`id-${nonce}`] ||\n (emotionPool[`id-${nonce}`] = createEmotion({ key: `webchat--css-${createCSSKey()}`, nonce }));\n\n return style => emotion.css(style);\n }, [nonce]);\n\n const patchedStyleSet = useMemo(\n () =>\n styleSetToEmotionObjects(styleToEmotionObject, {\n ...(styleSet || createStyleSet(styleOptions)),\n ...extraStyleSet\n }),\n [extraStyleSet, styleOptions, styleSet, styleToEmotionObject]\n );\n\n const webSpeechPonyfill = useMemo(() => {\n const ponyfill = webSpeechPonyfillFactory && webSpeechPonyfillFactory({ referenceGrammarID });\n const { speechSynthesis, SpeechSynthesisUtterance } = ponyfill || {};\n\n return {\n ...ponyfill,\n speechSynthesis: speechSynthesis || bypassSpeechSynthesis,\n SpeechSynthesisUtterance: SpeechSynthesisUtterance || BypassSpeechSynthesisUtterance\n };\n }, [referenceGrammarID, webSpeechPonyfillFactory]);\n\n const scrollPositionObserversRef = useRef([]);\n\n const dispatchScrollPosition = useCallback(\n event => scrollPositionObserversRef.current.forEach(observer => observer(event)),\n [scrollPositionObserversRef]\n );\n\n const observeScrollPosition = useCallback(\n observer => {\n scrollPositionObserversRef.current = [...scrollPositionObserversRef.current, observer];\n\n return () => {\n scrollPositionObserversRef.current = scrollPositionObserversRef.current.filter(target => target !== observer);\n };\n },\n [scrollPositionObserversRef]\n );\n\n const transcriptFocusObserversRef = useRef([]);\n const [numTranscriptFocusObservers, setNumTranscriptFocusObservers] = useState(0);\n\n const getActivityByKey = useGetActivityByKey();\n\n const dispatchTranscriptFocusByActivityKey = useMemo(() => {\n let prevActivityKey: string | Symbol | undefined = Symbol();\n\n return activityKey => {\n if (activityKey !== prevActivityKey) {\n prevActivityKey = activityKey;\n\n const event = { activity: getActivityByKey(activityKey) };\n\n transcriptFocusObserversRef.current.forEach(observer => observer(event));\n }\n };\n }, [getActivityByKey, transcriptFocusObserversRef]);\n\n const observeTranscriptFocus = useCallback(\n observer => {\n transcriptFocusObserversRef.current = [...transcriptFocusObserversRef.current, observer];\n setNumTranscriptFocusObservers(transcriptFocusObserversRef.current.length);\n\n return () => {\n transcriptFocusObserversRef.current = transcriptFocusObserversRef.current.filter(target => target !== observer);\n setNumTranscriptFocusObservers(transcriptFocusObserversRef.current.length);\n };\n },\n [transcriptFocusObserversRef, setNumTranscriptFocusObservers]\n );\n\n const context = useMemo(\n () => ({\n dictateAbortable,\n dispatchScrollPosition,\n dispatchTranscriptFocusByActivityKey,\n focusSendBoxCallbacksRef,\n focusTranscriptCallbacksRef,\n internalMarkdownItState: [internalMarkdownIt],\n internalRenderMarkdownInline,\n nonce,\n numTranscriptFocusObservers,\n observeScrollPosition,\n observeTranscriptFocus,\n renderMarkdown,\n scrollRelativeCallbacksRef,\n scrollToCallbacksRef,\n scrollToEndCallbacksRef,\n setDictateAbortable,\n styleSet: patchedStyleSet,\n styleToEmotionObject,\n suggestedActionsAccessKey,\n webSpeechPonyfill\n }),\n [\n dictateAbortable,\n dispatchScrollPosition,\n dispatchTranscriptFocusByActivityKey,\n focusSendBoxCallbacksRef,\n focusTranscriptCallbacksRef,\n internalMarkdownIt,\n internalRenderMarkdownInline,\n nonce,\n numTranscriptFocusObservers,\n observeScrollPosition,\n observeTranscriptFocus,\n patchedStyleSet,\n renderMarkdown,\n scrollRelativeCallbacksRef,\n scrollToCallbacksRef,\n scrollToEndCallbacksRef,\n setDictateAbortable,\n styleToEmotionObject,\n suggestedActionsAccessKey,\n webSpeechPonyfill\n ]\n );\n\n return (\n <SayComposer ponyfill={webSpeechPonyfill}>\n <WebChatUIContext.Provider value={context}>\n {/* When <SendBoxComposer> is finalized, it will be using an independent instance that lives inside <BasicSendBox>. */}\n <SendBoxComposer>\n {children}\n <Dictation onError={dictationOnError} />\n </SendBoxComposer>\n </WebChatUIContext.Provider>\n </SayComposer>\n );\n};\n\nComposerCore.defaultProps = {\n children: undefined,\n extraStyleSet: undefined,\n nonce: undefined,\n renderMarkdown: undefined,\n styleSet: undefined,\n suggestedActionsAccessKey: 'A a Ã… Ã¥',\n webSpeechPonyfillFactory: undefined\n};\n\nComposerCore.propTypes = {\n extraStyleSet: PropTypes.any,\n nonce: PropTypes.string,\n renderMarkdown: PropTypes.func,\n styleSet: PropTypes.any,\n suggestedActionsAccessKey: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.string]),\n webSpeechPonyfillFactory: PropTypes.func\n};\n\ntype ComposerProps = APIComposerProps & ComposerCoreProps;\n\nconst Composer: FC<ComposerProps> = ({\n activityMiddleware,\n activityStatusMiddleware,\n attachmentForScreenReaderMiddleware,\n attachmentMiddleware,\n avatarMiddleware,\n cardActionMiddleware,\n children,\n extraStyleSet,\n renderMarkdown,\n scrollToEndButtonMiddleware,\n styleSet,\n suggestedActionsAccessKey,\n toastMiddleware,\n typingIndicatorMiddleware,\n webSpeechPonyfillFactory,\n ...composerProps\n}) => {\n const { nonce, onTelemetry } = composerProps;\n\n const patchedActivityMiddleware = useMemo(\n () => [...singleToArray(activityMiddleware), ...createDefaultActivityMiddleware()],\n [activityMiddleware]\n );\n\n const patchedActivityStatusMiddleware = useMemo(\n () => [...singleToArray(activityStatusMiddleware), ...createDefaultActivityStatusMiddleware()],\n [activityStatusMiddleware]\n );\n\n const patchedAttachmentForScreenReaderMiddleware = useMemo(\n () => [\n ...singleToArray(attachmentForScreenReaderMiddleware),\n ...createDefaultAttachmentForScreenReaderMiddleware()\n ],\n [attachmentForScreenReaderMiddleware]\n );\n\n const patchedAttachmentMiddleware = useMemo(\n () => [...singleToArray(attachmentMiddleware), ...createDefaultAttachmentMiddleware()],\n [attachmentMiddleware]\n );\n\n const patchedAvatarMiddleware = useMemo(\n () => [...singleToArray(avatarMiddleware), ...createDefaultAvatarMiddleware()],\n [avatarMiddleware]\n );\n\n const patchedCardActionMiddleware = useMemo(\n () => [...singleToArray(cardActionMiddleware), ...createDefaultCardActionMiddleware()],\n [cardActionMiddleware]\n );\n\n const patchedToastMiddleware = useMemo(\n () => [...singleToArray(toastMiddleware), ...createDefaultToastMiddleware()],\n [toastMiddleware]\n );\n\n const patchedTypingIndicatorMiddleware = useMemo(\n () => [...singleToArray(typingIndicatorMiddleware), ...createDefaultTypingIndicatorMiddleware()],\n [typingIndicatorMiddleware]\n );\n\n const defaultScrollToEndButtonMiddleware = useMemo(() => createDefaultScrollToEndButtonMiddleware(), []);\n\n const patchedScrollToEndButtonMiddleware = useMemo(\n () => [...singleToArray(scrollToEndButtonMiddleware), ...defaultScrollToEndButtonMiddleware],\n [defaultScrollToEndButtonMiddleware, scrollToEndButtonMiddleware]\n );\n\n return (\n <React.Fragment>\n <APIComposer\n activityMiddleware={patchedActivityMiddleware}\n activityStatusMiddleware={patchedActivityStatusMiddleware}\n attachmentForScreenReaderMiddleware={patchedAttachmentForScreenReaderMiddleware}\n attachmentMiddleware={patchedAttachmentMiddleware}\n avatarMiddleware={patchedAvatarMiddleware}\n cardActionMiddleware={patchedCardActionMiddleware}\n downscaleImageToDataURL={downscaleImageToDataURL}\n // Under dev server of create-react-app, \"NODE_ENV\" will be set to \"development\".\n internalErrorBoxClass={node_env === 'development' ? ErrorBox : undefined}\n nonce={nonce}\n scrollToEndButtonMiddleware={patchedScrollToEndButtonMiddleware}\n toastMiddleware={patchedToastMiddleware}\n typingIndicatorMiddleware={patchedTypingIndicatorMiddleware}\n {...composerProps}\n >\n <ActivityTreeComposer>\n <ComposerCore\n extraStyleSet={extraStyleSet}\n nonce={nonce}\n renderMarkdown={renderMarkdown}\n styleSet={styleSet}\n suggestedActionsAccessKey={suggestedActionsAccessKey}\n webSpeechPonyfillFactory={webSpeechPonyfillFactory}\n >\n {children}\n {onTelemetry && <UITracker />}\n </ComposerCore>\n </ActivityTreeComposer>\n </APIComposer>\n </React.Fragment>\n );\n};\n\nComposer.defaultProps = {\n ...APIComposer.defaultProps,\n ...ComposerCore.defaultProps,\n children: undefined\n};\n\nComposer.propTypes = {\n ...APIComposer.propTypes,\n ...ComposerCore.propTypes,\n children: PropTypes.any\n};\n\nexport default Composer;\n\nexport type { ComposerProps };\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","import { createContext } from 'react';\n\nconst context = createContext();\n\nexport default context;\n","export default function textFormatToContentType(textFormat) {\n switch (textFormat) {\n case 'plain':\n return 'text/plain';\n\n case 'xml':\n return 'text/xml';\n\n default:\n return 'text/markdown';\n }\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 5, 36] }] */\n\nimport random from 'math-random';\n\nexport default function randomId(maxLength = 5) {\n return random().toString(36).substr(2, maxLength);\n}\n","import { useContext, useEffect } from \"react\";\r\nimport DruidWebchatContext, { DruidWebchatContextType } from \"../WebChatContext\";\r\n\r\nexport const useContainerElementToggle = ({ initialOptions}) => {\r\n const [druidWebChatState, druidWebChatDispatch, getState] = useContext<DruidWebchatContextType>(DruidWebchatContext);\r\n\r\n useEffect(() => {\r\n const openWebchatAction = () => {\r\n if(getState().minimized) {\r\n return druidWebChatDispatch({\r\n type: 'OPEN_WEBCHAT'\r\n });\r\n }\r\n };\r\n if(druidWebChatState.loaded === true) {\r\n initialOptions.UI?.containerElement?.addEventListener('click', openWebchatAction);\r\n }\r\n return () => {\r\n initialOptions.UI?.containerElement?.removeEventListener('click', openWebchatAction);\r\n }\r\n }, [initialOptions.UI?.containerElement, druidWebChatDispatch, druidWebChatState.loaded, getState]);\r\n}","\nimport { Observable } from '../../Observable';\nimport { _catch } from '../../operator/catch';\n\nObservable.prototype.catch = _catch;\nObservable.prototype._catch = _catch;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n catch: typeof _catch;\n _catch: typeof _catch;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { combineLatest } from '../../operator/combineLatest';\n\nObservable.prototype.combineLatest = combineLatest;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n combineLatest: typeof combineLatest;\n }\n}","import { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { TeardownLogic } from '../Subscription';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class ScalarObservable<T> extends Observable<T> {\n static create<T>(value: T, scheduler?: IScheduler): ScalarObservable<T> {\n return new ScalarObservable(value, scheduler);\n }\n\n static dispatch(state: any): void {\n const { done, value, subscriber } = state;\n\n if (done) {\n subscriber.complete();\n return;\n }\n\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n\n state.done = true;\n (<any> this).schedule(state);\n }\n\n _isScalar: boolean = true;\n\n constructor(public value: T, private scheduler?: IScheduler) {\n super();\n if (scheduler) {\n this._isScalar = false;\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): TeardownLogic {\n const value = this.value;\n const scheduler = this.scheduler;\n\n if (scheduler) {\n return scheduler.schedule(ScalarObservable.dispatch, 0, {\n done: false, value, subscriber\n });\n } else {\n subscriber.next(value);\n if (!subscriber.closed) {\n subscriber.complete();\n }\n }\n }\n}\n","\nimport { Observable } from '../../Observable';\nimport { count } from '../../operator/count';\n\nObservable.prototype.count = count;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n count: typeof count;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { delay } from '../../operator/delay';\n\nObservable.prototype.delay = delay;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n delay: typeof delay;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { _do } from '../../operator/do';\n\nObservable.prototype.do = _do;\nObservable.prototype._do = _do;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n do: typeof _do;\n _do: typeof _do;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { filter } from '../../operator/filter';\n\nObservable.prototype.filter = filter;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n filter: typeof filter;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { map } from '../../operator/map';\n\nObservable.prototype.map = map;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n map: typeof map;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { merge } from '../../operator/merge';\n\nObservable.prototype.merge = merge;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n merge: typeof merge;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { mergeMap } from '../../operator/mergeMap';\n\nObservable.prototype.mergeMap = <any>mergeMap;\nObservable.prototype.flatMap = <any>mergeMap;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n flatMap: typeof mergeMap;\n mergeMap: typeof mergeMap;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { retryWhen } from '../../operator/retryWhen';\n\nObservable.prototype.retryWhen = retryWhen;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n retryWhen: typeof retryWhen;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { share } from '../../operator/share';\n\nObservable.prototype.share = share;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n share: typeof share;\n }\n}","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription, TeardownLogic } from '../Subscription';\nimport { MonoTypeOperatorFunction } from '../interfaces';\nimport { ConnectableObservable } from '../observable/ConnectableObservable';\nimport { Observable } from '../Observable';\n\nexport function refCount<T>(): MonoTypeOperatorFunction<T> {\n return function refCountOperatorFunction(source: ConnectableObservable<T>): Observable<T> {\n return source.lift(new RefCountOperator(source));\n };\n}\n\nclass RefCountOperator<T> implements Operator<T, T> {\n constructor(private connectable: ConnectableObservable<T>) {\n }\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n\n const { connectable } = this;\n (<any> connectable)._refCount++;\n\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n\n if (!refCounter.closed) {\n (<any> refCounter).connection = connectable.connect();\n }\n\n return subscription;\n }\n}\n\nclass RefCountSubscriber<T> extends Subscriber<T> {\n\n private connection: Subscription;\n\n constructor(destination: Subscriber<T>,\n private connectable: ConnectableObservable<T>) {\n super(destination);\n }\n\n /** @deprecated internal use only */ _unsubscribe() {\n\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n\n this.connectable = null;\n const refCount = (<any> connectable)._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n\n (<any> connectable)._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n\n ///\n // Compare the local RefCountSubscriber's connection Subscription to the\n // connection Subscription on the shared ConnectableObservable. In cases\n // where the ConnectableObservable source synchronously emits values, and\n // the RefCountSubscriber's downstream Observers synchronously unsubscribe,\n // execution continues to here before the RefCountOperator has a chance to\n // supply the RefCountSubscriber with the shared connection Subscription.\n // For example:\n // ```\n // Observable.range(0, 10)\n // .publish()\n // .refCount()\n // .take(5)\n // .subscribe();\n // ```\n // In order to account for this case, RefCountSubscriber should only dispose\n // the ConnectableObservable's shared connection Subscription if the\n // connection Subscription exists, *and* either:\n // a. RefCountSubscriber doesn't have a reference to the shared connection\n // Subscription yet, or,\n // b. RefCountSubscriber's connection Subscription reference is identical\n // to the shared connection Subscription\n ///\n const { connection } = this;\n const sharedConnection = (<any> connectable)._connection;\n this.connection = null;\n\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","\nimport { Observable } from '../../Observable';\nimport { take } from '../../operator/take';\n\nObservable.prototype.take = take;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n take: typeof take;\n }\n}","import { Observable } from '../../Observable';\nimport { timer as staticTimer } from '../../observable/timer';\n\nObservable.timer = staticTimer;\n\ndeclare module '../../Observable' {\n namespace Observable {\n export let timer: typeof staticTimer;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { throttleTime } from '../../operator/throttleTime';\n\nObservable.prototype.throttleTime = throttleTime;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n throttleTime: typeof throttleTime;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { bufferTime } from '../../operator/bufferTime';\n\nObservable.prototype.bufferTime = bufferTime;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n bufferTime: typeof bufferTime;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { buffer } from '../../operator/buffer';\n\nObservable.prototype.buffer = buffer;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n buffer: typeof buffer;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { debounceTime } from '../../operator/debounceTime';\n\nObservable.prototype.debounceTime = debounceTime;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n debounceTime: typeof debounceTime;\n }\n}","\nimport { Observable } from '../../Observable';\nimport { distinctUntilChanged } from '../../operator/distinctUntilChanged';\n\nObservable.prototype.distinctUntilChanged = distinctUntilChanged;\n\ndeclare module '../../Observable' {\n interface Observable<T> {\n distinctUntilChanged: typeof distinctUntilChanged;\n }\n}","import { Observable } from '../../Observable';\nimport { empty as staticEmpty } from '../../observable/empty';\n\nObservable.empty = staticEmpty;\n\ndeclare module '../../Observable' {\n namespace Observable {\n export let empty: typeof staticEmpty;\n }\n}","import { Observable } from '../../Observable';\nimport { from as staticFrom } from '../../observable/from';\n\nObservable.from = staticFrom;\n\ndeclare module '../../Observable' {\n namespace Observable {\n export let from: typeof staticFrom;\n }\n}","import { Observable } from '../../Observable';\nimport { interval as staticInterval } from '../../observable/interval';\n\nObservable.interval = staticInterval;\n\ndeclare module '../../Observable' {\n namespace Observable {\n export let interval: typeof staticInterval;\n }\n}","import { Observable } from '../../Observable';\nimport { of as staticOf } from '../../observable/of';\n\nObservable.of = staticOf;\n\ndeclare module '../../Observable' {\n namespace Observable {\n export let of: typeof staticOf; //formOf an iceberg!\n }\n}","import { Observable } from '../../Observable';\nimport { _throw } from '../../observable/throw';\n\nObservable.throw = _throw;","import { useContext, useEffect, useMemo } from \"react\";\nimport { WebChatOptions, webChatDefaultOptions as defaultOptions, webChatFullScreenDefaultOptions, WebChatEventHandlerType, druidNormalizeStyleOptions, restylingsWebchatDefaultOptions } from \"../WebChatOptions\";\nimport * as merge from 'deepmerge';\nimport DruidWebchatContext, { DruidWebchatContextType } from \"../WebChatContext\";\nimport { unstable_batchedUpdates } from 'react-dom';\nimport pRetry from 'p-retry';\nimport { druidLanguageComparison } from '../logics/druidBusinessLogic';\nimport { getCookie } from \"../utils/cookiesUtils\";\nimport simpleUpdateIn from \"simple-update-in\";\nimport { isPlainObject } from 'is-plain-object';\nimport { DruidContext } from \"./useWebChatReducer\";\nimport { mergeChatOptions, visitMergedChatOptions } from \"../utils/mergeChatOptions\";\nimport FullBundleStyleOptions from \"botframework-webchat/lib/types/FullBundleStyleOptions\";\nimport Color from 'color';\n\nexport const useLoadConfiguration = ({ contextValue, initialOptions }: { contextValue: DruidContext, initialOptions: WebChatOptions }) => {\n // const [druidWebChatState, druidWebChatDispatch] = useContext<DruidWebchatContextType>(DruidWebchatContext);\n const [druidWebChatState, druidWebChatDispatch, getState] = contextValue;\n\n useEffect(() => {\n if (!druidWebChatState.loaded) {\n druidWebChatDispatch({type: 'SET_LOADING'});\n (async function () {\n\n var loadConfigurationResult: WebChatOptions & { middlewares: any, publishState?: string };\n if (initialOptions._loadConfigurationJSON) {\n loadConfigurationResult = initialOptions._loadConfigurationJSON;\n } else {\n loadConfigurationResult = await pRetry(async () => {\n const loadConfigurationCallResult = await fetch(`${druidWebChatState.mergedChatOptions.baseUrl}/api/services/app/Bot/LoadConfiguration?botId=${druidWebChatState.mergedChatOptions.botId}`);\n if (loadConfigurationCallResult.status >= 400 && loadConfigurationCallResult.status < 500) {\n throw new pRetry.AbortError(loadConfigurationCallResult.status?.toString());\n }\n\n return loadConfigurationCallResult.json();\n },\n {\n retries: 4,\n }).catch(_ => {\n druidWebChatDispatch({\n type: 'HIDE_CONTAINERELEMENT',\n payload: true\n });\n setTimeout(() => {\n DruidWebchat_v2.destroy(true);\n }, 0);\n return null;\n });\n }\n\n druidWebChatDispatch({type: 'SET_LOADCONFIGURATIONRESULT', payload: loadConfigurationResult});\n\n if (loadConfigurationResult) {\n unstable_batchedUpdates(async () => {\n await babelTransform_WebChatEventHandlers(loadConfigurationResult);\n // if(loadConfigurationResult.transformLoadConfigurationResult) {\n // loadConfigurationResult.transformLoadConfigurationResult(loadConfigurationResult);\n // }\n\n // druidWebChatState.mergedChatOptions -> used for action type: 'RESET'. keeps currently set mergedChatOptions with priority\n const nonDefaults_mergedChatOptions = merge.all<WebChatOptions>([loadConfigurationResult, initialOptions, getState().mergedChatOptions], {\n customMerge: (key) => {\n if (key === 'containerElement') {\n return (a, b) => initialOptions[key];\n }\n if (key === 'directLine') {\n return (a, b) => initialOptions[key];\n }\n },\n isMergeableObject: isPlainObject\n });\n\n customMergeWebChatEventHandlers(nonDefaults_mergedChatOptions, loadConfigurationResult, initialOptions);\n createMergedChatOptionsDefaults(nonDefaults_mergedChatOptions);\n const mergedDefaultOptions = merge.all<WebChatOptions>([defaultOptions, nonDefaults_mergedChatOptions.UI?.restylingsEnabled ? restylingsWebchatDefaultOptions : {}])\n let mergedChatOptions = merge.all<WebChatOptions>([nonDefaults_mergedChatOptions.isWidget && !nonDefaults_mergedChatOptions.UI?.fullScreenMode ? mergedDefaultOptions : webChatFullScreenDefaultOptions, nonDefaults_mergedChatOptions], {\n customMerge: (key) => {\n if (key === 'containerElement') {\n return (a, b) => initialOptions[key];\n }\n if (key === 'directLine') {\n return (a, b) => initialOptions[key];\n }\n },\n isMergeableObject: isPlainObject\n });\n\n // after all options are merged, override from wideOptions\n if (!mergedChatOptions.isWidget && mergedChatOptions.wideOptions) {\n mergedChatOptions = mergeChatOptions(mergedChatOptions, mergedChatOptions.wideOptions);\n }\n\n if ((mergedChatOptions.UI?.showUploadButton !== null && mergedChatOptions.UI?.showUploadButton !== undefined) && !!mergedChatOptions.styleOptions) {\n mergedChatOptions.styleOptions!.hideUploadButton = mergedChatOptions.UI?.showUploadButton!;\n }\n\n if(mergedChatOptions.styleOptions && !mergedChatOptions.styleOptions.sendBoxButtonShadeColor) {\n mergedChatOptions.styleOptions.sendBoxButtonShadeColor = Color(mergedChatOptions.styleOptions?.accent).alpha(0.10).string() \n }\n\n await babelTransform_WebChatEventHandlers(mergedChatOptions);\n\n if (!!mergedChatOptions.middlewares && Object.keys(mergedChatOptions.middlewares).length) {\n const allMiddlewaresKeys = Object.keys(mergedChatOptions.middlewares);\n if (allMiddlewaresKeys.find(mid => mergedChatOptions.middlewares && mergedChatOptions.middlewares[mid])) {\n Object.keys(mergedChatOptions.middlewares).forEach(async middleware => {\n try {\n if (mergedChatOptions.middlewares && mergedChatOptions.middlewares[middleware]) {\n return druidWebChatDispatch({\n type: 'SET_MIDDLEWARE_OR_EVENT_HANDLER', payload: { handlerName: middleware, handler: mergedChatOptions.middlewares[middleware], withDecorate: false}\n });\n }\n\n } catch (ex) {\n console.error(`Failed to load middleware: ${middleware} with exception: ${ex}`);\n }\n \n });\n }\n\n\n }\n // mergedChatOptions = visitMergedChatOptions(mergedChatOptions);\n druidWebChatDispatch({\n type: 'SET_MERGEDCHATOPTIONS',\n payload: mergedChatOptions\n });\n\n // could be moved before visitMergeChatOptions\n druidWebChatDispatch({\n type: 'SET_PRISTINE_MERGEDCHATOPTIONS',\n payload: mergedChatOptions\n });\n\n druidWebChatDispatch({\n type: 'HIDE_CONTAINERELEMENT',\n payload: mergedChatOptions.isDisabled === true\n });\n\n if (mergedChatOptions.UI?.position !== 'right') { // if it is not right -> then left\n druidWebChatDispatch({\n type: 'SET_SIDE',\n payload: 'left'\n });\n }\n\n if (mergedChatOptions.UI?.isVoiceInput === true) { // start with voice mode\n druidWebChatDispatch({\n type: 'SET_IS_VOICEINPUT',\n payload: true\n });\n }\n\n if (mergedChatOptions.UI?.headerOptions) {\n druidWebChatDispatch({\n type: 'SET_HEADEROPTIONS',\n payload: mergedChatOptions.UI?.headerOptions\n });\n }\n\n // loadConfigurationResult.languages = [\n // // {\n // // \"name\": \"it\",\n // // \"isDefault\": false,\n // // \"friendlyName\": \"Italian\",\n // // \"icon\": \"famfamfam-flags it\",\n // // \"id\": 4\n // // },\n // {\n // \"name\": \"ro\",\n // \"isDefault\": true,\n // \"nativeName\": \"Romanian\",\n // \"icon\": \"famfamfam-flags ro\",\n // \"id\": 15\n // },\n // // {\n // // \"name\": \"en-US\",\n // // \"isDefault\": true,\n // // \"friendlyName\": \"English\",\n // // \"icon\": \"famfamfam-flags us\",\n // // \"id\": 1\n // // }\n // // ,\n // // {\n // // \"name\": \"ar-EG\",\n // // \"isDefault\": false,\n // // \"friendlyName\": \"Arabic\",\n // // \"icon\": \"famfamfam-flags us\",\n // // \"id\": 5\n // // }\n // ];\n if (loadConfigurationResult.languages && loadConfigurationResult.languages.length) {\n // removed window.navigator.language -> we want the isDefault fallback to be triggered\n const selectedLocaleByOptions = getCookie(mergedChatOptions.conversationToken_namePrefix || \"\" + 'druidConversationLanguage') || mergedChatOptions.locale || \"\";// || window.navigator.language;\n loadConfigurationResult.languages = loadConfigurationResult.languages.map(lg => {\n // selectedLocaleByOptions.toLocaleLowerCase().startsWith(lg.name.toLocaleLowerCase())\n if (druidLanguageComparison(selectedLocaleByOptions, lg.name)) {\n lg.isSelected = true;\n }\n return lg;\n });\n\n if (!loadConfigurationResult.languages.find(lg => lg.isSelected)) {\n loadConfigurationResult.languages = loadConfigurationResult.languages.map(lg => ({\n ...lg,\n isSelected: lg.isDefault\n }));\n }\n\n const selectedLanguage = loadConfigurationResult.languages.find(lg => lg.isSelected);\n\n druidWebChatDispatch({\n type: 'SET_BOTLANGUAGES',\n payload: loadConfigurationResult.languages\n });\n\n druidWebChatDispatch({\n type: 'SET_SELECTEDLANGUAGE',\n payload: selectedLanguage!.name\n });\n }\n\n const setLoadedValue = !(mergedChatOptions.isDisabled === true)\n druidWebChatDispatch({ // set_loaded = false -> isDisabled and stops here\n type: 'SET_LOADED',\n payload: setLoadedValue\n });\n\n });\n }\n\n })();\n }\n }, [initialOptions, druidWebChatState.mergedChatOptions.baseUrl, druidWebChatDispatch, defaultOptions, webChatFullScreenDefaultOptions, druidWebChatState.mergedChatOptions.botId, druidWebChatState.loaded]);\n\n //druidWebChatState.mergedChatOptions.loaded used to reload on 'RESET' action\n}\n\nconst customMergeWebChatEventHandlers = (mergedChatOptions: WebChatOptions, loadConfigurationResult: WebChatOptions, initialOptions: WebChatOptions) => {\n // if (loadConfigurationResult.webChatEventHandler && initialOptions.webChatEventHandler) {\n // mergedChatOptions.webChatEventHandler = (...args: Parameters<WebChatEventHandlerType>) => {\n // loadConfigurationResult.webChatEventHandler && loadConfigurationResult.webChatEventHandler instanceof Function && loadConfigurationResult.webChatEventHandler(...args);\n // initialOptions.webChatEventHandler && loadConfigurationResult.webChatEventHandler instanceof Function && initialOptions.webChatEventHandler(...args);\n // }\n // }\n}\n\nconst babelTransform_WebChatEventHandlers = async (container: WebChatOptions) => {\n if (container.webChatEventHandler && typeof container.webChatEventHandler === \"string\") {\n const babel = await import(\n /* webpackChunkName: \"babel_standalone\" */\n '@babel/standalone'\n );\n try {\n const babelEval = eval(babel.transform((container.webChatEventHandler! as any as string), { presets: ['es2015', 'react', 'stage-3'] }).code || \"\");\n container.webChatEventHandler =\n (...args) => {\n try {\n babelEval(...args);\n } catch (ex) {\n console.error(`Failed to execute webChatEventHandler: with exception: ${ex}`);\n }\n };\n } catch (ex) {\n console.error(`Failed to load webChatEventHandler: with exception: ${ex}`);\n }\n }\n\n //Nothing wrong. just don't need it for the moment\n // if (container.transformLoadConfigurationResult && typeof container.transformLoadConfigurationResult === \"string\") {\n // const babel = await import(\n // /* webpackChunkName: \"babel_standalone\" */\n // '@babel/standalone'\n // );\n // try {\n // const babelEval = eval(babel.transform((container.transformLoadConfigurationResult! as any as string), { presets: ['es2015', 'react', 'stage-3'] }).code || \"\");\n // container.transformLoadConfigurationResult = babelEval;\n // } catch (ex) {\n // console.error(`Failed to load transformLoadConfigurationResult: with exception: ${ex}`);\n // }\n // }\n \n\n}\nconst createMergedChatOptionsDefaults = (mergedChatOptions: WebChatOptions) => {\n\n const paddingRegularDivided = mergedChatOptions.styleOptions?.paddingRegular && (mergedChatOptions.styleOptions?.paddingRegular! / 2);\n // styleOptions\n if (!mergedChatOptions.styleOptions) {\n mergedChatOptions.styleOptions = {};\n }\n\n if (mergedChatOptions.styleOptions.bubbleNubSize !== undefined && (mergedChatOptions.styleOptions.bubbleFromUserNubSize === null || mergedChatOptions.styleOptions.bubbleFromUserNubSize === undefined)) {\n mergedChatOptions.styleOptions.bubbleFromUserNubSize = mergedChatOptions.styleOptions.bubbleNubSize;\n }\n\n if (mergedChatOptions.styleOptions.bubbleBorderRadius !== undefined && (mergedChatOptions.styleOptions.bubbleFromUserBorderRadius === null || mergedChatOptions.styleOptions.bubbleFromUserBorderRadius === undefined)) {\n mergedChatOptions.styleOptions.bubbleFromUserBorderRadius = mergedChatOptions.styleOptions.bubbleBorderRadius;\n }\n if (mergedChatOptions.styleOptions.suggestedActionBorderRadius === undefined) {\n mergedChatOptions.styleOptions = simpleUpdateIn(mergedChatOptions.styleOptions, ['suggestedActionBorderRadius'], () => mergedChatOptions.UI?.buttonsBorderRadius || paddingRegularDivided);\n }\n\n druidNormalizeStyleOptions(mergedChatOptions.styleOptions as FullBundleStyleOptions);\n\n\n // if (mergedChatOptions.styleOptions?.suggestedActionBackground === undefined) {\n // mergedChatOptions.styleOptions = simpleUpdateIn(mergedChatOptions.styleOptions, ['suggestedActionBackground'], () => mergedChatOptions.UI?.buttonsBackgroundColor);\n // }\n\n // if (mergedChatOptions.styleOptions?.suggestedActionBorderColor === undefined) {\n // mergedChatOptions.styleOptions = simpleUpdateIn(mergedChatOptions.styleOptions, ['suggestedActionBorderColor'], () => mergedChatOptions.UI?.buttonsBorderColor || mergedChatOptions.styleOptions?.accent);\n // }\n\n // if (mergedChatOptions.styleOptions?.suggestedActionTextColor === undefined) {\n // mergedChatOptions.styleOptions = simpleUpdateIn(mergedChatOptions.styleOptions, ['suggestedActionTextColor'], () => mergedChatOptions.UI?.buttonsTextColor || mergedChatOptions.styleOptions?.accent);\n // }\n\n\n\n // adaptiveCardsHostConfig\n if (!mergedChatOptions.adaptiveCardsHostConfig) {\n mergedChatOptions.adaptiveCardsHostConfig = {};\n }\n\n var spacingConfig = mergedChatOptions.adaptiveCardsHostConfig?.spacing || {};\n if (!spacingConfig.padding) {\n spacingConfig = simpleUpdateIn(spacingConfig, ['padding'], () => mergedChatOptions.styleOptions?.paddingRegular);\n }\n mergedChatOptions.adaptiveCardsHostConfig.spacing = spacingConfig;\n\n\n // // UI options\n // if (!mergedChatOptions.UI) {\n // mergedChatOptions.UI = {};\n // }\n\n // if (mergedChatOptions.UI.buttonsPadding === undefined || mergedChatOptions.UI.buttonsPadding === null) {\n // mergedChatOptions.UI = simpleUpdateIn(mergedChatOptions.UI, ['buttonsPadding'], () => paddingRegularDivided);\n // }\n\n // if (mergedChatOptions.UI?.buttonsBorderRadius === undefined || mergedChatOptions.UI?.buttonsBorderRadius === null) {\n // mergedChatOptions.UI = simpleUpdateIn(mergedChatOptions.UI, ['buttonsBorderRadius'], () => paddingRegularDivided);\n // }\n\n // if (mergedChatOptions.UI?.buttonsBorderColor === undefined || mergedChatOptions.UI?.buttonsBorderColor === null) {\n // mergedChatOptions.UI = simpleUpdateIn(mergedChatOptions.UI, ['buttonsBorderColor'], () => mergedChatOptions.styleOptions?.accent);\n // }\n\n // if (mergedChatOptions.UI?.buttonsTextColor === undefined || mergedChatOptions.UI?.buttonsTextColor === null) {\n // mergedChatOptions.UI = simpleUpdateIn(mergedChatOptions.UI, ['buttonsTextColor'], () => mergedChatOptions.styleOptions?.accent);\n // }\n // if (mergedChatOptions.UI?.buttonsBackgroundColor === undefined || mergedChatOptions.UI?.buttonsBackgroundColor === null) {\n // mergedChatOptions.UI = simpleUpdateIn(mergedChatOptions.UI, ['buttonsBackgroundColor'], () => mergedChatOptions.styleOptions?.accent);\n // }\n\n}","import downscaleImageToDataURL from \"botframework-webchat-component/lib/Utils/downscaleImageToDataURL\";\r\n\r\nexport async function makeThumbnail(file, width, height, contentType, quality) {\r\n if (/\\.(gif|jpe?g|png)$/iu.test(file.name)) {\r\n try {\r\n return await downscaleImageToDataURL(file, width, height, contentType, quality);\r\n } catch (error) {\r\n console.warn(`Web Chat: Failed to downscale image due to ${error}.`);\r\n }\r\n }\r\n }","import { useContext, useMemo } from \"react\";\nimport DruidWebchatContext, { DruidWebchatContextType } from \"../WebChatContext\";\nimport { DirectLine, DirectLineOptions, ConnectionStatus } from 'botframework-directlinejs';\n\nconst createFormDataFunc = attachments => {\n const formData = new FormData();\n\n attachments.forEach(\n ({\n contentType,\n data,\n filename,\n name\n }: {\n contentType?: string;\n data: BlobPart[];\n filename?: string;\n name?: string;\n }) => {\n formData.append(name as string, new Blob(data, { type: contentType }), filename);\n }\n );\n\n return formData;\n}\nexport const createDirectLineOverwrite = (options: DirectLineOptions) => {\n return new DirectLine({\n ...options,\n ...{\n createFormData: createFormDataFunc\n }\n });\n}\n\nexport const useCreateDirectLine = () => {\n const [druidWebChatState, , getState] = useContext<DruidWebchatContextType>(DruidWebchatContext);\n const connection = druidWebChatState.directlineInstance || druidWebChatState.mergedChatOptions.botConnection; \n const connectionStatus = connection?.connectionStatus$.getValue();\n return useMemo(() => {\n ensureDirectLineProps(connection, druidWebChatState.directlineOptions);\n const directLine = (connectionStatus !== ConnectionStatus.Ended && connection) || (druidWebChatState.directlineOptions && createDirectLineOverwrite(druidWebChatState.directlineOptions as any));\n return directLine;\n }, [druidWebChatState.directlineOptions, connection, connectionStatus]);\n}\n\nexport const ensureDirectLineProps = (connection: DirectLine | null, dlOptions: DirectLineOptions | null) => {\n if(connection) {\n connection.initiatorUserId ??= dlOptions?.initiatorUserId || \"\";\n connection.initiatorBotId ??= dlOptions?.initiatorUserId || \"\";\n }\n}\n","/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */\n;(function() {\n 'use strict';\n\n /** Used to determine if values are of the language type `Object`. */\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n /** Used as a reference to the global object. */\n var root = (objectTypes[typeof window] && window) || this;\n\n /** Backup possible global object. */\n var oldRoot = root;\n\n /** Detect free variable `exports`. */\n var freeExports = objectTypes[typeof exports] && exports;\n\n /** Detect free variable `module`. */\n var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;\n\n /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */\n var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n /**\n * Used as the maximum length of an array-like object.\n * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)\n * for more details.\n */\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n /** Regular expression to detect Opera. */\n var reOpera = /\\bOpera/;\n\n /** Possible global object. */\n var thisBinding = this;\n\n /** Used for native method references. */\n var objectProto = Object.prototype;\n\n /** Used to check for own properties of an object. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to resolve the internal `[[Class]]` of values. */\n var toString = objectProto.toString;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Capitalizes a string value.\n *\n * @private\n * @param {string} string The string to capitalize.\n * @returns {string} The capitalized string.\n */\n function capitalize(string) {\n string = String(string);\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n /**\n * A utility function to clean up the OS name.\n *\n * @private\n * @param {string} os The OS name to clean up.\n * @param {string} [pattern] A `RegExp` pattern matching the OS name.\n * @param {string} [label] A label for the OS.\n */\n function cleanupOS(os, pattern, label) {\n // Platform tokens are defined at:\n // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n var data = {\n '10.0': '10',\n '6.4': '10 Technical Preview',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': 'Server 2008 R2 / 7',\n '6.0': 'Server 2008 / Vista',\n '5.2': 'Server 2003 / XP 64-bit',\n '5.1': 'XP',\n '5.01': '2000 SP1',\n '5.0': '2000',\n '4.0': 'NT',\n '4.90': 'ME'\n };\n // Detect Windows version from platform tokens.\n if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&\n (data = data[/[\\d.]+$/.exec(os)])) {\n os = 'Windows ' + data;\n }\n // Correct character case and cleanup string.\n os = String(os);\n\n if (pattern && label) {\n os = os.replace(RegExp(pattern, 'i'), label);\n }\n\n os = format(\n os.replace(/ ce$/i, ' CE')\n .replace(/\\bhpw/i, 'web')\n .replace(/\\bMacintosh\\b/, 'Mac OS')\n .replace(/_PowerPC\\b/i, ' OS')\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\n .replace(/\\bMac (OS X)\\b/, '$1')\n .replace(/\\/(\\d)/, ' $1')\n .replace(/_/g, '.')\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\n .split(' on ')[0]\n );\n\n return os;\n }\n\n /**\n * An iteration utility for arrays and objects.\n *\n * @private\n * @param {Array|Object} object The object to iterate over.\n * @param {Function} callback The function called per iteration.\n */\n function each(object, callback) {\n var index = -1,\n length = object ? object.length : 0;\n\n if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {\n while (++index < length) {\n callback(object[index], index, object);\n }\n } else {\n forOwn(object, callback);\n }\n }\n\n /**\n * Trim and conditionally capitalize string values.\n *\n * @private\n * @param {string} string The string to format.\n * @returns {string} The formatted string.\n */\n function format(string) {\n string = trim(string);\n return /^(?:webOS|i(?:OS|P))/.test(string)\n ? string\n : capitalize(string);\n }\n\n /**\n * Iterates over an object's own properties, executing the `callback` for each.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} callback The function executed per own property.\n */\n function forOwn(object, callback) {\n for (var key in object) {\n if (hasOwnProperty.call(object, key)) {\n callback(object[key], key, object);\n }\n }\n }\n\n /**\n * Gets the internal `[[Class]]` of a value.\n *\n * @private\n * @param {*} value The value.\n * @returns {string} The `[[Class]]`.\n */\n function getClassOf(value) {\n return value == null\n ? capitalize(value)\n : toString.call(value).slice(8, -1);\n }\n\n /**\n * Host objects can return type values that are different from their actual\n * data type. The objects we are concerned with usually return non-primitive\n * types of \"object\", \"function\", or \"unknown\".\n *\n * @private\n * @param {*} object The owner of the property.\n * @param {string} property The property to check.\n * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.\n */\n function isHostType(object, property) {\n var type = object != null ? typeof object[property] : 'number';\n return !/^(?:boolean|number|string|undefined)$/.test(type) &&\n (type == 'object' ? !!object[property] : true);\n }\n\n /**\n * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.\n *\n * @private\n * @param {string} string The string to qualify.\n * @returns {string} The qualified string.\n */\n function qualify(string) {\n return String(string).replace(/([ -])(?!$)/g, '$1?');\n }\n\n /**\n * A bare-bones `Array#reduce` like utility function.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function called per iteration.\n * @returns {*} The accumulated result.\n */\n function reduce(array, callback) {\n var accumulator = null;\n each(array, function(value, index) {\n accumulator = callback(accumulator, value, index, array);\n });\n return accumulator;\n }\n\n /**\n * Removes leading and trailing whitespace from a string.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} The trimmed string.\n */\n function trim(string) {\n return String(string).replace(/^ +| +$/g, '');\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a new platform object.\n *\n * @memberOf platform\n * @param {Object|string} [ua=navigator.userAgent] The user agent string or\n * context object.\n * @returns {Object} A platform object.\n */\n function parse(ua) {\n\n /** The environment context object. */\n var context = root;\n\n /** Used to flag when a custom context is provided. */\n var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';\n\n // Juggle arguments.\n if (isCustomContext) {\n context = ua;\n ua = null;\n }\n\n /** Browser navigator object. */\n var nav = context.navigator || {};\n\n /** Browser user agent string. */\n var userAgent = nav.userAgent || '';\n\n ua || (ua = userAgent);\n\n /** Used to flag when `thisBinding` is the [ModuleScope]. */\n var isModuleScope = isCustomContext || thisBinding == oldRoot;\n\n /** Used to detect if browser is like Chrome. */\n var likeChrome = isCustomContext\n ? !!nav.likeChrome\n : /\\bChrome\\b/.test(ua) && !/internal|\\n/i.test(toString.toString());\n\n /** Internal `[[Class]]` value shortcuts. */\n var objectClass = 'Object',\n airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',\n enviroClass = isCustomContext ? objectClass : 'Environment',\n javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),\n phantomClass = isCustomContext ? objectClass : 'RuntimeObject';\n\n /** Detect Java environments. */\n var java = /\\bJava/.test(javaClass) && context.java;\n\n /** Detect Rhino. */\n var rhino = java && getClassOf(context.environment) == enviroClass;\n\n /** A character to represent alpha. */\n var alpha = java ? 'a' : '\\u03b1';\n\n /** A character to represent beta. */\n var beta = java ? 'b' : '\\u03b2';\n\n /** Browser document object. */\n var doc = context.document || {};\n\n /**\n * Detect Opera browser (Presto-based).\n * http://www.howtocreate.co.uk/operaStuff/operaObject.html\n * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini\n */\n var opera = context.operamini || context.opera;\n\n /** Opera `[[Class]]`. */\n var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))\n ? operaClass\n : (opera = null);\n\n /*------------------------------------------------------------------------*/\n\n /** Temporary variable used over the script's lifetime. */\n var data;\n\n /** The CPU architecture. */\n var arch = ua;\n\n /** Platform description array. */\n var description = [];\n\n /** Platform alpha/beta indicator. */\n var prerelease = null;\n\n /** A flag to indicate that environment features should be used to resolve the platform. */\n var useFeatures = ua == userAgent;\n\n /** The browser/environment version. */\n var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();\n\n /** A flag to indicate if the OS ends with \"/ Version\" */\n var isSpecialCasedOS;\n\n /* Detectable layout engines (order is important). */\n var layout = getLayout([\n { 'label': 'EdgeHTML', 'pattern': 'Edge' },\n 'Trident',\n { 'label': 'WebKit', 'pattern': 'AppleWebKit' },\n 'iCab',\n 'Presto',\n 'NetFront',\n 'Tasman',\n 'KHTML',\n 'Gecko'\n ]);\n\n /* Detectable browser names (order is important). */\n var name = getName([\n 'Adobe AIR',\n 'Arora',\n 'Avant Browser',\n 'Breach',\n 'Camino',\n 'Electron',\n 'Epiphany',\n 'Fennec',\n 'Flock',\n 'Galeon',\n 'GreenBrowser',\n 'iCab',\n 'Iceweasel',\n 'K-Meleon',\n 'Konqueror',\n 'Lunascape',\n 'Maxthon',\n { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },\n 'Midori',\n 'Nook Browser',\n 'PaleMoon',\n 'PhantomJS',\n 'Raven',\n 'Rekonq',\n 'RockMelt',\n { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },\n 'SeaMonkey',\n { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Sleipnir',\n 'SlimBrowser',\n { 'label': 'SRWare Iron', 'pattern': 'Iron' },\n 'Sunrise',\n 'Swiftfox',\n 'Vivaldi',\n 'Waterfox',\n 'WebPositive',\n { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },\n { 'label': 'UC Browser', 'pattern': 'UCBrowser' },\n 'Opera Mini',\n { 'label': 'Opera Mini', 'pattern': 'OPiOS' },\n 'Opera',\n { 'label': 'Opera', 'pattern': 'OPR' },\n 'Chromium',\n 'Chrome',\n { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },\n { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },\n { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },\n { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },\n { 'label': 'IE', 'pattern': 'IEMobile' },\n { 'label': 'IE', 'pattern': 'MSIE' },\n 'Safari'\n ]);\n\n /* Detectable products (order is important). */\n var product = getProduct([\n { 'label': 'BlackBerry', 'pattern': 'BB10' },\n 'BlackBerry',\n { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },\n { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },\n { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },\n { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },\n { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },\n { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },\n { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },\n { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },\n { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },\n 'Google TV',\n 'Lumia',\n 'iPad',\n 'iPod',\n 'iPhone',\n 'Kindle',\n { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Nexus',\n 'Nook',\n 'PlayBook',\n 'PlayStation Vita',\n 'PlayStation',\n 'TouchPad',\n 'Transformer',\n { 'label': 'Wii U', 'pattern': 'WiiU' },\n 'Wii',\n 'Xbox One',\n { 'label': 'Xbox 360', 'pattern': 'Xbox' },\n 'Xoom'\n ]);\n\n /* Detectable manufacturers. */\n var manufacturer = getManufacturer({\n 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },\n 'Alcatel': {},\n 'Archos': {},\n 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },\n 'Asus': { 'Transformer': 1 },\n 'Barnes & Noble': { 'Nook': 1 },\n 'BlackBerry': { 'PlayBook': 1 },\n 'Google': { 'Google TV': 1, 'Nexus': 1 },\n 'HP': { 'TouchPad': 1 },\n 'HTC': {},\n 'Huawei': {},\n 'Lenovo': {},\n 'LG': {},\n 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },\n 'Motorola': { 'Xoom': 1 },\n 'Nintendo': { 'Wii U': 1, 'Wii': 1 },\n 'Nokia': { 'Lumia': 1 },\n 'Oppo': {},\n 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },\n 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },\n 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }\n });\n\n /* Detectable operating systems (order is important). */\n var os = getOS([\n 'Windows Phone',\n 'KaiOS',\n 'Android',\n 'CentOS',\n { 'label': 'Chrome OS', 'pattern': 'CrOS' },\n 'Debian',\n { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },\n 'Fedora',\n 'FreeBSD',\n 'Gentoo',\n 'Haiku',\n 'Kubuntu',\n 'Linux Mint',\n 'OpenBSD',\n 'Red Hat',\n 'SuSE',\n 'Ubuntu',\n 'Xubuntu',\n 'Cygwin',\n 'Symbian OS',\n 'hpwOS',\n 'webOS ',\n 'webOS',\n 'Tablet OS',\n 'Tizen',\n 'Linux',\n 'Mac OS X',\n 'Macintosh',\n 'Mac',\n 'Windows 98;',\n 'Windows '\n ]);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Picks the layout engine from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected layout engine.\n */\n function getLayout(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the manufacturer from an array of guesses.\n *\n * @private\n * @param {Array} guesses An object of guesses.\n * @returns {null|string} The detected manufacturer.\n */\n function getManufacturer(guesses) {\n return reduce(guesses, function(result, value, key) {\n // Lookup the manufacturer by product or scan the UA for the manufacturer.\n return result || (\n value[product] ||\n value[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(product)] ||\n RegExp('\\\\b' + qualify(key) + '(?:\\\\b|\\\\w*\\\\d)', 'i').exec(ua)\n ) && key;\n });\n }\n\n /**\n * Picks the browser name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected browser name.\n */\n function getName(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the OS name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected OS name.\n */\n function getOS(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + '(?:/[\\\\d.]+|[ \\\\w.]*)', 'i').exec(ua)\n )) {\n result = cleanupOS(result, pattern, guess.label || guess);\n }\n return result;\n });\n }\n\n /**\n * Picks the product name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected product name.\n */\n function getProduct(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + ' *\\\\d+[.\\\\w_]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + ' *\\\\w+-[\\\\w]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)', 'i').exec(ua)\n )) {\n // Split by forward slash and append product version if needed.\n if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\\d.]+/.test(result[0])) {\n result[0] += ' ' + result[1];\n }\n // Correct character case and cleanup string.\n guess = guess.label || guess;\n result = format(result[0]\n .replace(RegExp(pattern, 'i'), guess)\n .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')\n .replace(RegExp('(' + guess + ')[-_.]?(\\\\w)', 'i'), '$1 $2'));\n }\n return result;\n });\n }\n\n /**\n * Resolves the version using an array of UA patterns.\n *\n * @private\n * @param {Array} patterns An array of UA patterns.\n * @returns {null|string} The detected version.\n */\n function getVersion(patterns) {\n return reduce(patterns, function(result, pattern) {\n return result || (RegExp(pattern +\n '(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;\n });\n }\n\n /**\n * Returns `platform.description` when the platform object is coerced to a string.\n *\n * @name toString\n * @memberOf platform\n * @returns {string} Returns `platform.description` if available, else an empty string.\n */\n function toStringPlatform() {\n return this.description || '';\n }\n\n /*------------------------------------------------------------------------*/\n\n // Convert layout to an array so we can add extra details.\n layout && (layout = [layout]);\n\n // Detect Android products.\n // Browsers on Android devices typically provide their product IDS after \"Android;\"\n // up to \"Build\" or \") AppleWebKit\".\n // Example:\n // \"Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36\n // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36\"\n if (/\\bAndroid\\b/.test(os) && !product &&\n (data = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(ua))) {\n product = trim(data[1])\n // Replace any language codes (eg. \"en-US\").\n .replace(/^[a-z]{2}-[a-z]{2};\\s*/i, '')\n || null;\n }\n // Detect product names that contain their manufacturer's name.\n if (manufacturer && !product) {\n product = getProduct([manufacturer]);\n } else if (manufacturer && product) {\n product = product\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\\\s]', 'i'), manufacturer + ' ')\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\\\w)', 'i'), manufacturer + ' $2');\n }\n // Clean up Google TV.\n if ((data = /\\bGoogle TV\\b/.exec(product))) {\n product = data[0];\n }\n // Detect simulators.\n if (/\\bSimulator\\b/i.test(ua)) {\n product = (product ? product + ' ' : '') + 'Simulator';\n }\n // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.\n if (name == 'Opera Mini' && /\\bOPiOS\\b/.test(ua)) {\n description.push('running in Turbo/Uncompressed mode');\n }\n // Detect IE Mobile 11.\n if (name == 'IE' && /\\blike iPhone OS\\b/.test(ua)) {\n data = parse(ua.replace(/like iPhone OS/, ''));\n manufacturer = data.manufacturer;\n product = data.product;\n }\n // Detect iOS.\n else if (/^iP/.test(product)) {\n name || (name = 'Safari');\n os = 'iOS' + ((data = / OS ([\\d_]+)/i.exec(ua))\n ? ' ' + data[1].replace(/_/g, '.')\n : '');\n }\n // Detect Kubuntu.\n else if (name == 'Konqueror' && /^Linux\\b/i.test(os)) {\n os = 'Kubuntu';\n }\n // Detect Android browsers.\n else if ((manufacturer && manufacturer != 'Google' &&\n ((/Chrome/.test(name) && !/\\bMobile Safari\\b/i.test(ua)) || /\\bVita\\b/.test(product))) ||\n (/\\bAndroid\\b/.test(os) && /^Chrome/.test(name) && /\\bVersion\\//i.test(ua))) {\n name = 'Android Browser';\n os = /\\bAndroid\\b/.test(os) ? os : 'Android';\n }\n // Detect Silk desktop/accelerated modes.\n else if (name == 'Silk') {\n if (!/\\bMobi/i.test(ua)) {\n os = 'Android';\n description.unshift('desktop mode');\n }\n if (/Accelerated *= *true/i.test(ua)) {\n description.unshift('accelerated');\n }\n }\n // Detect UC Browser speed mode.\n else if (name == 'UC Browser' && /\\bUCWEB\\b/.test(ua)) {\n description.push('speed mode');\n }\n // Detect PaleMoon identifying as Firefox.\n else if (name == 'PaleMoon' && (data = /\\bFirefox\\/([\\d.]+)\\b/.exec(ua))) {\n description.push('identifying as Firefox ' + data[1]);\n }\n // Detect Firefox OS and products running Firefox.\n else if (name == 'Firefox' && (data = /\\b(Mobile|Tablet|TV)\\b/i.exec(ua))) {\n os || (os = 'Firefox OS');\n product || (product = data[1]);\n }\n // Detect false positives for Firefox/Safari.\n else if (!name || (data = !/\\bMinefield\\b/i.test(ua) && /\\b(?:Firefox|Safari)\\b/.exec(name))) {\n // Escape the `/` for Firefox 1.\n if (name && !product && /[\\/,]|^[^(]+?\\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {\n // Clear name of false positives.\n name = null;\n }\n // Reassign a generic name.\n if ((data = product || manufacturer || os) &&\n (product || manufacturer || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(os))) {\n name = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(os) ? os : data) + ' Browser';\n }\n }\n // Add Chrome version to description for Electron.\n else if (name == 'Electron' && (data = (/\\bChrome\\/([\\d.]+)\\b/.exec(ua) || 0)[1])) {\n description.push('Chromium ' + data);\n }\n // Detect non-Opera (Presto-based) versions (order is important).\n if (!version) {\n version = getVersion([\n '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)',\n 'Version',\n qualify(name),\n '(?:Firefox|Minefield|NetFront)'\n ]);\n }\n // Detect stubborn layout engines.\n if ((data =\n layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||\n /\\bOpera\\b/.test(name) && (/\\bOPR\\b/.test(ua) ? 'Blink' : 'Presto') ||\n /\\b(?:Midori|Nook|Safari)\\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||\n !layout && /\\bMSIE\\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||\n layout == 'WebKit' && /\\bPlayStation\\b(?! Vita\\b)/i.test(name) && 'NetFront'\n )) {\n layout = [data];\n }\n // Detect Windows Phone 7 desktop mode.\n if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(ua) || 0)[1])) {\n name += ' Mobile';\n os = 'Windows Phone ' + (/\\+$/.test(data) ? data : data + '.x');\n description.unshift('desktop mode');\n }\n // Detect Windows Phone 8.x desktop mode.\n else if (/\\bWPDesktop\\b/i.test(ua)) {\n name = 'IE Mobile';\n os = 'Windows Phone 8.x';\n description.unshift('desktop mode');\n version || (version = (/\\brv:([\\d.]+)/.exec(ua) || 0)[1]);\n }\n // Detect IE 11 identifying as other browsers.\n else if (name != 'IE' && layout == 'Trident' && (data = /\\brv:([\\d.]+)/.exec(ua))) {\n if (name) {\n description.push('identifying as ' + name + (version ? ' ' + version : ''));\n }\n name = 'IE';\n version = data[1];\n }\n // Leverage environment features.\n if (useFeatures) {\n // Detect server-side environments.\n // Rhino has a global function while others have a global object.\n if (isHostType(context, 'global')) {\n if (java) {\n data = java.lang.System;\n arch = data.getProperty('os.arch');\n os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');\n }\n if (rhino) {\n try {\n version = context.require('ringo/engine').version.join('.');\n name = 'RingoJS';\n } catch(e) {\n if ((data = context.system) && data.global.system == context.system) {\n name = 'Narwhal';\n os || (os = data[0].os || null);\n }\n }\n if (!name) {\n name = 'Rhino';\n }\n }\n else if (\n typeof context.process == 'object' && !context.process.browser &&\n (data = context.process)\n ) {\n if (typeof data.versions == 'object') {\n if (typeof data.versions.electron == 'string') {\n description.push('Node ' + data.versions.node);\n name = 'Electron';\n version = data.versions.electron;\n } else if (typeof data.versions.nw == 'string') {\n description.push('Chromium ' + version, 'Node ' + data.versions.node);\n name = 'NW.js';\n version = data.versions.nw;\n }\n }\n if (!name) {\n name = 'Node.js';\n arch = data.arch;\n os = data.platform;\n version = /[\\d.]+/.exec(data.version);\n version = version ? version[0] : null;\n }\n }\n }\n // Detect Adobe AIR.\n else if (getClassOf((data = context.runtime)) == airRuntimeClass) {\n name = 'Adobe AIR';\n os = data.flash.system.Capabilities.os;\n }\n // Detect PhantomJS.\n else if (getClassOf((data = context.phantom)) == phantomClass) {\n name = 'PhantomJS';\n version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);\n }\n // Detect IE compatibility modes.\n else if (typeof doc.documentMode == 'number' && (data = /\\bTrident\\/(\\d+)/i.exec(ua))) {\n // We're in compatibility mode when the Trident version + 4 doesn't\n // equal the document mode.\n version = [version, doc.documentMode];\n if ((data = +data[1] + 4) != version[1]) {\n description.push('IE ' + version[1] + ' mode');\n layout && (layout[1] = '');\n version[1] = data;\n }\n version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];\n }\n // Detect IE 11 masking as other browsers.\n else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\\b/.test(name)) {\n description.push('masking as ' + name + ' ' + version);\n name = 'IE';\n version = '11.0';\n layout = ['Trident'];\n os = 'Windows';\n }\n os = os && format(os);\n }\n // Detect prerelease phases.\n if (version && (data =\n /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(version) ||\n /(?:alpha|beta)(?: ?\\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||\n /\\bMinefield\\b/i.test(ua) && 'a'\n )) {\n prerelease = /b/i.test(data) ? 'beta' : 'alpha';\n version = version.replace(RegExp(data + '\\\\+?$'), '') +\n (prerelease == 'beta' ? beta : alpha) + (/\\d+\\+?/.exec(data) || '');\n }\n // Detect Firefox Mobile.\n if (name == 'Fennec' || name == 'Firefox' && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(os)) {\n name = 'Firefox Mobile';\n }\n // Obscure Maxthon's unreliable version.\n else if (name == 'Maxthon' && version) {\n version = version.replace(/\\.[\\d.]+/, '.x');\n }\n // Detect Xbox 360 and Xbox One.\n else if (/\\bXbox\\b/i.test(product)) {\n if (product == 'Xbox 360') {\n os = null;\n }\n if (product == 'Xbox 360' && /\\bIEMobile\\b/.test(ua)) {\n description.unshift('mobile mode');\n }\n }\n // Add mobile postfix.\n else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&\n (os == 'Windows CE' || /Mobi/i.test(ua))) {\n name += ' Mobile';\n }\n // Detect IE platform preview.\n else if (name == 'IE' && useFeatures) {\n try {\n if (context.external === null) {\n description.unshift('platform preview');\n }\n } catch(e) {\n description.unshift('embedded');\n }\n }\n // Detect BlackBerry OS version.\n // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp\n else if ((/\\bBlackBerry\\b/.test(product) || /\\bBB10\\b/.test(ua)) && (data =\n (RegExp(product.replace(/ +/g, ' *') + '/([.\\\\d]+)', 'i').exec(ua) || 0)[1] ||\n version\n )) {\n data = [data, /BB10/.test(ua)];\n os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];\n version = null;\n }\n // Detect Opera identifying/masking itself as another browser.\n // http://www.opera.com/support/kb/view/843/\n else if (this != forOwn && product != 'Wii' && (\n (useFeatures && opera) ||\n (/Opera/.test(name) && /\\b(?:MSIE|Firefox)\\b/i.test(ua)) ||\n (name == 'Firefox' && /\\bOS X (?:\\d+\\.){2,}/.test(os)) ||\n (name == 'IE' && (\n (os && !/^Win/.test(os) && version > 5.5) ||\n /\\bWindows XP\\b/.test(os) && version > 8 ||\n version == 8 && !/\\bTrident\\b/.test(ua)\n ))\n ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {\n // When \"identifying\", the UA contains both Opera and the other browser's name.\n data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');\n if (reOpera.test(name)) {\n if (/\\bIE\\b/.test(data) && os == 'Mac OS') {\n os = null;\n }\n data = 'identify' + data;\n }\n // When \"masking\", the UA contains only the other browser's name.\n else {\n data = 'mask' + data;\n if (operaClass) {\n name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));\n } else {\n name = 'Opera';\n }\n if (/\\bIE\\b/.test(data)) {\n os = null;\n }\n if (!useFeatures) {\n version = null;\n }\n }\n layout = ['Presto'];\n description.push(data);\n }\n // Detect WebKit Nightly and approximate Chrome/Safari versions.\n if ((data = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n // Correct build number for numeric comparison.\n // (e.g. \"532.5\" becomes \"532.05\")\n data = [parseFloat(data.replace(/\\.(\\d)$/, '.0$1')), data];\n // Nightly builds are postfixed with a \"+\".\n if (name == 'Safari' && data[1].slice(-1) == '+') {\n name = 'WebKit Nightly';\n prerelease = 'alpha';\n version = data[1].slice(0, -1);\n }\n // Clear incorrect browser versions.\n else if (version == data[1] ||\n version == (data[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n version = null;\n }\n // Use the full Chrome version when available.\n data[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(ua) || 0)[1];\n // Detect Blink layout engine.\n if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {\n layout = ['Blink'];\n }\n // Detect JavaScriptCore.\n // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi\n if (!useFeatures || (!likeChrome && !data[1])) {\n layout && (layout[1] = 'like Safari');\n data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');\n } else {\n layout && (layout[1] = 'like Chrome');\n data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');\n }\n // Add the postfix of \".x\" or \"+\" for approximate versions.\n layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));\n // Obscure version for some Safari 1-2 releases.\n if (name == 'Safari' && (!version || parseInt(version) > 45)) {\n version = data;\n } else if (name == 'Chrome' && /\\bHeadlessChrome/i.test(ua)) {\n description.unshift('headless');\n }\n }\n // Detect Opera desktop modes.\n if (name == 'Opera' && (data = /\\bzbov|zvav$/.exec(os))) {\n name += ' ';\n description.unshift('desktop mode');\n if (data == 'zvav') {\n name += 'Mini';\n version = null;\n } else {\n name += 'Mobile';\n }\n os = os.replace(RegExp(' *' + data + '$'), '');\n }\n // Detect Chrome desktop mode.\n else if (name == 'Safari' && /\\bChrome\\b/.exec(layout && layout[1])) {\n description.unshift('desktop mode');\n name = 'Chrome Mobile';\n version = null;\n\n if (/\\bOS X\\b/.test(os)) {\n manufacturer = 'Apple';\n os = 'iOS 4.3+';\n } else {\n os = null;\n }\n }\n // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.\n else if (/\\bSRWare Iron\\b/.test(name) && !version) {\n version = getVersion('Chrome');\n }\n // Strip incorrect OS versions.\n if (version && version.indexOf((data = /[\\d.]+$/.exec(os))) == 0 &&\n ua.indexOf('/' + data + '-') > -1) {\n os = trim(os.replace(data, ''));\n }\n // Ensure OS does not include the browser name.\n if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {\n os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');\n }\n // Add layout engine.\n if (layout && !/\\b(?:Avant|Nook)\\b/.test(name) && (\n /Browser|Lunascape|Maxthon/.test(name) ||\n name != 'Safari' && /^iOS/.test(os) && /\\bSafari\\b/.test(layout[1]) ||\n /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {\n // Don't add layout details to description if they are falsey.\n (data = layout[layout.length - 1]) && description.push(data);\n }\n // Combine contextual information.\n if (description.length) {\n description = ['(' + description.join('; ') + ')'];\n }\n // Append manufacturer to description.\n if (manufacturer && product && product.indexOf(manufacturer) < 0) {\n description.push('on ' + manufacturer);\n }\n // Append product to description.\n if (product) {\n description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);\n }\n // Parse the OS into an object.\n if (os) {\n data = / ([\\d.+]+)$/.exec(os);\n isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';\n os = {\n 'architecture': 32,\n 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,\n 'version': data ? data[1] : null,\n 'toString': function() {\n var version = this.version;\n return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');\n }\n };\n }\n // Add browser/OS architecture.\n if ((data = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(arch)) && !/\\bi686\\b/i.test(arch)) {\n if (os) {\n os.architecture = 64;\n os.family = os.family.replace(RegExp(' *' + data), '');\n }\n if (\n name && (/\\bWOW64\\b/i.test(ua) ||\n (useFeatures && /\\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\\bWin64; x64\\b/i.test(ua)))\n ) {\n description.unshift('32-bit');\n }\n }\n // Chrome 39 and above on OS X is always 64-bit.\n else if (\n os && /^OS X/.test(os.family) &&\n name == 'Chrome' && parseFloat(version) >= 39\n ) {\n os.architecture = 64;\n }\n\n ua || (ua = null);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The platform object.\n *\n * @name platform\n * @type Object\n */\n var platform = {};\n\n /**\n * The platform description.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.description = ua;\n\n /**\n * The name of the browser's layout engine.\n *\n * The list of common layout engines include:\n * \"Blink\", \"EdgeHTML\", \"Gecko\", \"Trident\" and \"WebKit\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.layout = layout && layout[0];\n\n /**\n * The name of the product's manufacturer.\n *\n * The list of manufacturers include:\n * \"Apple\", \"Archos\", \"Amazon\", \"Asus\", \"Barnes & Noble\", \"BlackBerry\",\n * \"Google\", \"HP\", \"HTC\", \"LG\", \"Microsoft\", \"Motorola\", \"Nintendo\",\n * \"Nokia\", \"Samsung\" and \"Sony\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.manufacturer = manufacturer;\n\n /**\n * The name of the browser/environment.\n *\n * The list of common browser names include:\n * \"Chrome\", \"Electron\", \"Firefox\", \"Firefox for iOS\", \"IE\",\n * \"Microsoft Edge\", \"PhantomJS\", \"Safari\", \"SeaMonkey\", \"Silk\",\n * \"Opera Mini\" and \"Opera\"\n *\n * Mobile versions of some browsers have \"Mobile\" appended to their name:\n * eg. \"Chrome Mobile\", \"Firefox Mobile\", \"IE Mobile\" and \"Opera Mobile\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.name = name;\n\n /**\n * The alpha/beta release indicator.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.prerelease = prerelease;\n\n /**\n * The name of the product hosting the browser.\n *\n * The list of common products include:\n *\n * \"BlackBerry\", \"Galaxy S4\", \"Lumia\", \"iPad\", \"iPod\", \"iPhone\", \"Kindle\",\n * \"Kindle Fire\", \"Nexus\", \"Nook\", \"PlayBook\", \"TouchPad\" and \"Transformer\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.product = product;\n\n /**\n * The browser's user agent string.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.ua = ua;\n\n /**\n * The browser/environment version.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.version = name && version;\n\n /**\n * The name of the operating system.\n *\n * @memberOf platform\n * @type Object\n */\n platform.os = os || {\n\n /**\n * The CPU architecture the OS is built for.\n *\n * @memberOf platform.os\n * @type number|null\n */\n 'architecture': null,\n\n /**\n * The family of the OS.\n *\n * Common values include:\n * \"Windows\", \"Windows Server 2008 R2 / 7\", \"Windows Server 2008 / Vista\",\n * \"Windows XP\", \"OS X\", \"Linux\", \"Ubuntu\", \"Debian\", \"Fedora\", \"Red Hat\",\n * \"SuSE\", \"Android\", \"iOS\" and \"Windows Phone\"\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'family': null,\n\n /**\n * The version of the OS.\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'version': null,\n\n /**\n * Returns the OS string.\n *\n * @memberOf platform.os\n * @returns {string} The OS string.\n */\n 'toString': function() { return 'null'; }\n };\n\n platform.parse = parse;\n platform.toString = toStringPlatform;\n\n if (platform.version) {\n description.unshift(version);\n }\n if (platform.name) {\n description.unshift(name);\n }\n if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {\n description.push(product ? '(' + os + ')' : 'on ' + os);\n }\n if (description.length) {\n platform.description = description.join(' ');\n }\n return platform;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Export platform.\n var platform = parse();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose platform on the global object to prevent errors when platform is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n root.platform = platform;\n\n // Define as an anonymous module so platform can be aliased through path mapping.\n define(function() {\n return platform;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && freeModule) {\n // Export for CommonJS support.\n forOwn(platform, function(value, key) {\n freeExports[key] = value;\n });\n }\n else {\n // Export to the global object.\n root.platform = platform;\n }\n}.call(this));\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Constructor = 'constructor';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Prototype = 'prototype';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strFunction = 'function';\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */\r\nvar DynInstFuncTable = '_dynInstFuncs';\r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */\r\nvar DynProxyTag = '_isDynProxy';\r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */\r\nvar DynClassName = '_dynClass';\r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */\r\nvar DynClassNamePrefix = '_dynCls$';\r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nvar DynInstChkTag = '_dynInstChk';\r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same\r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nvar DynAllowInstChkTag = DynInstChkTag;\r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nvar DynProtoDefaultOptions = '_dfOpts';\r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */\r\nvar UnknownValue = '_unknown_';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strUseBaseInst = 'useBaseInst';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strSetInstFuncs = 'setInstFuncs';\r\nvar Obj = Object;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n/**\r\n * Internal Global used to generate a unique dynamic class name, every new class will increase this value\r\n * @ignore\r\n */\r\nvar _dynamicNames = 0;\r\n/**\r\n * Helper to check if the object contains a property of the name\r\n * @ignore\r\n */\r\nfunction _hasOwnProperty(obj, prop) {\r\n return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */\r\nfunction _isObjectOrArrayPrototype(target) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */\r\nfunction _isObjectArrayOrFunctionPrototype(target) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nfunction _getObjProto(target) {\r\n if (target) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n // target[Constructor] May break if the constructor has been changed or removed\r\n var newProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n if (newProto) {\r\n return newProto;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target\r\n */\r\nfunction _forEachProp(target, func) {\r\n var props = [];\r\n var getOwnProps = Obj[\"getOwnPropertyNames\"];\r\n if (getOwnProps) {\r\n props = getOwnProps(target);\r\n }\r\n else {\r\n for (var name_1 in target) {\r\n if (typeof name_1 === \"string\" && _hasOwnProperty(target, name_1)) {\r\n props.push(name_1);\r\n }\r\n }\r\n }\r\n if (props && props.length > 0) {\r\n for (var lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target, funcName, skipOwn) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));\r\n}\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message) {\r\n throw new TypeError(\"DynamicProto: \" + message);\r\n}\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does\r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget) {\r\n // Get the base proto\r\n var instFuncs = {};\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n return instFuncs;\r\n}\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values, value) {\r\n for (var lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {\r\n function _instFuncProxy(target, funcHost, funcName) {\r\n var theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n var instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n return function () {\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = {};\r\n _forEachProp(instFuncs, function (name) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n var visited = [];\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n return baseFuncs;\r\n}\r\nfunction _getInstFunc(target, funcName, proto, currentDynProtoProxy) {\r\n var instFunc = null;\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && _hasOwnProperty(proto, DynClassName)) {\r\n var instFuncTable = target[DynInstFuncTable] || {};\r\n instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n var canAddInst = !_hasOwnProperty(target, funcName);\r\n // Get current prototype\r\n var objProto = _getObjProto(target);\r\n var visited = [];\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n var protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n }\r\n catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n return instFunc;\r\n}\r\nfunction _getProtoFunc(funcName, proto, currentDynProtoProxy) {\r\n var protoFunc = proto[funcName];\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n return protoFunc;\r\n}\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname\r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {\r\n function _createDynamicPrototype(proto, funcName) {\r\n var dynProtoProxy = function () {\r\n // Use the instance or prototype function\r\n var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n return instFunc.apply(this, arguments);\r\n };\r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n dynProtoProxy[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};\r\n var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {}); // fetch and assign if as it may not exist yet\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n _forEachProp(target, function (name) {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs_1[name] = target[name];\r\n delete target[name];\r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto, thisTarget) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n var visited = [];\r\n var thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target\r\n * @param unknownValue\r\n * @ignore\r\n */\r\nfunction _getObjName(target, unknownValue) {\r\n if (_hasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue;\r\n }\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is\r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nexport default function dynamicProto(theClass, target, delegateFunc, options) {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!_hasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n var classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] is not in class hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n var className = null;\r\n if (_hasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n }\r\n else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _dynamicNames;\r\n _dynamicNames++;\r\n classProto[DynClassName] = className;\r\n }\r\n var perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n var useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n // Get the current instance functions\r\n var instFuncs = _getInstanceFuncs(target);\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs);\r\n // Don't allow setting instance functions for older IE instances\r\n var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\nvar perfDefaults = {\r\n setInstFuncs: true,\r\n useBaseInst: true\r\n};\r\n// And expose for testing\r\ndynamicProto[DynProtoDefaultOptions] = perfDefaults;\r\n//# sourceMappingURL=DynamicProto.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var LoggingSeverity;\r\n(function (LoggingSeverity) {\r\n /**\r\n * Error will be sent as internal telemetry\r\n */\r\n LoggingSeverity[LoggingSeverity[\"CRITICAL\"] = 1] = \"CRITICAL\";\r\n /**\r\n * Error will NOT be sent as internal telemetry, and will only be shown in browser console\r\n */\r\n LoggingSeverity[LoggingSeverity[\"WARNING\"] = 2] = \"WARNING\";\r\n})(LoggingSeverity || (LoggingSeverity = {}));\r\n/**\r\n * Internal message ID. Please create a new one for every conceptually different message. Please keep alphabetically ordered\r\n */\r\nexport var _InternalMessageId = {\r\n // Non user actionable\r\n BrowserDoesNotSupportLocalStorage: 0,\r\n BrowserCannotReadLocalStorage: 1,\r\n BrowserCannotReadSessionStorage: 2,\r\n BrowserCannotWriteLocalStorage: 3,\r\n BrowserCannotWriteSessionStorage: 4,\r\n BrowserFailedRemovalFromLocalStorage: 5,\r\n BrowserFailedRemovalFromSessionStorage: 6,\r\n CannotSendEmptyTelemetry: 7,\r\n ClientPerformanceMathError: 8,\r\n ErrorParsingAISessionCookie: 9,\r\n ErrorPVCalc: 10,\r\n ExceptionWhileLoggingError: 11,\r\n FailedAddingTelemetryToBuffer: 12,\r\n FailedMonitorAjaxAbort: 13,\r\n FailedMonitorAjaxDur: 14,\r\n FailedMonitorAjaxOpen: 15,\r\n FailedMonitorAjaxRSC: 16,\r\n FailedMonitorAjaxSend: 17,\r\n FailedMonitorAjaxGetCorrelationHeader: 18,\r\n FailedToAddHandlerForOnBeforeUnload: 19,\r\n FailedToSendQueuedTelemetry: 20,\r\n FailedToReportDataLoss: 21,\r\n FlushFailed: 22,\r\n MessageLimitPerPVExceeded: 23,\r\n MissingRequiredFieldSpecification: 24,\r\n NavigationTimingNotSupported: 25,\r\n OnError: 26,\r\n SessionRenewalDateIsZero: 27,\r\n SenderNotInitialized: 28,\r\n StartTrackEventFailed: 29,\r\n StopTrackEventFailed: 30,\r\n StartTrackFailed: 31,\r\n StopTrackFailed: 32,\r\n TelemetrySampledAndNotSent: 33,\r\n TrackEventFailed: 34,\r\n TrackExceptionFailed: 35,\r\n TrackMetricFailed: 36,\r\n TrackPVFailed: 37,\r\n TrackPVFailedCalc: 38,\r\n TrackTraceFailed: 39,\r\n TransmissionFailed: 40,\r\n FailedToSetStorageBuffer: 41,\r\n FailedToRestoreStorageBuffer: 42,\r\n InvalidBackendResponse: 43,\r\n FailedToFixDepricatedValues: 44,\r\n InvalidDurationValue: 45,\r\n TelemetryEnvelopeInvalid: 46,\r\n CreateEnvelopeError: 47,\r\n // User actionable\r\n CannotSerializeObject: 48,\r\n CannotSerializeObjectNonSerializable: 49,\r\n CircularReferenceDetected: 50,\r\n ClearAuthContextFailed: 51,\r\n ExceptionTruncated: 52,\r\n IllegalCharsInName: 53,\r\n ItemNotInArray: 54,\r\n MaxAjaxPerPVExceeded: 55,\r\n MessageTruncated: 56,\r\n NameTooLong: 57,\r\n SampleRateOutOfRange: 58,\r\n SetAuthContextFailed: 59,\r\n SetAuthContextFailedAccountName: 60,\r\n StringValueTooLong: 61,\r\n StartCalledMoreThanOnce: 62,\r\n StopCalledWithoutStart: 63,\r\n TelemetryInitializerFailed: 64,\r\n TrackArgumentsNotSpecified: 65,\r\n UrlTooLong: 66,\r\n SessionStorageBufferFull: 67,\r\n CannotAccessCookie: 68,\r\n IdTooLong: 69,\r\n InvalidEvent: 70,\r\n FailedMonitorAjaxSetRequestHeader: 71,\r\n SendBrowserInfoOnUserInit: 72,\r\n PluginException: 73,\r\n NotificationException: 74,\r\n SnippetScriptLoadFailure: 99,\r\n InvalidInstrumentationKey: 100,\r\n CannotParseAiBlobValue: 101,\r\n InvalidContentBlob: 102,\r\n TrackPageActionEventFailed: 103,\r\n FailedAddingCustomDefinedRequestContext: 104,\r\n InMemoryStorageBufferFull: 105\r\n};\r\n//# sourceMappingURL=LoggingEnums.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString().toLowerCase() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = \"\" + totalms % 1000;\r\n var sec = \"\" + Math.floor(totalms / 1000) % 60;\r\n var min = \"\" + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = \"\" + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms.length === 1 ? \"00\" + ms : ms.length === 2 ? \"0\" + ms : ms;\r\n sec = sec.length < 2 ? \"0\" + sec : sec;\r\n min = min.length < 2 ? \"0\" + min : min;\r\n hour = hour.length < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : \"\") + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { getGlobal, strShimUndefined, strShimObject, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { isString, isUndefined, strContains } from \"./HelperFuncs\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strWindow = \"window\";\r\nvar strDocument = \"document\";\r\nvar strNavigator = \"navigator\";\r\nvar strHistory = \"history\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strPerformance = \"performance\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Return the named global object if available, will return null if the object is not available.\r\n * @param name The globally named object\r\n */\r\nexport function getGlobalInst(name) {\r\n var gbl = getGlobal();\r\n if (gbl && gbl[name]) {\r\n return gbl[name];\r\n }\r\n // Test workaround, for environments where <global>.window (when global == window) doesn't return the base window\r\n if (name === strWindow && hasWindow()) {\r\n // tslint:disable-next-line: no-angle-bracket-type-assertion\r\n return window;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Checks if window object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a window\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: window is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasWindow() {\r\n return Boolean(typeof window === strShimObject && window);\r\n}\r\n/**\r\n * Returns the global window object if it is present otherwise null.\r\n * This helper is used to access the window object without causing an exception\r\n * \"Uncaught ReferenceError: window is not defined\"\r\n */\r\nexport function getWindow() {\r\n if (hasWindow()) {\r\n return window;\r\n }\r\n // Return the global instance or null\r\n return getGlobalInst(strWindow);\r\n}\r\n/**\r\n * Checks if document object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a document\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: document is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasDocument() {\r\n return Boolean(typeof document === strShimObject && document);\r\n}\r\n/**\r\n * Returns the global document object if it is present otherwise null.\r\n * This helper is used to access the document object without causing an exception\r\n * \"Uncaught ReferenceError: document is not defined\"\r\n */\r\nexport function getDocument() {\r\n if (hasDocument()) {\r\n return document;\r\n }\r\n return getGlobalInst(strDocument);\r\n}\r\n/**\r\n * Checks if navigator object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a navigator\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: navigator is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasNavigator() {\r\n return Boolean(typeof navigator === strShimObject && navigator);\r\n}\r\n/**\r\n * Returns the global navigator object if it is present otherwise null.\r\n * This helper is used to access the navigator object without causing an exception\r\n * \"Uncaught ReferenceError: navigator is not defined\"\r\n */\r\nexport function getNavigator() {\r\n if (hasNavigator()) {\r\n return navigator;\r\n }\r\n return getGlobalInst(strNavigator);\r\n}\r\n/**\r\n * Checks if history object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: history is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasHistory() {\r\n return Boolean(typeof history === strShimObject && history);\r\n}\r\n/**\r\n * Returns the global history object if it is present otherwise null.\r\n * This helper is used to access the history object without causing an exception\r\n * \"Uncaught ReferenceError: history is not defined\"\r\n */\r\nexport function getHistory() {\r\n if (hasHistory()) {\r\n return history;\r\n }\r\n return getGlobalInst(strHistory);\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getGlobalInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getGlobalInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getGlobalInst(strConsole);\r\n}\r\n/**\r\n * Returns the performance object if it is present otherwise null.\r\n * This helper is used to access the performance object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getPerformance() {\r\n return getGlobalInst(strPerformance);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getGlobalInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getGlobalInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getGlobalInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav.userAgent !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav.userAgent;\r\n var userAgent = (_navUserAgentCheck || \"\").toLowerCase();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1.userAgent || \"\").toLowerCase() : \"\";\r\n }\r\n var ua = (userAgentStr || \"\").toLowerCase();\r\n if (strContains(ua, strMsie)) {\r\n return parseInt(ua.split(strMsie)[1]);\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua.split(strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns string representation of an object suitable for diagnostics logging.\r\n */\r\nexport function dumpObj(object) {\r\n var objectTypeDump = Object[strShimPrototype].toString.call(object);\r\n var propertyValueDump = \"\";\r\n if (objectTypeDump === \"[object Error]\") {\r\n propertyValueDump = \"{ stack: '\" + object.stack + \"', message: '\" + object.message + \"', name: '\" + object.name + \"'\";\r\n }\r\n else if (hasJSON()) {\r\n propertyValueDump = getJSON().stringify(object);\r\n }\r\n return objectTypeDump + propertyValueDump;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2.userAgent || \"\").toLowerCase() : \"\";\r\n }\r\n var ua = (userAgentStr || \"\").toLowerCase();\r\n return (ua.indexOf(\"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported() {\r\n if (_beaconsSupported === null) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n var fetchApi = getGlobalInst(\"fetch\");\r\n isSupported = !!fetchApi;\r\n var request = getGlobalInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== undefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst(\"XMLHttpRequest\"), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getGlobalInst(\"XMLHttpRequest\");\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\n//# sourceMappingURL=EnvUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { _InternalMessageId, LoggingSeverity } from \"../JavaScriptSDK.Enums/LoggingEnums\";\r\nimport { hasJSON, getJSON, getConsole } from \"./EnvUtils\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isFunction, isNullOrUndefined, isUndefined } from \"./HelperFuncs\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nvar strErrorToConsole = \"errorToConsole\";\r\nvar strWarnToConsole = \"warnToConsole\";\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text.replace(/\\\"/g, \"\") + \"\\\"\";\r\n }\r\n return \"\";\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self.messageId = msgId;\r\n _self.message =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = \"\";\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : \"\") +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : \"\");\r\n _self.message += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {}).logger || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n if (isNullOrUndefined(config)) {\r\n config = {};\r\n }\r\n _self.consoleLoggingLevel = function () { return _getConfigValue(\"loggingLevelConsole\", 0); };\r\n _self.telemetryLoggingLevel = function () { return _getConfigValue(\"loggingLevelTelemetry\", 1); };\r\n _self.maxInternalMessageLimit = function () { return _getConfigValue(\"maxMessageLimit\", 25); };\r\n _self.enableDebugExceptions = function () { return _getConfigValue(\"enableDebugExceptions\", false); };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_self.enableDebugExceptions()) {\r\n throw message;\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = severity === LoggingSeverity.CRITICAL ? strErrorToConsole : strWarnToConsole;\r\n if (!isUndefined(message.message)) {\r\n var logLevel = _self.consoleLoggingLevel();\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message.messageId;\r\n if (!_messageLogged[messageKey] && logLevel >= severity) {\r\n _self[logFunc](message.message);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (logLevel >= severity) {\r\n _self[logFunc](message.message);\r\n }\r\n }\r\n _self.logInternalMessage(severity, message);\r\n }\r\n }\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message {string} - The warning message\r\n */\r\n _self.warnToConsole = function (message) {\r\n _logToConsole(\"warn\", message);\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message {string} - The error message\r\n */\r\n _self.errorToConsole = function (message) {\r\n _logToConsole(\"error\", message);\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\n _self.logInternalMessage = function (severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message.messageId;\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _self.telemetryLoggingLevel()) {\r\n _self.queue.push(message);\r\n _messageCount++;\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _self.maxInternalMessageLimit()) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(_InternalMessageId.MessageLimitPerPVExceeded, throttleLimitMessage, false);\r\n _self.queue.push(throttleMessage);\r\n _self.warnToConsole(throttleLimitMessage);\r\n }\r\n }\r\n };\r\n function _getConfigValue(name, defValue) {\r\n var value = config[name];\r\n if (!isNullOrUndefined(value)) {\r\n return value;\r\n }\r\n return defValue;\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _self.maxInternalMessageLimit();\r\n }\r\n });\r\n }\r\n /**\r\n * When this is true the SDK will throw exceptions to aid in debugging.\r\n */\r\n DiagnosticLogger.prototype.enableDebugExceptions = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n /**\r\n * 0: OFF (default)\r\n * 1: CRITICAL\r\n * 2: >= WARNING\r\n */\r\n DiagnosticLogger.prototype.consoleLoggingLevel = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n /**\r\n * 0: OFF\r\n * 1: CRITICAL (default)\r\n * 2: >= WARNING\r\n */\r\n DiagnosticLogger.prototype.telemetryLoggingLevel = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 1;\r\n };\r\n /**\r\n * The maximum number of internal messages allowed to be sent per page view\r\n */\r\n DiagnosticLogger.prototype.maxInternalMessageLimit = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 25;\r\n };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n DiagnosticLogger.prototype.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message {string} - The warning message\r\n */\r\n DiagnosticLogger.prototype.warnToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message {string} - The warning message\r\n */\r\n DiagnosticLogger.prototype.errorToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n DiagnosticLogger.prototype.resetInternalMessageCount = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\n DiagnosticLogger.prototype.logInternalMessage = function (severity, message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\n//# sourceMappingURL=DiagnosticLogger.js.map","import dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateNow, isArray, isFunction, objDefineAccessors } from \"./HelperFuncs\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n var accessorDefined = false;\r\n _self.start = dateNow();\r\n _self.name = name;\r\n _self.isAsync = isAsync;\r\n _self.isChildEvt = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n accessorDefined = objDefineAccessors(_self, \"payload\", function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n });\r\n }\r\n _self.getCtx = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent.ParentContextKey || key === PerfEvent.ChildrenContextKey) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self.setCtx = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent.ParentContextKey) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self.isChildEvt = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent.ChildrenContextKey) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self.complete = function () {\r\n var childTime = 0;\r\n var childEvts = _self.getCtx(PerfEvent.ChildrenContextKey);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts.length; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt.time;\r\n }\r\n }\r\n }\r\n _self.time = dateNow() - _self.start;\r\n _self.exTime = _self.time - childTime;\r\n _self.complete = function () { };\r\n if (!accessorDefined && isFunction(payloadDetails)) {\r\n // If we couldn't define the property set during complete -- to minimize the perf impact until after the time\r\n _self.payload = payloadDetails();\r\n }\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent.complete();\r\n if (manager && isFunction(manager.perfEvent)) {\r\n manager.perfEvent(perfEvent);\r\n }\r\n }\r\n };\r\n _self.setCtx = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self.getCtx = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n /**\r\n * Create a new event and start timing, the manager may return null/undefined to indicate that it does not\r\n * want to monitor this source event.\r\n * @param src The source name of the event\r\n * @param payloadDetails - An optional callback function to fetch the payload details for the event.\r\n * @param isAsync - Is the event occurring from a async event\r\n */\r\n PerfManager.prototype.create = function (src, payload, isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Complete the perfEvent and fire any notifications.\r\n * @param perfEvent Fire the event which will also complete the passed event\r\n */\r\n PerfManager.prototype.fire = function (perfEvent) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Set an execution context value\r\n * @param key - The context key name\r\n * @param value - The value\r\n */\r\n PerfManager.prototype.setCtx = function (key, value) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get the execution context value\r\n * @param key - The context key\r\n */\r\n PerfManager.prototype.getCtx = function (key) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (isFunction(perfMgr[\"getPerfMgr\"])) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[\"getPerfMgr\"]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr.getCtx(doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt.setCtx) {\r\n perfEvt.setCtx(PerfEvent.ParentContextKey, currentActive);\r\n if (currentActive.getCtx && currentActive.setCtx) {\r\n var children = currentActive.getCtx(PerfEvent.ChildrenContextKey);\r\n if (!children) {\r\n children = [];\r\n currentActive.setCtx(PerfEvent.ChildrenContextKey, children);\r\n }\r\n children.push(perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr.setCtx(doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt.setCtx) {\r\n perfEvt.setCtx(\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr.setCtx(doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n//# sourceMappingURL=PerfManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { LoggingSeverity, _InternalMessageId } from \"../JavaScriptSDK.Enums/LoggingEnums\";\r\nimport { isFunction } from \"./HelperFuncs\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nvar TelemetryPluginChain = /** @class */ (function () {\r\n function TelemetryPluginChain(plugin, defItemCtx) {\r\n var _self = this;\r\n var _nextProxy = null;\r\n var _hasProcessTelemetry = isFunction(plugin.processTelemetry);\r\n var _hasSetNext = isFunction(plugin.setNextPlugin);\r\n _self._hasRun = false;\r\n _self.getPlugin = function () {\r\n return plugin;\r\n };\r\n _self.getNext = function () {\r\n return _nextProxy;\r\n };\r\n _self.setNext = function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n if (!itemCtx) {\r\n // Looks like a plugin didn't pass the (optional) context, so restore to the default\r\n itemCtx = defItemCtx;\r\n }\r\n var identifier = plugin ? plugin.identifier : \"TelemetryPluginChain\";\r\n doPerf(itemCtx ? itemCtx.core() : null, function () { return identifier + \":processTelemetry\"; }, function () {\r\n if (plugin && _hasProcessTelemetry) {\r\n _self._hasRun = true;\r\n try {\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n itemCtx.setNext(_nextProxy);\r\n if (_hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin.setNextPlugin(_nextProxy);\r\n }\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n _nextProxy && (_nextProxy._hasRun = false);\r\n plugin.processTelemetry(env, itemCtx);\r\n }\r\n catch (error) {\r\n var hasRun = _nextProxy && _nextProxy._hasRun;\r\n if (!_nextProxy || !hasRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.PluginException, \"Plugin [\" + plugin.identifier + \"] failed during processTelemetry - \" + dumpObj(error));\r\n }\r\n if (_nextProxy && !hasRun) {\r\n // As part of the failure the current plugin did not attempt to call the next plugin in the cahin\r\n // So rather than leave the pipeline dead in the water we call the next plugin\r\n _nextProxy.processTelemetry(env, itemCtx);\r\n }\r\n }\r\n }\r\n else if (_nextProxy) {\r\n _self._hasRun = true;\r\n // The underlying plugin is either not defined or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n _nextProxy.processTelemetry(env, itemCtx);\r\n }\r\n }, function () { return ({ item: env }); }, !(env.sync));\r\n };\r\n }\r\n return TelemetryPluginChain;\r\n}());\r\nexport { TelemetryPluginChain };\r\n//# sourceMappingURL=TelemetryPluginChain.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { TelemetryPluginChain } from \"./TelemetryPluginChain\";\r\nimport { arrForEach, isFunction, isNullOrUndefined, isUndefined } from \"./HelperFuncs\";\r\n/**\r\n * Creates the instance execution chain for the plugins\r\n */\r\nfunction _createProxyChain(plugins, itemCtx) {\r\n var proxies = [];\r\n if (plugins && plugins.length > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy = null;\r\n for (var idx = 0; idx < plugins.length; idx++) {\r\n var thePlugin = plugins[idx];\r\n if (thePlugin && isFunction(thePlugin.processTelemetry)) {\r\n // Only add plugins that are processors\r\n var newProxy = new TelemetryPluginChain(thePlugin, itemCtx);\r\n proxies.push(newProxy);\r\n if (lastProxy) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy.setNext(newProxy);\r\n }\r\n lastProxy = newProxy;\r\n }\r\n }\r\n }\r\n return proxies.length > 0 ? proxies[0] : null;\r\n}\r\nfunction _copyProxyChain(proxy, itemCtx, startAt) {\r\n var plugins = [];\r\n var add = startAt ? false : true;\r\n if (proxy) {\r\n while (proxy) {\r\n var thePlugin = proxy.getPlugin();\r\n if (add || thePlugin === startAt) {\r\n add = true;\r\n plugins.push(thePlugin);\r\n }\r\n proxy = proxy.getNext();\r\n }\r\n }\r\n if (!add) {\r\n plugins.push(startAt);\r\n }\r\n return _createProxyChain(plugins, itemCtx);\r\n}\r\nfunction _copyPluginChain(srcPlugins, itemCtx, startAt) {\r\n var plugins = srcPlugins;\r\n var add = false;\r\n if (startAt && srcPlugins) {\r\n plugins = [];\r\n arrForEach(srcPlugins, function (thePlugin) {\r\n if (add || thePlugin === startAt) {\r\n add = true;\r\n plugins.push(thePlugin);\r\n }\r\n });\r\n }\r\n if (startAt && !add) {\r\n if (!plugins) {\r\n plugins = [];\r\n }\r\n plugins.push(startAt);\r\n }\r\n return _createProxyChain(plugins, itemCtx);\r\n}\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(plugins, config, core, startAt) {\r\n var _self = this;\r\n var _nextProxy = null; // Null == No next plugin\r\n // There is no next element (null) vs not defined (undefined)\r\n if (startAt !== null) {\r\n if (plugins && isFunction(plugins.getPlugin)) {\r\n // We have a proxy chain object\r\n _nextProxy = _copyProxyChain(plugins, _self, startAt || plugins.getPlugin());\r\n }\r\n else {\r\n // We just have an array\r\n if (startAt) {\r\n _nextProxy = _copyPluginChain(plugins, _self, startAt);\r\n }\r\n else if (isUndefined(startAt)) {\r\n // Undefined means copy the existing chain\r\n _nextProxy = _createProxyChain(plugins, _self);\r\n }\r\n }\r\n }\r\n _self.core = function () {\r\n return core;\r\n };\r\n _self.diagLog = function () {\r\n return safeGetLogger(core, config);\r\n };\r\n _self.getCfg = function () {\r\n return config;\r\n };\r\n _self.getExtCfg = function (identifier, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = {}; }\r\n var theConfig;\r\n if (config) {\r\n var extConfig = config.extensionConfig;\r\n if (extConfig && identifier) {\r\n theConfig = extConfig[identifier];\r\n }\r\n }\r\n return (theConfig ? theConfig : defaultValue);\r\n };\r\n _self.getConfig = function (identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _self.getExtCfg(identifier, null);\r\n if (extConfig && !isNullOrUndefined(extConfig[field])) {\r\n theValue = extConfig[field];\r\n }\r\n else if (config && !isNullOrUndefined(config[field])) {\r\n theValue = config[field];\r\n }\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n };\r\n _self.hasNext = function () {\r\n return _nextProxy != null;\r\n };\r\n _self.getNext = function () {\r\n return _nextProxy;\r\n };\r\n _self.setNext = function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n };\r\n _self.processNext = function (env) {\r\n var nextPlugin = _nextProxy;\r\n if (nextPlugin) {\r\n // Automatically move to the next plugin\r\n _nextProxy = nextPlugin.getNext();\r\n nextPlugin.processTelemetry(env, _self);\r\n }\r\n };\r\n _self.createNew = function (plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n return new ProcessTelemetryContext(plugins || _nextProxy, config, core, startAt);\r\n };\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n//# sourceMappingURL=ProcessTelemetryContext.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { ProcessTelemetryContext } from \"./ProcessTelemetryContext\";\r\nimport { isFunction, isNullOrUndefined, setValue } from \"./HelperFuncs\";\r\nimport { strExtensionConfig } from \"./Constants\";\r\nvar strGetPlugin = \"getPlugin\";\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this;\r\n var _isinitialized = false;\r\n var _rootCtx = null; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin = null; // Used for backward compatibility where plugins don't call the main pipeline\r\n _self.core = null;\r\n _self.diagLog = function (itemCtx) {\r\n return _self._getTelCtx(itemCtx).diagLog();\r\n };\r\n _self.isInitialized = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self.setNextPlugin = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self.processNext = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx.processNext(env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin.processTelemetry)) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin.processTelemetry(env, null);\r\n }\r\n };\r\n _self._getTelCtx = function (currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || new ProcessTelemetryContext(null, {}, _self.core);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx.createNew(null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx.createNew(null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n };\r\n _self._baseTelInit = function (config, core, extensions, pluginChain) {\r\n if (config) {\r\n // Make sure the extensionConfig exists\r\n setValue(config, strExtensionConfig, [], null, isNullOrUndefined);\r\n }\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core.getProcessTelContext().getNext();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self.core = core;\r\n _rootCtx = new ProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n _isinitialized = true;\r\n };\r\n }\r\n BaseTelemetryPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n this._baseTelInit(config, core, extensions, pluginChain);\r\n };\r\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n//# sourceMappingURL=BaseTelemetryPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { arrForEach, isFunction } from \"./HelperFuncs\";\r\nvar processTelemetry = \"processTelemetry\";\r\nvar priority = \"priority\";\r\nvar setNextPlugin = \"setNextPlugin\";\r\nvar isInitialized = \"isInitialized\";\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config The current config for the instance\r\n * @param core THe current core instance\r\n * @param extensions The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext.getNext();\r\n while (proxy) {\r\n var thePlugin = proxy.getPlugin();\r\n if (thePlugin) {\r\n if (lastPlugin &&\r\n isFunction(lastPlugin[setNextPlugin]) &&\r\n isFunction(thePlugin[processTelemetry])) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[setNextPlugin](thePlugin);\r\n }\r\n if (!isFunction(thePlugin[isInitialized]) || !thePlugin[isInitialized]()) {\r\n initPlugins.push(thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy.getNext();\r\n }\r\n }\r\n // Now initiatilize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n thePlugin.initialize(processContext.getCfg(), processContext.core(), extensions, processContext.getNext());\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n var bHasProcess = isFunction(extB[processTelemetry]);\r\n if (isFunction(extA[processTelemetry])) {\r\n result = bHasProcess ? extA[priority] - extB[priority] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n//# sourceMappingURL=TelemetryHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin } from \"./BaseTelemetryPlugin\";\r\nimport { ProcessTelemetryContext } from \"./ProcessTelemetryContext\";\r\nimport { initializePlugins } from \"./TelemetryHelpers\";\r\nimport { arrForEach, objDefineAccessors, throwError } from \"./HelperFuncs\";\r\nvar ChannelControllerPriority = 500;\r\nvar ChannelValidationMessage = \"Channel has invalid priority\";\r\nvar ChannelController = /** @class */ (function (_super) {\r\n __extends(ChannelController, _super);\r\n function ChannelController() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"ChannelControllerPlugin\";\r\n _this.priority = ChannelControllerPriority; // in reserved range 100 to 200\r\n var _channelQueue;\r\n dynamicProto(ChannelController, _this, function (_self, _base) {\r\n _self.setNextPlugin = function (next) {\r\n // The Channel controller is last in pipeline\r\n };\r\n _self.processTelemetry = function (item, itemCtx) {\r\n if (_channelQueue) {\r\n arrForEach(_channelQueue, function (queues) {\r\n // pass on to first item in queue\r\n if (queues.length > 0) {\r\n // Copying the item context as we could have mutiple chains that are executing asynchronously\r\n // and calling _getDefTelCtx as it's possible that the caller doesn't pass any context\r\n var chainCtx = _this._getTelCtx(itemCtx).createNew(queues);\r\n chainCtx.processNext(item);\r\n }\r\n });\r\n }\r\n };\r\n _self.getChannelControls = function () {\r\n return _channelQueue;\r\n };\r\n _self.initialize = function (config, core, extensions) {\r\n if (_self.isInitialized()) {\r\n // already initialized\r\n return;\r\n }\r\n _base.initialize(config, core, extensions);\r\n _createChannelQueues((config || {}).channels, extensions);\r\n // Initialize the Queues\r\n arrForEach(_channelQueue, function (queue) { return initializePlugins(new ProcessTelemetryContext(queue, config, core), extensions); });\r\n };\r\n });\r\n function _checkQueuePriority(queue) {\r\n arrForEach(queue, function (queueItem) {\r\n if (queueItem.priority < ChannelControllerPriority) {\r\n throwError(ChannelValidationMessage + queueItem.identifier);\r\n }\r\n });\r\n }\r\n function _addChannelQueue(queue) {\r\n if (queue && queue.length > 0) {\r\n queue = queue.sort(function (a, b) {\r\n return a.priority - b.priority;\r\n });\r\n _checkQueuePriority(queue);\r\n _channelQueue.push(queue);\r\n }\r\n }\r\n function _createChannelQueues(channels, extensions) {\r\n _channelQueue = [];\r\n if (channels) {\r\n // Add and sort the configuration channel queues\r\n arrForEach(channels, function (queue) { return _addChannelQueue(queue); });\r\n }\r\n if (extensions) {\r\n // Create a new channel queue for any extensions with a priority > the ChannelControllerPriority\r\n var extensionQueue_1 = [];\r\n arrForEach(extensions, function (plugin) {\r\n if (plugin.priority > ChannelControllerPriority) {\r\n extensionQueue_1.push(plugin);\r\n }\r\n });\r\n _addChannelQueue(extensionQueue_1);\r\n }\r\n }\r\n return _this;\r\n }\r\n ChannelController.prototype.processTelemetry = function (item, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ChannelController.prototype.getChannelControls = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n ChannelController.prototype.initialize = function (config, core, extensions) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Static constructor, attempt to create accessors\r\n */\r\n // tslint:disable-next-line\r\n ChannelController._staticInit = (function () {\r\n var proto = ChannelController.prototype;\r\n // Dynamically create get/set property accessors\r\n objDefineAccessors(proto, \"ChannelControls\", proto.getChannelControls);\r\n objDefineAccessors(proto, \"channelQueue\", proto.getChannelControls);\r\n })();\r\n return ChannelController;\r\n}(BaseTelemetryPlugin));\r\nexport { ChannelController };\r\n//# sourceMappingURL=ChannelController.js.map","import { _InternalMessageId, LoggingSeverity } from \"../JavaScriptSDK.Enums/LoggingEnums\";\r\nimport { dumpObj, getDocument, getLocation, getNavigator, isIE } from \"./EnvUtils\";\r\nimport { arrForEach, dateNow, getExceptionName, isFunction, isNotNullOrUndefined, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, setValue, strContains, strEndsWith, strTrim } from \"./HelperFuncs\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strEnabled = \"enabled\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar strEmpty = \"\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc = getDocument();\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nexport function _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _createCookieMgrConfig(rootConfig) {\r\n var cookieMgrCfg = rootConfig.cookieCfg = rootConfig.cookieCfg || {};\r\n // Sets the values from the root config if not already present on the cookieMgrCfg\r\n setValue(cookieMgrCfg, \"domain\", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);\r\n setValue(cookieMgrCfg, \"path\", rootConfig.cookiePath || \"/\", null, isNullOrUndefined);\r\n if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n cookieMgrCfg[strEnabled] = cookieEnabled;\r\n }\r\n return cookieMgrCfg;\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config.cookieCfg;\r\n if (cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {}).logger);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);\r\n var _path = cookieMgrConfig.path || \"/\";\r\n var _domain = cookieMgrConfig.domain;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled = cookieMgrConfig[strEnabled] !== false;\r\n var cookieMgr = {\r\n isEnabled: function () {\r\n var enabled = _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n },\r\n setEnabled: function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n },\r\n set: function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n var values = {};\r\n var theValue = strTrim(value || strEmpty);\r\n var idx = theValue.indexOf(\";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(value.substring(0, idx));\r\n values = _extractParts(value.substring(idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, \"domain\", domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = dateNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || strEmpty, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", strEmpty + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {}).userAgent);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, \"path\", path || _path, null, isUndefined);\r\n var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n get: function (name) {\r\n var value = strEmpty;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n value = (cookieMgrConfig.getCookie || _getCookieValue)(name);\r\n }\r\n return value;\r\n },\r\n del: function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n purge: function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[\"path\"] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n var delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n delCookie(name, _formatCookieValue(strEmpty, values));\r\n result = true;\r\n }\r\n return result;\r\n }\r\n };\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n try {\r\n var doc = _doc || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CannotAccessCookie, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue.length) {\r\n var parts = strTrim(theValue).split(\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || strEmpty);\r\n if (thePart) {\r\n var idx = thePart.indexOf(\"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(thePart.substring(0, idx))] = strTrim(thePart.substring(idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || strEmpty;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : strEmpty);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = strEmpty;\r\n if (_doc) {\r\n var theCookie = _doc[strCookie] || strEmpty;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || strEmpty);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n if (_doc) {\r\n _doc[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=CookieMgr.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { __spreadArray } from \"tslib\";\r\nimport { objCreateFn } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { ChannelController } from \"./ChannelController\";\r\nimport { ProcessTelemetryContext } from \"./ProcessTelemetryContext\";\r\nimport { initializePlugins, sortPlugins } from \"./TelemetryHelpers\";\r\nimport { LoggingSeverity } from \"../JavaScriptSDK.Enums/LoggingEnums\";\r\nimport { getGblPerfMgr, PerfManager } from \"./PerfManager\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { arrForEach, isNullOrUndefined, toISOString, getSetValue, setValue, throwError, isNotTruthy, isFunction } from \"./HelperFuncs\";\r\nimport { strExtensionConfig, strIKey } from \"./Constants\";\r\nimport { DiagnosticLogger } from \"./DiagnosticLogger\";\r\nvar validationError = \"Extensions must provide callback to initialize\";\r\nvar strNotificationManager = \"_notificationManager\";\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nvar BaseCore = /** @class */ (function () {\r\n function BaseCore() {\r\n var _isInitialized = false;\r\n var _eventQueue;\r\n var _channelController;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cookieManager;\r\n dynamicProto(BaseCore, this, function (_self) {\r\n _self._extensions = new Array();\r\n _channelController = new ChannelController();\r\n // Use a default logger so initialization errors are not dropped on the floor with full logging\r\n _self.logger = new DiagnosticLogger({ loggingLevelConsole: LoggingSeverity.CRITICAL });\r\n _eventQueue = [];\r\n _self.isInitialized = function () { return _isInitialized; };\r\n _self.initialize = function (config, extensions, logger, notificationManager) {\r\n // Make sure core is only initialized once\r\n if (_self.isInitialized()) {\r\n throwError(\"Core should not be initialized more than once\");\r\n }\r\n if (!config || isNullOrUndefined(config.instrumentationKey)) {\r\n throwError(\"Please provide instrumentation key\");\r\n }\r\n _notificationManager = notificationManager;\r\n // For backward compatibility only\r\n _self[strNotificationManager] = notificationManager;\r\n _self.config = config || {};\r\n if (_self.config.enablePerfMgr) {\r\n // Set the performance manager creation function if not defined\r\n setValue(_self.config, \"createPerfMgr\", _createPerfManager);\r\n }\r\n config.extensions = isNullOrUndefined(config.extensions) ? [] : config.extensions;\r\n // add notification to the extensions in the config so other plugins can access it\r\n var extConfig = getSetValue(config, strExtensionConfig);\r\n extConfig.NotificationManager = notificationManager;\r\n if (logger) {\r\n _self.logger = logger;\r\n }\r\n // Concat all available extensions\r\n var allExtensions = [];\r\n allExtensions.push.apply(allExtensions, __spreadArray(__spreadArray([], extensions, false), config.extensions, false));\r\n allExtensions = sortPlugins(allExtensions);\r\n var coreExtensions = [];\r\n var channelExtensions = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the\r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext.initialize)) {\r\n throwError(validationError);\r\n }\r\n var extPriority = ext.priority;\r\n var identifier = ext.identifier;\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n logger.warnToConsole(\"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channelController\r\n if (!extPriority || extPriority < _channelController.priority) {\r\n // Add to core extension that will be managed by BaseCore\r\n coreExtensions.push(ext);\r\n }\r\n else {\r\n // Add all other extensions to be managed by the channel controller\r\n channelExtensions.push(ext);\r\n }\r\n });\r\n // Validation complete\r\n // Add the channelController to the complete extension collection and\r\n // to the end of the core extensions\r\n allExtensions.push(_channelController);\r\n coreExtensions.push(_channelController);\r\n // Sort the complete set of extensions by priority\r\n allExtensions = sortPlugins(allExtensions);\r\n _self._extensions = allExtensions;\r\n // initialize channel controller first, this will initialize all channel plugins\r\n initializePlugins(new ProcessTelemetryContext([_channelController], config, _self), allExtensions);\r\n initializePlugins(new ProcessTelemetryContext(coreExtensions, config, _self), allExtensions);\r\n // Now reset the extensions to just those being managed by Basecore\r\n _self._extensions = coreExtensions;\r\n if (_self.getTransmissionControls().length === 0) {\r\n throwError(\"No channels available\");\r\n }\r\n _isInitialized = true;\r\n _self.releaseQueue();\r\n };\r\n _self.getTransmissionControls = function () {\r\n return _channelController.getChannelControls();\r\n };\r\n _self.track = function (telemetryItem) {\r\n // setup default iKey if not passed in\r\n setValue(telemetryItem, strIKey, _self.config.instrumentationKey, null, isNotTruthy);\r\n // add default timestamp if not passed in\r\n setValue(telemetryItem, \"time\", toISOString(new Date()), null, isNotTruthy);\r\n // Common Schema 4.0\r\n setValue(telemetryItem, \"ver\", \"4.0\", null, isNullOrUndefined);\r\n if (_self.isInitialized()) {\r\n // Process the telemetry plugin chain\r\n _self.getProcessTelContext().processNext(telemetryItem);\r\n }\r\n else {\r\n // Queue events until all extensions are initialized\r\n _eventQueue.push(telemetryItem);\r\n }\r\n };\r\n _self.getProcessTelContext = function () {\r\n var extensions = _self._extensions;\r\n var thePlugins = extensions;\r\n // invoke any common telemetry processors before sending through pipeline\r\n if (!extensions || extensions.length === 0) {\r\n // Pass to Channel controller so data is sent to correct channel queues\r\n thePlugins = [_channelController];\r\n }\r\n return new ProcessTelemetryContext(thePlugins, _self.config, _self);\r\n };\r\n _self.getNotifyMgr = function () {\r\n if (!_notificationManager) {\r\n // Create Dummy notification manager\r\n _notificationManager = objCreateFn({\r\n addNotificationListener: function (listener) { },\r\n removeNotificationListener: function (listener) { },\r\n eventsSent: function (events) { },\r\n eventsDiscarded: function (events, reason) { },\r\n eventsSendRequest: function (sendReason, isAsync) { }\r\n });\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_self.config, _self.logger);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n _cookieManager = cookieMgr;\r\n };\r\n _self.getPerfMgr = function () {\r\n if (!_perfManager) {\r\n if (_self.config && _self.config.enablePerfMgr && isFunction(_self.config.createPerfMgr)) {\r\n _perfManager = _self.config.createPerfMgr(_self, _self.getNotifyMgr());\r\n }\r\n }\r\n return _perfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue.length;\r\n };\r\n _self.releaseQueue = function () {\r\n if (_eventQueue.length > 0) {\r\n arrForEach(_eventQueue, function (event) {\r\n _self.getProcessTelContext().processNext(event);\r\n });\r\n _eventQueue = [];\r\n }\r\n };\r\n });\r\n }\r\n BaseCore.prototype.initialize = function (config, extensions, logger, notificationManager) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseCore.prototype.getTransmissionControls = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseCore.prototype.track = function (telemetryItem) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseCore.prototype.getProcessTelContext = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseCore.prototype.getNotifyMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n BaseCore.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Set the current cookie manager for this instance\r\n * @param cookieMgr - The manager, if set to null/undefined will cause the default to be created\r\n */\r\n BaseCore.prototype.setCookieMgr = function (cookieMgr) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseCore.prototype.getPerfMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseCore.prototype.setPerfMgr = function (perfMgr) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseCore.prototype.eventCnt = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseCore.prototype.releaseQueue = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return BaseCore;\r\n}());\r\nexport { BaseCore };\r\n//# sourceMappingURL=BaseCore.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * The EventsDiscardedReason enumeration contains a set of values that specify the reason for discarding an event.\r\n */\r\nexport var EventsDiscardedReason = {\r\n /**\r\n * Unknown.\r\n */\r\n Unknown: 0,\r\n /**\r\n * Status set to non-retryable.\r\n */\r\n NonRetryableStatus: 1,\r\n /**\r\n * The event is invalid.\r\n */\r\n InvalidEvent: 2,\r\n /**\r\n * The size of the event is too large.\r\n */\r\n SizeLimitExceeded: 3,\r\n /**\r\n * The server is not accepting events from this instrumentation key.\r\n */\r\n KillSwitch: 4,\r\n /**\r\n * The event queue is full.\r\n */\r\n QueueFull: 5\r\n};\r\n//# sourceMappingURL=EventsDiscardedReason.js.map","import dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { arrForEach, arrIndexOf } from \"./HelperFuncs\";\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n _self.addNotificationListener = function (listener) {\r\n _self.listeners.push(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - AWTNotificationListener to remove.\r\n */\r\n _self.removeNotificationListener = function (listener) {\r\n var index = arrIndexOf(_self.listeners, listener);\r\n while (index > -1) {\r\n _self.listeners.splice(index, 1);\r\n index = arrIndexOf(_self.listeners, listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {ITelemetryItem[]} events - The array of events that have been sent.\r\n */\r\n _self.eventsSent = function (events) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.eventsSent) {\r\n setTimeout(function () { return listener.eventsSent(events); }, 0);\r\n }\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param {ITelemetryItem[]} events - The array of events that have been discarded by the SDK.\r\n * @param {number} reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self.eventsDiscarded = function (events, reason) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.eventsDiscarded) {\r\n setTimeout(function () { return listener.eventsDiscarded(events, reason); }, 0);\r\n }\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param {number} sendReason - The reason why the event batch is being sent.\r\n * @param {boolean} isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self.eventsSendRequest = function (sendReason, isAsync) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.eventsSendRequest) {\r\n if (isAsync) {\r\n setTimeout(function () { return listener.eventsSendRequest(sendReason, isAsync); }, 0);\r\n }\r\n else {\r\n try {\r\n listener.eventsSendRequest(sendReason, isAsync);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n };\r\n _self.perfEvent = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent.isChildEvt()) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.perfEvent) {\r\n if (perfEvent.isAsync) {\r\n setTimeout(function () { return listener.perfEvent(perfEvent); }, 0);\r\n }\r\n else {\r\n try {\r\n listener.perfEvent(perfEvent);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n });\r\n }\r\n /**\r\n * Adds a notification listener.\r\n * @param {INotificationListener} listener - The notification listener to be added.\r\n */\r\n NotificationManager.prototype.addNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - AWTNotificationListener to remove.\r\n */\r\n NotificationManager.prototype.removeNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {ITelemetryItem[]} events - The array of events that have been sent.\r\n */\r\n NotificationManager.prototype.eventsSent = function (events) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param {ITelemetryItem[]} events - The array of events that have been discarded by the SDK.\r\n * @param {number} reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n NotificationManager.prototype.eventsDiscarded = function (events, reason) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param {number} sendReason - The reason why the event batch is being sent.\r\n * @param {boolean} isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n NotificationManager.prototype.eventsSendRequest = function (sendReason, isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n//# sourceMappingURL=NotificationManager.js.map","import { __extends } from \"tslib\";\r\nimport { BaseCore } from \"./BaseCore\";\r\nimport { EventsDiscardedReason } from \"../JavaScriptSDK.Enums/EventsDiscardedReason\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _InternalLogMessage, DiagnosticLogger } from \"./DiagnosticLogger\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { arrForEach, isNullOrUndefined, toISOString, throwError } from \"./HelperFuncs\";\r\n\"use strict\";\r\nvar AppInsightsCore = /** @class */ (function (_super) {\r\n __extends(AppInsightsCore, _super);\r\n function AppInsightsCore() {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * Internal log poller\r\n */\r\n var _internalLogPoller = 0;\r\n dynamicProto(AppInsightsCore, _this, function (_self, _base) {\r\n _self.initialize = function (config, extensions, logger, notificationManager) {\r\n _base.initialize(config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self.getPerfMgr(), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n _validateTelemetryItem(telemetryItem);\r\n _base.track(telemetryItem);\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param {INotificationListener} listener - An INotificationListener object.\r\n */\r\n _self.addNotificationListener = function (listener) {\r\n var manager = _self.getNotifyMgr();\r\n if (manager) {\r\n manager.addNotificationListener(listener);\r\n }\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - INotificationListener to remove.\r\n */\r\n _self.removeNotificationListener = function (listener) {\r\n var manager = _self.getNotifyMgr();\r\n if (manager) {\r\n manager.removeNotificationListener(listener);\r\n }\r\n };\r\n /**\r\n * Periodically check logger.queue for log messages to be flushed\r\n */\r\n _self.pollInternalLogs = function (eventName) {\r\n var interval = _self.config.diagnosticLogInterval;\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n if (_internalLogPoller) {\r\n _self.stopPollingInternalLogs();\r\n }\r\n _internalLogPoller = setInterval(function () {\r\n var queue = _self.logger ? _self.logger.queue : [];\r\n arrForEach(queue, function (logMessage) {\r\n var item = {\r\n name: eventName ? eventName : \"InternalMessageId: \" + logMessage.messageId,\r\n iKey: _self.config.instrumentationKey,\r\n time: toISOString(new Date()),\r\n baseType: _InternalLogMessage.dataType,\r\n baseData: { message: logMessage.message }\r\n };\r\n _self.track(item);\r\n });\r\n queue.length = 0;\r\n }, interval);\r\n return _internalLogPoller;\r\n };\r\n /**\r\n * Stop polling log messages from logger.queue\r\n */\r\n _self.stopPollingInternalLogs = function () {\r\n if (!_internalLogPoller)\r\n return;\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = 0;\r\n };\r\n function _validateTelemetryItem(telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem.name)) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throw Error(\"telemetry name required\");\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self.getNotifyMgr();\r\n if (manager) {\r\n manager.eventsDiscarded([telemetryItem], EventsDiscardedReason.InvalidEvent);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n AppInsightsCore.prototype.initialize = function (config, extensions, logger, notificationManager) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsCore.prototype.track = function (telemetryItem) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param {INotificationListener} listener - An INotificationListener object.\r\n */\r\n AppInsightsCore.prototype.addNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - INotificationListener to remove.\r\n */\r\n AppInsightsCore.prototype.removeNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Periodically check logger.queue for\r\n */\r\n AppInsightsCore.prototype.pollInternalLogs = function (eventName) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n /**\r\n * Periodically check logger.queue for\r\n */\r\n AppInsightsCore.prototype.stopPollingInternalLogs = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return AppInsightsCore;\r\n}(BaseCore));\r\nexport { AppInsightsCore };\r\n//# sourceMappingURL=AppInsightsCore.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { dateNow } from \"./HelperFuncs\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = 123456789;\r\nvar _mwcZ = 987654321;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (123456789 + seedValue) & MaxUInt32;\r\n _mwcZ = (987654321 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = dateNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n else if (isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n else {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n//# sourceMappingURL=RandomHelper.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { objCreateFn, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _gblCookieMgr } from \"./CookieMgr\";\r\nimport { getWindow, getDocument, getPerformance, isIE } from \"./EnvUtils\";\r\nimport { arrForEach, arrIndexOf, arrMap, arrReduce, attachEvent, dateNow, detachEvent, hasOwnProperty, isArray, isBoolean, isDate, isError, isFunction, isNullOrUndefined, isNumber, isObject, isString, isTypeof, isUndefined, objDefineAccessors, objKeys, strTrim, toISOString } from \"./HelperFuncs\";\r\nimport { randomValue, random32, mwcRandomSeed, mwcRandom32 } from \"./RandomHelper\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar _cookieMgrs = null;\r\nvar _canUseCookies; // legacy supported config\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = attachEvent(w, eventName, callback);\r\n result = attachEvent(w[\"body\"], eventName, callback) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = attachEvent(doc, eventName, callback) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n var excluded_1 = [];\r\n arrForEach(events, function (name) {\r\n if (isString(name)) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener) || added;\r\n }\r\n else {\r\n excluded_1.push(name);\r\n }\r\n }\r\n });\r\n if (!added && excluded_1.length > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = addEventListeners(excluded_1, listener);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([\"beforeunload\", \"unload\", \"pagehide\"], listener, excludeEvents);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n var pageUnloadAdded = false;\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strPageHide) === -1) {\r\n pageUnloadAdded = addEventHandler(strPageHide, listener);\r\n }\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = addEventHandler(strVisibilityChangeEvt, _handlePageVisibility) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n var pageShowAdded = false;\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strPageShow) === -1) {\r\n pageShowAdded = addEventHandler(strPageShow, listener);\r\n }\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageShowAdded = addEventHandler(strVisibilityChangeEvt, _handlePageVisibility) || pageShowAdded;\r\n }\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener);\r\n }\r\n return pageShowAdded;\r\n}\r\nexport function newGuid() {\r\n function randomHexDigit() {\r\n return randomValue(15); // Get a random value from 0..15\r\n }\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(GuidRegex, function (c) {\r\n var r = (randomHexDigit() | 0), v = (c === \"x\" ? r : r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n}\r\n/**\r\n * Return the current value of the Performance Api now() function (if available) and fallback to dateNow() if it is unavailable (IE9 or less)\r\n * https://caniuse.com/#search=performance.now\r\n */\r\nexport function perfNow() {\r\n var perf = getPerformance();\r\n if (perf && perf.now) {\r\n return perf.now();\r\n }\r\n return dateNow();\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = \"\";\r\n while (result.length < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value.length;\r\n var start = len - search.length;\r\n return value.substring(start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = \"\", tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return oct.substr(0, 8) + oct.substr(9, 4) + \"4\" + oct.substr(13, 3) + clockSequenceHi + oct.substr(16, 3) + oct.substr(19, 12);\r\n}\r\n/**\r\n * Provides a collection of utility functions, included for backward compatibility with previous releases.\r\n * @deprecated Marking this instance as deprecated in favor of direct usage of the helper functions\r\n * as direct usage provides better tree-shaking and minification by avoiding the inclusion of the unused items\r\n * in your resulting code.\r\n */\r\nexport var CoreUtils = {\r\n _canUseCookies: undefined,\r\n isTypeof: isTypeof,\r\n isUndefined: isUndefined,\r\n isNullOrUndefined: isNullOrUndefined,\r\n hasOwnProperty: hasOwnProperty,\r\n isFunction: isFunction,\r\n isObject: isObject,\r\n isDate: isDate,\r\n isArray: isArray,\r\n isError: isError,\r\n isString: isString,\r\n isNumber: isNumber,\r\n isBoolean: isBoolean,\r\n toISOString: toISOString,\r\n arrForEach: arrForEach,\r\n arrIndexOf: arrIndexOf,\r\n arrMap: arrMap,\r\n arrReduce: arrReduce,\r\n strTrim: strTrim,\r\n objCreate: objCreateFn,\r\n objKeys: objKeys,\r\n objDefineAccessors: objDefineAccessors,\r\n addEventHandler: addEventHandler,\r\n dateNow: dateNow,\r\n isIE: isIE,\r\n disableCookies: disableCookies,\r\n newGuid: newGuid,\r\n perfNow: perfNow,\r\n newId: newId,\r\n randomValue: randomValue,\r\n random32: random32,\r\n mwcRandomSeed: mwcRandomSeed,\r\n mwcRandom32: mwcRandom32,\r\n generateW3CId: generateW3CId\r\n};\r\nvar GuidRegex = /[xy]/g;\r\nexport var EventHelper = {\r\n Attach: attachEvent,\r\n AttachEvent: attachEvent,\r\n Detach: detachEvent,\r\n DetachEvent: detachEvent\r\n};\r\n/**\r\n * Helper to support backward compatibility for users that use the legacy cookie handling functions and the use the internal\r\n * CoreUtils._canUseCookies global flag to enable/disable cookies usage.\r\n * Note: This has the following deliberate side-effects\r\n * - Creates the global (legacy) cookie manager if it does not already exist\r\n * - Attempts to add \"listeners\" to the CoreUtils._canUseCookies property to support the legacy usage\r\n * @param config\r\n * @param logger\r\n * @returns\r\n */\r\nexport function _legacyCookieMgr(config, logger) {\r\n var cookieMgr = _gblCookieMgr(config, logger);\r\n var legacyCanUseCookies = CoreUtils._canUseCookies;\r\n if (_cookieMgrs === null) {\r\n _cookieMgrs = [];\r\n _canUseCookies = legacyCanUseCookies;\r\n // Dynamically create get/set property accessors for backward compatibility for enabling / disabling cookies\r\n // this WILL NOT work for ES3 browsers (< IE8)\r\n objDefineAccessors(CoreUtils, \"_canUseCookies\", function () {\r\n return _canUseCookies;\r\n }, function (value) {\r\n _canUseCookies = value;\r\n arrForEach(_cookieMgrs, function (mgr) {\r\n mgr.setEnabled(value);\r\n });\r\n });\r\n }\r\n if (arrIndexOf(_cookieMgrs, cookieMgr) === -1) {\r\n _cookieMgrs.push(cookieMgr);\r\n }\r\n if (isBoolean(legacyCanUseCookies)) {\r\n cookieMgr.setEnabled(legacyCanUseCookies);\r\n }\r\n if (isBoolean(_canUseCookies)) {\r\n cookieMgr.setEnabled(_canUseCookies);\r\n }\r\n return cookieMgr;\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().disable()\r\n * Force the SDK not to store and read any data from cookies.\r\n */\r\nexport function disableCookies() {\r\n _legacyCookieMgr().setEnabled(false);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().isEnabled()\r\n * Helper method to tell if document.cookie object is available and whether it can be used.\r\n */\r\nexport function canUseCookies(logger) {\r\n return _legacyCookieMgr(null, logger).isEnabled();\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().get()\r\n * helper method to access userId and sessionId cookie\r\n */\r\nexport function getCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).get(name);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().set()\r\n * helper method to set userId and sessionId cookie\r\n */\r\nexport function setCookie(logger, name, value, domain) {\r\n _legacyCookieMgr(null, logger).set(name, value, null, domain);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().del()\r\n * Deletes a cookie by setting it's expiration time in the past.\r\n * @param name - The name of the cookie to delete.\r\n */\r\nexport function deleteCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).del(name);\r\n}\r\n//# sourceMappingURL=CoreUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the\r\nexport { Util, CorrelationIdHelper, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, UrlHelper, isInternalApplicationInsightsEndpoint } from \"./Util\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, strNotSpecified } from \"./Constants\";\r\nexport { Data as AIData } from \"./Interfaces/Contracts/Generated/Data\";\r\nexport { Base as AIBase } from \"./Interfaces/Contracts/Generated/Base\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { PageViewData } from \"./Interfaces/Contracts/Generated/PageViewData\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/Generated/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/Generated/ContextTagKeys\";\r\nexport { DataSanitizer, dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { LoggingSeverity, _InternalMessageId, hasJSON, getJSON, objForEachKey, isObject, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key.length;\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field.length !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field.substring(0, 150 /* MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(name.toString());\r\n // truncate the string to 150 chars\r\n if (name.length > 150 /* MAX_NAME_LENGTH */) {\r\n nameTrunc = name.substring(0, 150 /* MAX_NAME_LENGTH */);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.NameTooLong, \"name is too long. It has been truncated to \" + 150 /* MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString().length > maxLength) {\r\n valueTrunc = value.toString().substring(0, maxLength);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StringValueTooLong, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* MAX_URL_LENGTH */, _InternalMessageId.UrlTooLong);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message.length > 32768 /* MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message.substring(0, 32768 /* MAX_MESSAGE_LENGTH */);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.MessageTruncated, \"message is too long, it has been truncated to \" + 32768 /* MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value.length > 32768 /* MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value.substring(0, 32768 /* MAX_EXCEPTION_LENGTH */);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ExceptionTruncated, \"exception is too long, it has been truncated to \" + 32768 /* MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON().stringify(value);\r\n }\r\n catch (e) {\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CannotSerializeObjectNonSerializable, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* MAX_ID_LENGTH */, _InternalMessageId.IdTooLong).toString() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input.length > maxLength) {\r\n inputTrunc = input.substring(0, maxLength);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s.length - 3);\r\n}\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = {\r\n MAX_NAME_LENGTH: 150 /* MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* MAX_EXCEPTION_LENGTH */,\r\n sanitizeKeyAndAddUniqueness: dataSanitizeKeyAndAddUniqueness,\r\n sanitizeKey: dataSanitizeKey,\r\n sanitizeString: dataSanitizeString,\r\n sanitizeUrl: dataSanitizeUrl,\r\n sanitizeMessage: dataSanitizeMessage,\r\n sanitizeException: dataSanitizeException,\r\n sanitizeProperties: dataSanitizeProperties,\r\n sanitizeMeasurements: dataSanitizeMeasurements,\r\n sanitizeId: dataSanitizeId,\r\n sanitizeInput: dataSanitizeInput,\r\n padNumber: dsPadNumber,\r\n trim: strTrim\r\n};\r\n//# sourceMappingURL=DataSanitizer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Type of the metric data measurement.\r\n */\r\nexport var DataPointType;\r\n(function (DataPointType) {\r\n DataPointType[DataPointType[\"Measurement\"] = 0] = \"Measurement\";\r\n DataPointType[DataPointType[\"Aggregation\"] = 1] = \"Aggregation\";\r\n})(DataPointType || (DataPointType = {}));\r\n//# sourceMappingURL=DataPointType.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { objForEachKey, isNullOrUndefined, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified, strIkey } from \"./Constants\";\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights.<instrumentation key>.PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = function (item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throw Error(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = {\r\n name: envelopeName,\r\n time: toISOString(new Date()),\r\n iKey: iKey,\r\n ext: systemProperties ? systemProperties : {},\r\n tags: [],\r\n data: {},\r\n baseType: baseType,\r\n baseData: item // Part B\r\n };\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n };\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name.\r\n */\r\nvar EventData = /** @class */ (function () {\r\n function EventData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return EventData;\r\n}());\r\nexport { EventData };\r\n//# sourceMappingURL=EventData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { EventData } from \"../Interfaces/Contracts/Generated/EventData\";\r\nimport { dataSanitizeString, dataSanitizeProperties, dataSanitizeMeasurements } from \"./Common/DataSanitizer\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar Event = /** @class */ (function (_super) {\r\n __extends(Event, _super);\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 1 /* Required */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}(EventData));\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { MessageData } from \"../Interfaces/Contracts/Generated/MessageData\";\r\nimport { dataSanitizeMessage, dataSanitizeProperties, dataSanitizeMeasurements } from \"./Common/DataSanitizer\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar Trace = /** @class */ (function (_super) {\r\n __extends(Trace, _super);\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n message: 1 /* Required */,\r\n severityLevel: 0 /* Default */,\r\n properties: 0 /* Default */\r\n };\r\n message = message || strNotSpecified;\r\n _this.message = dataSanitizeMessage(logger, message);\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n return _this;\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}(MessageData));\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into intances of this type. The message does not have measurements.\r\n */\r\nvar MessageData = /** @class */ (function () {\r\n function MessageData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return MessageData;\r\n}());\r\nexport { MessageData };\r\n//# sourceMappingURL=MessageData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * An instance of the Metric item is a list of measurements (single data points) and/or aggregations.\r\n */\r\nvar MetricData = /** @class */ (function () {\r\n function MetricData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * List of metrics. Only one metric in the list is currently supported by Application Insights storage. If multiple data points were sent only the first one will be used.\r\n */\r\n this.metrics = [];\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return MetricData;\r\n}());\r\nexport { MetricData };\r\n//# sourceMappingURL=MetricData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { DataPoint as AIDataPoint } from \"../../Interfaces/Contracts/Generated/DataPoint\";\r\nvar DataPoint = /** @class */ (function (_super) {\r\n __extends(DataPoint, _super);\r\n function DataPoint() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n _this.aiDataContract = {\r\n name: 1 /* Required */,\r\n kind: 0 /* Default */,\r\n value: 1 /* Required */,\r\n count: 0 /* Default */,\r\n min: 0 /* Default */,\r\n max: 0 /* Default */,\r\n stdDev: 0 /* Default */\r\n };\r\n return _this;\r\n }\r\n return DataPoint;\r\n}(AIDataPoint));\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { MetricData } from \"../Interfaces/Contracts/Generated/MetricData\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar Metric = /** @class */ (function (_super) {\r\n __extends(Metric, _super);\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n metrics: 1 /* Required */,\r\n properties: 0 /* Default */\r\n };\r\n var dataPoint = new DataPoint();\r\n dataPoint.count = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _this.metrics = [dataPoint];\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}(MetricData));\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\n// THIS FILE WAS AUTOGENERATED\r\nimport { EventData } from \"./EventData\";\r\n/**\r\n * An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView.\r\n */\r\nvar PageViewData = /** @class */ (function (_super) {\r\n __extends(PageViewData, _super);\r\n function PageViewData() {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * Schema version\r\n */\r\n _this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n _this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewData;\r\n}(EventData));\r\nexport { PageViewData };\r\n//# sourceMappingURL=PageViewData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { PageViewData } from \"../Interfaces/Contracts/Generated/PageViewData\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar PageView = /** @class */ (function (_super) {\r\n __extends(PageView, _super);\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n url: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */,\r\n id: 0 /* Default */\r\n };\r\n _this.id = dataSanitizeId(logger, id);\r\n _this.url = dataSanitizeUrl(logger, url);\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _this.duration = msToTimeSpan(durationMs);\r\n }\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}(PageViewData));\r\nexport { PageView };\r\n//# sourceMappingURL=PageView.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { PageViewPerfData } from \"../Interfaces/Contracts/Generated/PageViewPerfData\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar PageViewPerformance = /** @class */ (function (_super) {\r\n __extends(PageViewPerformance, _super);\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n url: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n perfTotal: 0 /* Default */,\r\n networkConnect: 0 /* Default */,\r\n sentRequest: 0 /* Default */,\r\n receivedResponse: 0 /* Default */,\r\n domProcessing: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n _this.url = dataSanitizeUrl(logger, url);\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _this.domProcessing = cs4BaseData.domProcessing;\r\n _this.duration = cs4BaseData.duration;\r\n _this.networkConnect = cs4BaseData.networkConnect;\r\n _this.perfTotal = cs4BaseData.perfTotal;\r\n _this.receivedResponse = cs4BaseData.receivedResponse;\r\n _this.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n return _this;\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}(PageViewPerfData));\r\nexport { PageViewPerformance };\r\n//# sourceMappingURL=PageViewPerformance.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\n// THIS FILE WAS AUTOGENERATED\r\nimport { PageViewData } from \"./PageViewData\";\r\n/**\r\n * An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request.\r\n */\r\nvar PageViewPerfData = /** @class */ (function (_super) {\r\n __extends(PageViewPerfData, _super);\r\n function PageViewPerfData() {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * Schema version\r\n */\r\n _this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n _this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewPerfData;\r\n}(PageViewData));\r\nexport { PageViewPerfData };\r\n//# sourceMappingURL=PageViewPerfData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Stack frame information.\r\n */\r\nvar StackFrame = /** @class */ (function () {\r\n function StackFrame() {\r\n }\r\n return StackFrame;\r\n}());\r\nexport { StackFrame };\r\n//# sourceMappingURL=StackFrame.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * Exception details of the exception in a chain.\r\n */\r\nvar ExceptionDetails = /** @class */ (function () {\r\n function ExceptionDetails() {\r\n /**\r\n * Indicates if full exception stack is provided in the exception. The stack may be trimmed, such as in the case of a StackOverflow exception.\r\n */\r\n this.hasFullStack = true;\r\n /**\r\n * List of stack frames. Either stack or parsedStack should have a value.\r\n */\r\n this.parsedStack = [];\r\n }\r\n return ExceptionDetails;\r\n}());\r\nexport { ExceptionDetails };\r\n//# sourceMappingURL=ExceptionDetails.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { StackFrame } from \"../Interfaces/Contracts/Generated/StackFrame\";\r\nimport { ExceptionData } from \"../Interfaces/Contracts/Generated/ExceptionData\";\r\nimport { ExceptionDetails } from \"../Interfaces/Contracts/Generated/ExceptionDetails\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nimport { isNullOrUndefined, arrMap, isString, strTrim, isArray, isError, arrForEach, isObject, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar NoMethod = \"<no_method>\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON.stringify) {\r\n result = JSON.stringify(value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value.toString)) {\r\n result = value.toString();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\").indexOf(errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src.split(\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage.split(\"\\n\");\r\n for (var lp = 0; lp < lines.length; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj.message);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames.length > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame.toString();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame.sizeInBytes;\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack.length - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left].sizeInBytes;\r\n var rSize = parsedStack[right].sizeInBytes;\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType.name || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor.toString());\r\n typeName = (results && results.length > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result.indexOf(errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function (_super) {\r\n __extends(Exception, _super);\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n exceptions: 1 /* Required */,\r\n severityLevel: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _this.exceptions = [new _ExceptionDetails(logger, exception, properties)];\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n if (id) {\r\n _this.id = id;\r\n }\r\n }\r\n else {\r\n _this.exceptions = exception.exceptions;\r\n _this.properties = exception.properties;\r\n _this.measurements = exception.measurements;\r\n if (exception.severityLevel) {\r\n _this.severityLevel = exception.severityLevel;\r\n }\r\n if (exception.id) {\r\n _this.id = exception.id;\r\n }\r\n if (exception.problemGroup) {\r\n _this.problemGroup = exception.problemGroup;\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n _this.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!isNullOrUndefined(exception.isManual)) {\r\n _this.isManual = exception.isManual;\r\n }\r\n }\r\n return _this;\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var errorType = _getErrorType(error || evt || message);\r\n return {\r\n message: _formatMessage(message, errorType),\r\n url: url,\r\n lineNumber: lineNumber,\r\n columnNumber: columnNumber,\r\n error: _formatErrorCode(error || evt || message),\r\n evt: _formatErrorCode(evt || message),\r\n typeName: errorType,\r\n stackDetails: _getStackFromErrorObj(stack || error || evt),\r\n errorSrc: errorSrc\r\n };\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception.exceptions\r\n && arrMap(exception.exceptions, function (ex) { return _ExceptionDetails.CreateFromInterface(logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a = this, exceptions = _a.exceptions, properties = _a.properties, measurements = _a.measurements, severityLevel = _a.severityLevel, ver = _a.ver, problemGroup = _a.problemGroup, id = _a.id, isManual = _a.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return {\r\n ver: \"4.0\",\r\n exceptions: exceptionDetailsInterface,\r\n severityLevel: severityLevel,\r\n properties: properties,\r\n measurements: measurements,\r\n problemGroup: problemGroup,\r\n id: id,\r\n isManual: isManual\r\n };\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n return {\r\n exceptions: [\r\n {\r\n hasFullStack: true,\r\n message: message,\r\n stack: details,\r\n typeName: typeName\r\n }\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}(ExceptionData));\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function (_super) {\r\n __extends(_ExceptionDetails, _super);\r\n function _ExceptionDetails(logger, exception, properties) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: 0 /* Default */,\r\n outerId: 0 /* Default */,\r\n typeName: 1 /* Required */,\r\n message: 1 /* Required */,\r\n hasFullStack: 0 /* Default */,\r\n stack: 0 /* Default */,\r\n parsedStack: 2 /* Array */\r\n };\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _this.typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _this.message = dataSanitizeMessage(logger, _formatMessage(exception || error, _this.typeName)) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _this.parsedStack = _parseStack(stack);\r\n _this[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _this.hasFullStack = isArray(_this.parsedStack) && _this.parsedStack.length > 0;\r\n if (properties) {\r\n properties.typeName = properties.typeName || _this.typeName;\r\n }\r\n }\r\n else {\r\n _this.typeName = exception.typeName;\r\n _this.message = exception.message;\r\n _this[strStack] = exception[strStack];\r\n _this.parsedStack = exception.parsedStack;\r\n _this.hasFullStack = exception.hasFullStack;\r\n }\r\n return _this;\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var parsedStack = this.parsedStack instanceof Array\r\n && arrMap(this.parsedStack, function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = {\r\n id: this.id,\r\n outerId: this.outerId,\r\n typeName: this.typeName,\r\n message: this.message,\r\n hasFullStack: this.hasFullStack,\r\n stack: this[strStack],\r\n parsedStack: parsedStack || undefined\r\n };\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception.parsedStack instanceof Array\r\n && arrMap(exception.parsedStack, function (frame) { return _StackFrame.CreateFromInterface(frame); }))\r\n || exception.parsedStack;\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}(ExceptionDetails));\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function (_super) {\r\n __extends(_StackFrame, _super);\r\n function _StackFrame(sourceFrame, level) {\r\n var _this = _super.call(this) || this;\r\n _this.sizeInBytes = 0;\r\n _this.aiDataContract = {\r\n level: 1 /* Required */,\r\n method: 1 /* Required */,\r\n assembly: 0 /* Default */,\r\n fileName: 0 /* Default */,\r\n line: 0 /* Default */\r\n };\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _this.level = level;\r\n _this.method = NoMethod;\r\n _this.assembly = strTrim(frame);\r\n _this.fileName = \"\";\r\n _this.line = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches.length >= 5) {\r\n _this.method = strTrim(matches[2]) || _this.method;\r\n _this.fileName = strTrim(matches[4]);\r\n _this.line = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _this.level = sourceFrame.level;\r\n _this.method = sourceFrame.method;\r\n _this.assembly = sourceFrame.assembly;\r\n _this.fileName = sourceFrame.fileName;\r\n _this.line = sourceFrame.line;\r\n _this.sizeInBytes = 0;\r\n }\r\n _this.sizeInBytes += _this.method.length;\r\n _this.sizeInBytes += _this.fileName.length;\r\n _this.sizeInBytes += _this.assembly.length;\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _this.sizeInBytes += _StackFrame.baseSize;\r\n _this.sizeInBytes += _this.level.toString().length;\r\n _this.sizeInBytes += _this.line.toString().length;\r\n return _this;\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n return {\r\n level: this.level,\r\n method: this.method,\r\n assembly: this.assembly,\r\n fileName: this.fileName,\r\n line: this.line\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}(StackFrame));\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Defines the level of severity for the event.\r\n */\r\nexport var SeverityLevel;\r\n(function (SeverityLevel) {\r\n SeverityLevel[SeverityLevel[\"Verbose\"] = 0] = \"Verbose\";\r\n SeverityLevel[SeverityLevel[\"Information\"] = 1] = \"Information\";\r\n SeverityLevel[SeverityLevel[\"Warning\"] = 2] = \"Warning\";\r\n SeverityLevel[SeverityLevel[\"Error\"] = 3] = \"Error\";\r\n SeverityLevel[SeverityLevel[\"Critical\"] = 4] = \"Critical\";\r\n})(SeverityLevel || (SeverityLevel = {}));\r\n//# sourceMappingURL=SeverityLevel.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * Type of storage to differentiate between local storage and session storage\r\n */\r\nexport var StorageType;\r\n(function (StorageType) {\r\n StorageType[StorageType[\"LocalStorage\"] = 0] = \"LocalStorage\";\r\n StorageType[StorageType[\"SessionStorage\"] = 1] = \"SessionStorage\";\r\n})(StorageType || (StorageType = {}));\r\nexport var DistributedTracingModes;\r\n(function (DistributedTracingModes) {\r\n /**\r\n * (Default) Send Application Insights correlation headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"AI\"] = 0] = \"AI\";\r\n /**\r\n * Send both W3C Trace Context headers and back-compatibility Application Insights headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"AI_AND_W3C\"] = 1] = \"AI_AND_W3C\";\r\n /**\r\n * Send W3C Trace Context headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"W3C\"] = 2] = \"W3C\";\r\n})(DistributedTracingModes || (DistributedTracingModes = {}));\r\n//# sourceMappingURL=Enums.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application.\r\n */\r\nvar ExceptionData = /** @class */ (function () {\r\n function ExceptionData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Exception chain - list of inner exceptions.\r\n */\r\n this.exceptions = [];\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return ExceptionData;\r\n}());\r\nexport { ExceptionData };\r\n//# sourceMappingURL=ExceptionData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, LoggingSeverity, objForEachKey, _InternalMessageId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = new Date;\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n storage.setItem(uid.toString(), uid.toString());\r\n var fail = storage.getItem(uid.toString()) !== uid.toString();\r\n storage.removeItem(uid.toString());\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlCanUseLocalStorage() {\r\n if (_canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotReadLocalStorage, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotWriteLocalStorage, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserFailedRemovalFromLocalStorage, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage() {\r\n if (_canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotReadSessionStorage, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotWriteSessionStorage, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserFailedRemovalFromSessionStorage, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=StorageHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isFunction, getDocument } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n//# sourceMappingURL=DomHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var RequestHeaders = {\r\n requestContextHeader: \"Request-Context\",\r\n requestContextTargetKey: \"appId\",\r\n requestContextAppIdFormat: \"appId=cid-v1:\",\r\n requestIdHeader: \"Request-Id\",\r\n traceParentHeader: \"traceparent\",\r\n traceStateHeader: \"tracestate\",\r\n sdkContextHeader: \"Sdk-Context\",\r\n sdkContextHeaderAppIdRequest: \"appId\",\r\n requestContextHeaderLowerCase: \"request-context\"\r\n};\r\n//# sourceMappingURL=RequestResponseHeaders.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache.length) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.pathname;\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www[0-9]?\\.)?(.[^/:]+)(\\:[\\d]+)?/i);\r\n if (match != null && match.length > 3 && isString(match[2]) && match[2].length > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w*):\\/\\/(.[^/:]+)(\\:[\\d]+)?/i);\r\n if (match != null && match.length > 2 && isString(match[2]) && match[2].length > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match.length > 2) {\r\n var protocol = (match[1] || \"\").toLowerCase();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=UrlHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getPerformance, getExceptionName as coreGetExceptionName, dumpObj, isNullOrUndefined, strTrim, random32, isArray, isError, isDate, newId, generateW3CId, toISOString, arrForEach, getIEVersion, attachEvent, dateNow, uaDisallowsSameSiteNone, disableCookies as coreDisableCookies, canUseCookies as coreCanUseCookies, getCookie as coreGetCookie, setCookie as coreSetCookie, deleteCookie as coreDeleteCookie, isBeaconsSupported } from \"@microsoft/applicationinsights-core-js\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { createDomEvent } from \"./DomHelperFuncs\";\r\nimport { stringToBoolOrDefault, msToTimeSpan, isCrossOriginError, getExtensionByName } from \"./HelperFuncs\";\r\nimport { strNotSpecified } from \"./Constants\";\r\nimport { utlCanUseLocalStorage, utlCanUseSessionStorage, utlDisableStorage, utlGetSessionStorage, utlGetSessionStorageKeys, utlGetLocalStorage, utlRemoveSessionStorage, utlRemoveStorage, utlSetSessionStorage, utlSetLocalStorage } from \"./StorageHelperFuncs\";\r\nimport { urlGetAbsoluteUrl, urlGetCompleteUrl, urlGetPathName, urlParseFullHost, urlParseHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n \"https://dc.services.visualstudio.com/v2/track\",\r\n \"https://breeze.aimon.applicationinsights.io/v2/track\",\r\n \"https://dc-int.services.visualstudio.com/v2/track\"\r\n];\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return _internalEndpoints.indexOf(endpointUrl.toLowerCase()) !== -1;\r\n}\r\nexport var Util = {\r\n NotSpecified: strNotSpecified,\r\n createDomEvent: createDomEvent,\r\n disableStorage: utlDisableStorage,\r\n isInternalApplicationInsightsEndpoint: isInternalApplicationInsightsEndpoint,\r\n canUseLocalStorage: utlCanUseLocalStorage,\r\n getStorage: utlGetLocalStorage,\r\n setStorage: utlSetLocalStorage,\r\n removeStorage: utlRemoveStorage,\r\n canUseSessionStorage: utlCanUseSessionStorage,\r\n getSessionStorageKeys: utlGetSessionStorageKeys,\r\n getSessionStorage: utlGetSessionStorage,\r\n setSessionStorage: utlSetSessionStorage,\r\n removeSessionStorage: utlRemoveSessionStorage,\r\n disableCookies: coreDisableCookies,\r\n canUseCookies: coreCanUseCookies,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: coreSetCookie,\r\n stringToBoolOrDefault: stringToBoolOrDefault,\r\n getCookie: coreGetCookie,\r\n deleteCookie: coreDeleteCookie,\r\n trim: strTrim,\r\n newId: newId,\r\n random32: function () {\r\n return random32(true);\r\n },\r\n generateW3CId: generateW3CId,\r\n isArray: isArray,\r\n isError: isError,\r\n isDate: isDate,\r\n toISOStringForIE8: toISOString,\r\n getIEVersion: getIEVersion,\r\n msToTimeSpan: msToTimeSpan,\r\n isCrossOriginError: isCrossOriginError,\r\n dump: dumpObj,\r\n getExceptionName: coreGetExceptionName,\r\n addEventHandler: attachEvent,\r\n IsBeaconApiSupported: isBeaconsSupported,\r\n getExtension: getExtensionByName\r\n};\r\nexport var UrlHelper = {\r\n parseUrl: urlParseUrl,\r\n getAbsoluteUrl: urlGetAbsoluteUrl,\r\n getPathName: urlGetPathName,\r\n getCompleteUrl: urlGetCompleteUrl,\r\n parseHost: urlParseHost,\r\n parseFullHost: urlParseFullHost\r\n};\r\nexport var CorrelationIdHelper = {\r\n correlationIdPrefix: \"cid-v1:\",\r\n /**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\n canIncludeCorrelationHeader: function (config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config.correlationHeaderExcludePatterns) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns.length; i++) {\r\n if (config.correlationHeaderExcludePatterns[i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host.toLowerCase();\r\n if (requestHost && (requestHost.indexOf(\":443\") !== -1 || requestHost.indexOf(\":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\").toLowerCase();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains.length === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains.length; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost.length > 0;\r\n },\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n getCorrelationContext: function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders.requestContextTargetKey);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n },\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n getCorrelationContextValue: function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader.split(\",\");\r\n for (var i = 0; i < keyValues.length; ++i) {\r\n var keyValue = keyValues[i].split(\"=\");\r\n if (keyValue.length === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl.length > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl.pathname != null) {\r\n var pathName = (parsedUrl.pathname.length === 0) ? \"/\" : parsedUrl.pathname;\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl.pathname;\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A utility class that helps getting time related parameters\r\n */\r\nexport var DateTimeUtils = {\r\n Now: dateTimeUtilsNow,\r\n GetDuration: dateTimeUtilsDuration\r\n};\r\n//# sourceMappingURL=Util.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { RemoteDependencyData as GeneratedRemoteDependencyData } from \"../Interfaces/Contracts/Generated/RemoteDependencyData\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nvar RemoteDependencyData = /** @class */ (function (_super) {\r\n __extends(RemoteDependencyData, _super);\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: 1 /* Required */,\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n resultCode: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n success: 0 /* Default */,\r\n data: 0 /* Default */,\r\n target: 0 /* Default */,\r\n type: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */,\r\n kind: 0 /* Default */,\r\n value: 0 /* Default */,\r\n count: 0 /* Default */,\r\n min: 0 /* Default */,\r\n max: 0 /* Default */,\r\n stdDev: 0 /* Default */,\r\n dependencyKind: 0 /* Default */,\r\n dependencySource: 0 /* Default */,\r\n commandName: 0 /* Default */,\r\n dependencyTypeName: 0 /* Default */\r\n };\r\n _this.id = id;\r\n _this.duration = msToTimeSpan(value);\r\n _this.success = success;\r\n _this.resultCode = resultCode + \"\";\r\n _this.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _this.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _this.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _this.target = _this.target + \" | \" + correlationContext;\r\n }\r\n _this.name = dataSanitizeString(logger, dependencyFields.name);\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}(GeneratedRemoteDependencyData));\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { LoggingSeverity, _InternalMessageId, getDocument, getLocation, arrForEach, isNullOrUndefined, getExceptionName, dumpObj } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var intervalHandle = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels() {\r\n if (core) {\r\n arrForEach(core.getTransmissionControls(), function (queues) {\r\n arrForEach(queues, function (q) { return q.flush(true); });\r\n });\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n if (!intervalHandle) {\r\n intervalHandle = setInterval((function () {\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue.length === 0) {\r\n clearInterval(intervalHandle);\r\n intervalHandle = null;\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels();\r\n }\r\n }), 100);\r\n }\r\n }\r\n _self.trackPageView = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1.href || \"\";\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager.isPerformanceTimingSupported()) {\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n _flushChannels();\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.NavigationTimingNotSupported, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager.getPerformanceTiming().navigationStart;\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager.shouldCollectDuration(customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties.duration)) {\r\n duration = customProperties.duration;\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[\"duration\"] = customDuration;\r\n }\r\n // case 2\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n _flushChannels();\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager.isPerformanceTimingDataReady()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager.populatePageViewPerformanceEvent(pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[\"duration\"] = customDuration;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = pageViewPerformance.durationMs;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = maxDurationLimit;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailedCalc, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n });\r\n }\r\n /**\r\n * Currently supported cases:\r\n * 1) (default case) track page view called with default parameters, overridePageViewDuration = false. Page view is sent with page view performance when navigation timing data is available.\r\n * a. If navigation timing is not supported then page view is sent right away with undefined duration. Page view performance is not sent.\r\n * 2) overridePageViewDuration = true, custom duration provided. Custom duration is used, page view sends right away.\r\n * 3) overridePageViewDuration = true, custom duration NOT provided. Page view is sent right away, duration is time spent from page load till now (or undefined if navigation timing is not supported).\r\n * 4) overridePageViewDuration = false, custom duration is provided. Page view is sent right away with custom duration.\r\n *\r\n * In all cases page view performance is sent once (only for the 1st call of trackPageView), or not sent if navigation timing is not supported.\r\n */\r\n PageViewManager.prototype.trackPageView = function (pageView, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n//# sourceMappingURL=PageViewManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { hasJSON, getJSON, dateNow, dumpObj, throwError } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n this.prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n this.pageVisitTimeTrackingHandler = pageVisitTimeTrackingHandler;\r\n this._logger = logger;\r\n }\r\n /**\r\n * Tracks the previous page visit time telemetry (if exists) and starts timing of new page visit time\r\n * @param currentPageName Name of page to begin timing for visit duration\r\n * @param currentPageUrl Url of page to begin timing for visit duration\r\n */\r\n PageVisitTimeManager.prototype.trackPreviousPageVisit = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = this.restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n this.pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n PageVisitTimeManager.prototype.restartPageVisitTimer = function (pageName, pageUrl) {\r\n try {\r\n var prevPageVisitData = this.stopPageVisitTimer();\r\n this.startPageVisitTimer(pageName, pageUrl);\r\n return prevPageVisitData;\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Call to restart failed: \" + dumpObj(e));\r\n return null;\r\n }\r\n };\r\n /**\r\n * Starts timing visit duration of pageName\r\n * @param pageName\r\n * @returns {}\r\n */\r\n PageVisitTimeManager.prototype.startPageVisitTimer = function (pageName, pageUrl) {\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(this._logger, this.prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitData = new PageVisitData(pageName, pageUrl);\r\n var currPageVisitDataStr = getJSON().stringify(currPageVisitData);\r\n utlSetSessionStorage(this._logger, this.prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n // TODO: Remove this catch in next phase, since if start is called twice in a row the exception needs to be propagated out\r\n this._logger.warnToConsole(\"Call to start failed: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n PageVisitTimeManager.prototype.stopPageVisitTimer = function () {\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(this._logger, this.prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n var prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData.pageVisitStartTime;\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(this._logger, this.prevPageVisitDataKeyName);\r\n // Return page visit data\r\n return prevPageVisitData;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n return null;\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Stop page visit timer failed: \" + dumpObj(e));\r\n return null;\r\n }\r\n };\r\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this.pageVisitStartTime = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n//# sourceMappingURL=PageVisitTimeManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { LoggingSeverity, _InternalMessageId, getNavigator, getPerformance } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n this.MAX_DURATION_ALLOWED = 3600000; // 1h\r\n if (core) {\r\n this._logger = core.logger;\r\n }\r\n }\r\n PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = this.getPerformanceNavigationTiming();\r\n var timing = this.getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming.duration;\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming.startTime === 0 ? navigationTiming.connectEnd : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming.connectEnd);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming.responseStart);\r\n response = dateTimeUtilsDuration(navigationTiming.responseStart, navigationTiming.responseEnd);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming.loadEventEnd);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing.navigationStart, timing.loadEventEnd);\r\n network = dateTimeUtilsDuration(timing.navigationStart, timing.connectEnd);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing.responseStart);\r\n response = dateTimeUtilsDuration(timing.responseStart, timing.responseEnd);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing.loadEventEnd);\r\n }\r\n if (total === 0) {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ErrorPVCalc, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!this.shouldCollectDuration(total, network, request, response, dom)) {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.InvalidDurationValue, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ClientPerformanceMathError, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance.duration = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceTiming = function () {\r\n if (this.isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceNavigationTiming = function () {\r\n if (this.isPerformanceNavigationTimingSupported()) {\r\n return getPerformance().getEntriesByType(\"navigation\")[0];\r\n }\r\n return null;\r\n };\r\n /**\r\n * Returns true is window PerformanceNavigationTiming API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceNavigationTimingSupported = function () {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\").length > 0;\r\n };\r\n /**\r\n * Returns true is window performance timing API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingSupported = function () {\r\n var perf = getPerformance();\r\n return perf && perf.timing;\r\n };\r\n /**\r\n * As page loads different parts of performance timing numbers get set. When all of them are set we can report it.\r\n * Returns true if ready, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingDataReady = function () {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing.navigationStart > 0\r\n && timing.responseStart > 0\r\n && timing.requestStart > 0\r\n && timing.loadEventEnd > 0\r\n && timing.responseEnd > 0\r\n && timing.connectEnd > 0\r\n && timing.domLoading > 0;\r\n };\r\n /**\r\n * This method tells if given durations should be excluded from collection.\r\n */\r\n PageViewPerformanceManager.prototype.shouldCollectDuration = function () {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var botAgentNames = [\"googlebot\", \"adsbot-google\", \"apis-google\", \"mediapartners-google\"];\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames.length; i++) {\r\n isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations.length; i++) {\r\n if (durations[i] < 0 || durations[i] >= this.MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n//# sourceMappingURL=PageViewPerformanceManager.js.map","/**\r\n * ApplicationInsights.ts\r\n * @copyright Microsoft 2018\r\n */\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { PageViewPerformance, PageView, RemoteDependencyData, Event as EventTelemetry, TelemetryItemCreator, Metric, Exception, SeverityLevel, Trace, dateTimeUtilsDuration, PropertiesPluginIdentifier, AnalyticsPluginIdentifier, stringToBoolOrDefault, createDomEvent, strNotSpecified, isCrossOriginError, utlDisableStorage, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, LoggingSeverity, _InternalMessageId, getWindow, getDocument, getHistory, getLocation, doPerf, objForEachKey, isString, isFunction, isNullOrUndefined, arrForEach, generateW3CId, dumpObj, getExceptionName, safeGetCookieMgr } from \"@microsoft/applicationinsights-core-js\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n\"use strict\";\r\nvar durationProperty = \"duration\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason.toString)) {\r\n return reason.toString();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar ApplicationInsights = /** @class */ (function (_super) {\r\n __extends(ApplicationInsights, _super);\r\n function ApplicationInsights() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _properties;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n dynamicProto(ApplicationInsights, _this, function (_self, _base) {\r\n var location = getLocation(true);\r\n _prevUri = location && location.href || \"\";\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self.core);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n doPerf(_self.core, function () { return _self.identifier + \":processTelemetry\"; }, function () {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _self._telemetryInitializers.length;\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _self._telemetryInitializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.apply(null, [env]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n if (!doNotSendItem) {\r\n _self.processNext(env, itemCtx);\r\n }\r\n }, function () { return ({ item: env }); }, !(env.sync));\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(event, EventTelemetry.dataType, EventTelemetry.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackEventFailed, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties); // Todo: Fix to pass measurements once type is updated\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackEventFailed, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(trace, Trace.dataType, Trace.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(metric, Metric.dataType, Metric.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackMetricFailed, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self.trackPageView = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _self._pageViewManager.trackPageView(inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_self.config.autoTrackPageVisitTime) {\r\n _self._pageVisitTimeManager.trackPreviousPageVisit(inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView Page view item to be sent\r\n * @param properties Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self.sendPageViewInternal = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n var telemetryItem = TelemetryItemCreator.create(pageView, PageView.dataType, PageView.envelopeType, _self.diagLog(), properties, systemProperties);\r\n _self.core.track(telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self.sendPageViewPerformanceInternal = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = TelemetryItemCreator.create(pageViewPerformance, PageViewPerformance.dataType, PageViewPerformance.envelopeType, _self.diagLog(), properties, systemProperties);\r\n _self.core.track(telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n try {\r\n _self._pageViewPerformanceManager.populatePageViewPerformanceEvent(pageViewPerformance);\r\n _self.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackFailed, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc.href || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_self.config.autoTrackPageVisitTime) {\r\n _self._pageVisitTimeManager.trackPreviousPageVisit(name, url);\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackFailed, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self.sendExceptionInternal = function (exception, customProperties, systemProperties) {\r\n var theError = exception.exception || exception.error || new Error(strNotSpecified);\r\n var exceptionPartB = new Exception(_self.diagLog(), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = TelemetryItemCreator.create(exceptionPartB, Exception.dataType, Exception.envelopeType, _self.diagLog(), customProperties, systemProperties);\r\n _self.core.track(telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n try {\r\n _self.sendExceptionInternal(exception, customProperties);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackExceptionFailed, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self._onerror = function (exception) {\r\n var error = exception && exception.error;\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception.errorSrc || \"window.onerror@\" + url + \":\" + (exception.lineNumber || 0) + \":\" + (exception.columnNumber || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception.lineNumber || 0,\r\n columnNumber: exception.columnNumber || 0,\r\n message: exception.message\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception.error)) {\r\n _sendCORSException(Exception.CreateAutoException(\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception.lineNumber || 0, exception.columnNumber || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception.errorSrc) {\r\n exception.errorSrc = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: SeverityLevel.Error }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error.message) : \"null\";\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.ExceptionWhileLoggingError, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n _self._telemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throw Error(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _self.setInitialized(false); // resetting the initialized state, just in case the following fails\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _self.config = ctx.getExtCfg(identifier);\r\n // load default values if specified\r\n var defaults = ApplicationInsights.getDefaultConfig(config);\r\n if (defaults !== undefined) {\r\n objForEachKey(defaults, function (field, value) {\r\n // for each unspecified field, set the default value\r\n _self.config[field] = ctx.getConfig(identifier, field, value);\r\n if (_self.config[field] === undefined) {\r\n _self.config[field] = value;\r\n }\r\n });\r\n }\r\n // Todo: move this out of static state\r\n if (_self.config.isStorageUseDisabled) {\r\n utlDisableStorage();\r\n }\r\n var configGetters = {\r\n instrumentationKey: function () { return config.instrumentationKey; },\r\n accountId: function () { return _self.config.accountId || config.accountId; },\r\n sessionRenewalMs: function () { return _self.config.sessionRenewalMs || config.sessionRenewalMs; },\r\n sessionExpirationMs: function () { return _self.config.sessionExpirationMs || config.sessionExpirationMs; },\r\n sampleRate: function () { return _self.config.samplingPercentage || config.samplingPercentage; },\r\n sdkExtension: function () { return _self.config.sdkExtension || config.sdkExtension; },\r\n isBrowserLinkTrackingEnabled: function () { return _self.config.isBrowserLinkTrackingEnabled || config.isBrowserLinkTrackingEnabled; },\r\n appId: function () { return _self.config.appId || config.appId; }\r\n };\r\n _self._pageViewPerformanceManager = new PageViewPerformanceManager(_self.core);\r\n _self._pageViewManager = new PageViewManager(_this, _self.config.overridePageViewDuration, _self.core, _self._pageViewPerformanceManager);\r\n _self._pageVisitTimeManager = new PageVisitTimeManager(_self.diagLog(), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _self._telemetryInitializers = _self._telemetryInitializers || [];\r\n _addDefaultTelemetryInitializers(configGetters);\r\n _eventTracking = new Timing(_self.diagLog(), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n properties[durationProperty] = duration.toString();\r\n _self.trackEvent({ name: name, properties: properties });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self.diagLog(), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties[durationProperty] = duration.toString();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self.sendPageViewInternal(pageViewItem, properties);\r\n };\r\n var _window = getWindow();\r\n var _history = getHistory();\r\n var _location = getLocation(true);\r\n var instance = _this;\r\n if (_self.config.disableExceptionTracking === false &&\r\n !_self.config.autoExceptionInstrumented && _window) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onerror_1 = \"onerror\";\r\n var originalOnError_1 = _window[onerror_1];\r\n _window.onerror = function (message, url, lineNumber, columnNumber, error) {\r\n var evt = _window[strEvent];\r\n var handled = originalOnError_1 && originalOnError_1(message, url, lineNumber, columnNumber, error);\r\n if (handled !== true) { // handled could be typeof function\r\n instance._onerror(Exception.CreateAutoException(message, url, lineNumber, columnNumber, error, evt));\r\n }\r\n return handled;\r\n };\r\n _self.config.autoExceptionInstrumented = true;\r\n }\r\n if (_self.config.disableExceptionTracking === false &&\r\n _self.config.enableUnhandledPromiseRejectionTracking === true &&\r\n !_self.config.autoUnhandledPromiseInstrumented && _window) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onunhandledrejection_1 = \"onunhandledrejection\";\r\n var originalOnUnhandledRejection_1 = _window[onunhandledrejection_1];\r\n _window[onunhandledrejection_1] = function (error) {\r\n var evt = _window[strEvent];\r\n var handled = originalOnUnhandledRejection_1 && originalOnUnhandledRejection_1.call(_window, error);\r\n if (handled !== true) { // handled could be typeof function\r\n instance._onerror(Exception.CreateAutoException(_getReason(error), _location ? _location.href : \"\", 0, 0, error, evt));\r\n }\r\n return handled;\r\n };\r\n _self.config.autoUnhandledPromiseInstrumented = true;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (_self.config.enableAutoRouteTracking === true\r\n && _history && isFunction(_history.pushState) && isFunction(_history.replaceState)\r\n && _window\r\n && typeof Event !== \"undefined\") {\r\n var _self_1 = _this;\r\n // Find the properties plugin\r\n arrForEach(extensions, function (extension) {\r\n if (extension.identifier === PropertiesPluginIdentifier) {\r\n _properties = extension;\r\n }\r\n });\r\n _history.pushState = (function (f) { return function pushState() {\r\n var ret = f.apply(this, arguments);\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"pushState\"));\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n return ret;\r\n }; })(_history.pushState);\r\n _history.replaceState = (function (f) { return function replaceState() {\r\n var ret = f.apply(this, arguments);\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"replaceState\"));\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n return ret;\r\n }; })(_history.replaceState);\r\n if (_window.addEventListener) {\r\n _window.addEventListener(_self_1.config.namePrefix + \"popstate\", function () {\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n });\r\n _window.addEventListener(_self_1.config.namePrefix + \"locationchange\", function () {\r\n if (_properties && _properties.context && _properties.context.telemetryTrace) {\r\n _properties.context.telemetryTrace.traceID = generateW3CId();\r\n var traceLocationName = \"_unknown_\";\r\n if (_location && _location.pathname) {\r\n traceLocationName = _location.pathname + (_location.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n _properties.context.telemetryTrace.name = dataSanitizeString(_self_1.diagLog(), traceLocationName);\r\n }\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = _location && _location.href || \"\";\r\n }\r\n else {\r\n _currUri = _location && _location.href || \"\";\r\n }\r\n setTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self_1.trackPageView({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_this, _prevUri), _self_1.autoRoutePVDelay);\r\n });\r\n }\r\n }\r\n _self.setInitialized(true);\r\n };\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milleseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers(configGetters) {\r\n if (!configGetters.isBrowserLinkTrackingEnabled()) {\r\n var browserLinkPaths_1 = [\"/browserLinkSignalR/\", \"/__browserLink/\"];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (envelope.baseType === RemoteDependencyData.dataType) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1.length; i++) {\r\n if (remoteData.target && remoteData.target.indexOf(browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _addTelemetryInitializer(dropBrowserLinkRequests);\r\n }\r\n }\r\n function _addTelemetryInitializer(telemetryInitializer) {\r\n _self._telemetryInitializers.push(telemetryInitializer);\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = TelemetryItemCreator.create(exception, Exception.dataType, Exception.envelopeType, _self.diagLog(), properties);\r\n _self.core.track(telemetryItem);\r\n }\r\n });\r\n return _this;\r\n }\r\n ApplicationInsights.getDefaultConfig = function (config) {\r\n if (!config) {\r\n config = {};\r\n }\r\n // set default values\r\n config.sessionRenewalMs = 30 * 60 * 1000;\r\n config.sessionExpirationMs = 24 * 60 * 60 * 1000;\r\n config.disableExceptionTracking = stringToBoolOrDefault(config.disableExceptionTracking);\r\n config.autoTrackPageVisitTime = stringToBoolOrDefault(config.autoTrackPageVisitTime);\r\n config.overridePageViewDuration = stringToBoolOrDefault(config.overridePageViewDuration);\r\n config.enableUnhandledPromiseRejectionTracking = stringToBoolOrDefault(config.enableUnhandledPromiseRejectionTracking);\r\n if (isNaN(config.samplingPercentage) || config.samplingPercentage <= 0 || config.samplingPercentage >= 100) {\r\n config.samplingPercentage = 100;\r\n }\r\n config.isStorageUseDisabled = stringToBoolOrDefault(config.isStorageUseDisabled);\r\n config.isBrowserLinkTrackingEnabled = stringToBoolOrDefault(config.isBrowserLinkTrackingEnabled);\r\n config.enableAutoRouteTracking = stringToBoolOrDefault(config.enableAutoRouteTracking);\r\n config.namePrefix = config.namePrefix || \"\";\r\n config.enableDebug = stringToBoolOrDefault(config.enableDebug);\r\n config.disableFlushOnBeforeUnload = stringToBoolOrDefault(config.disableFlushOnBeforeUnload);\r\n config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config.disableFlushOnBeforeUnload);\r\n return config;\r\n };\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n ApplicationInsights.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n ApplicationInsights.prototype.processTelemetry = function (env, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ApplicationInsights.prototype.trackEvent = function (event, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n ApplicationInsights.prototype.startTrackEvent = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n ApplicationInsights.prototype.stopTrackEvent = function (name, properties, measurements) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackTrace = function (trace, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackMetric = function (metric, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n ApplicationInsights.prototype.trackPageView = function (pageView, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView Page view item to be sent\r\n * @param properties Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n ApplicationInsights.prototype.sendPageViewInternal = function (pageView, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n ApplicationInsights.prototype.sendPageViewPerformanceInternal = function (pageViewPerformance, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n ApplicationInsights.prototype.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n ApplicationInsights.prototype.startTrackPage = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n ApplicationInsights.prototype.stopTrackPage = function (name, url, properties, measurement) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n ApplicationInsights.prototype.sendExceptionInternal = function (exception, customProperties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackException = function (exception, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype._onerror = function (exception) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ApplicationInsights.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ApplicationInsights.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ApplicationInsights.Version = \"2.7.1\"; // Not currently used anywhere\r\n return ApplicationInsights;\r\n}(BaseTelemetryPlugin));\r\nexport { ApplicationInsights };\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StartCalledMoreThanOnce, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StopCalledWithoutStart, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\n//# sourceMappingURL=ApplicationInsights.js.map","import { __extends } from \"tslib\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { LoggingSeverity, _InternalMessageId, getJSON, arrForEach, isFunction, arrIndexOf, isString, dumpObj, isArray, getExceptionName } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= config.eventsLimitInMem()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.InMemoryStorageBufferFull, \"Maximum in-memory buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer.push(payload);\r\n };\r\n _self.count = function () {\r\n return _buffer.length;\r\n };\r\n _self.size = function () {\r\n var size = _buffer.length;\r\n for (var lp = 0; lp < _buffer.length; lp++) {\r\n size += _buffer[lp].length;\r\n }\r\n if (!config.emitLineDelimitedJson()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self.clear = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self.batchPayloads = function (payload) {\r\n if (payload && payload.length > 0) {\r\n var batch = config.emitLineDelimitedJson() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n BaseSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.count = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.size = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.getItems = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseSendBuffer.prototype.batchPayloads = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self.markAsSent = function (payload) {\r\n _base.clear();\r\n };\r\n _self.clearSent = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n ArraySendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ArraySendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer.BUFFER_KEY);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n buffer.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, buffer);\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SessionStorageBufferFull, \"Maximum buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base.enqueue(payload);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n };\r\n _self.clear = function () {\r\n _base.clear();\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.markAsSent = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.SessionStorageBufferFull, \"Sent buffer reached its maximum size: \" + sentElements.length, true);\r\n sentElements.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n }\r\n };\r\n _self.clearSent = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining.push(value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = utlGetSessionStorage(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FailedToRestoreStorageBuffer, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON.stringify(buffer);\r\n utlSetSessionStorage(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n utlSetSessionStorage(logger, prefixedKey, JSON.stringify([]));\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.FailedToSetStorageBuffer, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n SessionStorageSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n//# sourceMappingURL=ContextTagKeys.js.map","import { ContextTagKeys } from \"./Contracts/Generated/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n//# sourceMappingURL=PartAExtensions.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { Envelope as AIEnvelope } from \"../../Interfaces/Contracts/Generated/Envelope\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nvar Envelope = /** @class */ (function (_super) {\r\n __extends(Envelope, _super);\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = _super.call(this) || this;\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.data = data;\r\n _this.time = toISOString(new Date());\r\n _this.aiDataContract = {\r\n time: 1 /* Required */,\r\n iKey: 1 /* Required */,\r\n name: 1 /* Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* Hidden */ : 1 /* Required */;\r\n },\r\n tags: 1 /* Required */,\r\n data: 1 /* Required */\r\n };\r\n return _this;\r\n }\r\n return Envelope;\r\n}(AIEnvelope));\r\nexport { Envelope };\r\n//# sourceMappingURL=Envelope.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Data struct to contain only C section with custom fields.\r\n */\r\nvar Base = /** @class */ (function () {\r\n function Base() {\r\n }\r\n return Base;\r\n}());\r\nexport { Base };\r\n//# sourceMappingURL=Base.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { Data as AIData } from \"../../Interfaces/Contracts/Generated/Data\";\r\nvar Data = /** @class */ (function (_super) {\r\n __extends(Data, _super);\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n _this.aiDataContract = {\r\n baseType: 1 /* Required */,\r\n baseData: 1 /* Required */\r\n };\r\n _this.baseType = baseType;\r\n _this.baseData = data;\r\n return _this;\r\n }\r\n return Data;\r\n}(AIData));\r\nexport { Data };\r\n//# sourceMappingURL=Data.js.map","import { __assign } from \"tslib\";\r\nimport { Data, Envelope, RemoteDependencyData, Event, Exception, Metric, PageView, Trace, PageViewPerformance, CtxTagKeys, HttpMethod, SampleRate, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { LoggingSeverity, _InternalMessageId, hasJSON, getJSON, objForEachKey, isNullOrUndefined, isNumber, isString, toISOString, setValue, isTruthy, optimizeObject } from \"@microsoft/applicationinsights-core-js\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env.tags = env.tags || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item.tags = item.tags || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceType);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env.data = env.data || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs.name);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace.name));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace.traceID);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags.length - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = \"javascript:\" + EnvelopeCreator.Version;\r\n }\r\n env.tags = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON().stringify(value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope.name = envelope.name.replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem.tags = telemetryItem.tags || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: \"2.7.1\"\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n logger.warnToConsole(\"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd.name, bd.duration, bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData.dataType, remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData.envelopeType, telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event.dataType) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event.dataType) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData].name;\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event.dataType, eventData);\r\n return _createEnvelope(logger, Event.envelopeType, telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception.dataType, exData);\r\n return _createEnvelope(logger, Exception.envelopeType, telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData.name, baseData.average, baseData.sampleCount, baseData.min, baseData.max, props, measurements);\r\n var data = new Data(Metric.dataType, baseMetricData);\r\n return _createEnvelope(logger, Metric.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var strDuration = \"duration\";\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][strDuration])) { // from part B properties\r\n duration = baseData[strProperties][strDuration];\r\n delete baseData[strProperties][strDuration];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem.data) &&\r\n !isNullOrUndefined(telemetryItem.data[strDuration])) { // from custom properties\r\n duration = telemetryItem.data[strDuration];\r\n delete telemetryItem.data[strDuration];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {}).traceID) {\r\n currentContextId = telemetryItem.ext.trace.traceID;\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd.name;\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn.toString();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView.dataType, pageViewData);\r\n return _createEnvelope(logger, PageView.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd.name;\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance.dataType, baseData);\r\n return _createEnvelope(logger, PageViewPerformance.envelopeType, telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData].measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace.dataType, baseData);\r\n return _createEnvelope(logger, Trace.envelopeType, telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map","import { LoggingSeverity, _InternalMessageId, getJSON, objForEachKey, isFunction, isObject, isArray } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self.serialize = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON().stringify(output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSerializeObject, (e && isFunction(e.toString)) ? e.toString() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSerializeObject, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CircularReferenceDetected, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CannotSerializeObjectNonSerializable, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON().stringify(source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSerializeObject, (e && isFunction(e.toString)) ? e.toString() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* Required */) : (contract & 1 /* Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* Hidden */) : (contract & 4 /* Hidden */);\r\n var isArray = contract & 2 /* Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.MissingRequiredFieldSpecification, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.ItemNotInArray, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources.length; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output.push(item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value.toString) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value.toString();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n if (isNaN(num)) {\r\n output[field] = \"NaN\";\r\n }\r\n else {\r\n output[field] = num;\r\n }\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n logger.throwInternal(LoggingSeverity.CRITICAL, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n Serializer.prototype.serialize = function (input) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n//# sourceMappingURL=Serializer.js.map","var _a;\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { SessionStorageSendBuffer, ArraySendBuffer } from \"./SendBuffer\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { Serializer } from \"./Serializer\"; // todo move to channel\r\nimport { DisabledPropertyName, RequestHeaders, PageView, Event, Trace, Exception, Metric, PageViewPerformance, RemoteDependencyData, ProcessLegacy, BreezeChannelIdentifier, SampleRate, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalMessageId, LoggingSeverity, getWindow, getNavigator, getJSON, BaseTelemetryPlugin, objForEachKey, isNullOrUndefined, arrForEach, dateNow, dumpObj, getExceptionName, getIEVersion, throwError, objKeys, isBeaconsSupported, isFetchSupported, useXDomainRequest, isXhrSupported, isArray } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Offline } from \"./Offline\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction _getDefaultAppInsightsChannelConfig() {\r\n // set default values\r\n return {\r\n endpointUrl: function () { return \"https://dc.services.visualstudio.com/v2/track\"; },\r\n emitLineDelimitedJson: function () { return false; },\r\n maxBatchInterval: function () { return 15000; },\r\n maxBatchSizeInBytes: function () { return 102400; },\r\n disableTelemetry: function () { return false; },\r\n enableSessionStorageBuffer: function () { return true; },\r\n isRetryDisabled: function () { return false; },\r\n isBeaconApiDisabled: function () { return true; },\r\n disableXhr: function () { return false; },\r\n onunloadDisableFetch: function () { return false; },\r\n onunloadDisableBeacon: function () { return false; },\r\n instrumentationKey: function () { return undefined; },\r\n namePrefix: function () { return undefined; },\r\n samplingPercentage: function () { return 100; },\r\n customHeaders: function () { return undefined; },\r\n convertUndefined: function () { return undefined; },\r\n eventsLimitInMem: function () { return 10000; }\r\n };\r\n}\r\nvar EnvelopeTypeCreator = (_a = {},\r\n _a[Event.dataType] = EventEnvelopeCreator,\r\n _a[Trace.dataType] = TraceEnvelopeCreator,\r\n _a[PageView.dataType] = PageViewEnvelopeCreator,\r\n _a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _a[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _a[Metric.dataType] = MetricEnvelopeCreator,\r\n _a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _a);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n /**\r\n * How many times in a row a retryable error condition has occurred.\r\n */\r\n var _consecutiveErrors;\r\n /**\r\n * The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n */\r\n var _retryAt;\r\n /**\r\n * The time of the last send operation.\r\n */\r\n var _lastSend;\r\n /**\r\n * Flag indicating that the sending should be paused\r\n */\r\n var _paused = false;\r\n /**\r\n * Handle to the timer for delayed sending of batches of data.\r\n */\r\n var _timeoutHandle;\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers = {};\r\n // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _syncFetchPayload = 0;\r\n /**\r\n * The sender to use if the payload size is too large\r\n */\r\n var _fallbackSender;\r\n /**\r\n * The identified sender to use for the synchronous unload stage\r\n */\r\n var _syncUnloadSender;\r\n _this._senderConfig = _getDefaultAppInsightsChannelConfig();\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n function _notImplemented() {\r\n throwError(\"Method not implemented.\");\r\n }\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n if (_self._buffer.size() > _self._senderConfig.maxBatchSizeInBytes()) {\r\n _self.triggerSend(true, null, 10 /* MaxBatchSize */);\r\n }\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function () {\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n _self.triggerSend(true, null, 1 /* ManualFlush */);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FlushFailed, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if ((_self._senderConfig.onunloadDisableBeacon() === false || _self._senderConfig.isBeaconApiDisabled() === false) && isBeaconsSupported()) {\r\n try {\r\n _self.triggerSend(true, _doUnloadSend, 2 /* Unload */);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FailedToSendQueuedTelemetry, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush();\r\n }\r\n }\r\n };\r\n _self.teardown = _notImplemented;\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self._sender = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self.diagLog();\r\n var defaultConfig = _getDefaultAppInsightsChannelConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _self._senderConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };\r\n });\r\n _self._buffer = (_self._senderConfig.enableSessionStorageBuffer() && utlCanUseSessionStorage())\r\n ? new SessionStorageSendBuffer(diagLog, _self._senderConfig) : new ArraySendBuffer(diagLog, _self._senderConfig);\r\n _self._sample = new Sample(_self._senderConfig.samplingPercentage(), diagLog);\r\n if (!_validateInstrumentationKey(config)) {\r\n diagLog.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.InvalidInstrumentationKey, \"Invalid Instrumentation key \" + config.instrumentationKey);\r\n }\r\n if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders().length > 0) {\r\n arrForEach(_self._senderConfig.customHeaders(), function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n var senderConfig = _self._senderConfig;\r\n var sendPostFunc = null;\r\n if (!senderConfig.disableXhr() && useXDomainRequest()) {\r\n sendPostFunc = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig.disableXhr() && isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n if (!sendPostFunc && isFetchSupported()) {\r\n sendPostFunc = _fetchSender;\r\n }\r\n // always fallback to XHR\r\n _fallbackSender = sendPostFunc || _xhrSender;\r\n if (!senderConfig.isBeaconApiDisabled() && isBeaconsSupported()) {\r\n // Config is set to always used beacon sending\r\n sendPostFunc = _beaconSender;\r\n }\r\n _self._sender = sendPostFunc || _xhrSender;\r\n if (!senderConfig.onunloadDisableFetch() && isFetchSupported(true)) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Try and use sendBeacon\r\n _syncUnloadSender = _beaconSender;\r\n }\r\n else if (!senderConfig.disableXhr() && useXDomainRequest()) {\r\n _syncUnloadSender = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig.disableXhr() && isXhrSupported()) {\r\n _syncUnloadSender = _xhrSender;\r\n }\r\n else {\r\n _syncUnloadSender = _fallbackSender;\r\n }\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n try {\r\n // if master off switch is set, don't send any data\r\n if (_self._senderConfig.disableTelemetry()) {\r\n // Do not send/save data\r\n return;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSendEmptyTelemetry, \"Cannot send empty telemetry\");\r\n return;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem.baseType) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.InvalidEvent, \"Cannot send telemetry without baseData and baseType\");\r\n return;\r\n }\r\n if (!telemetryItem.baseType) {\r\n // Default\r\n telemetryItem.baseType = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self._sender) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.SenderNotInitialized, \"Sender was not initialized\");\r\n return;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TelemetrySampledAndNotSent, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample.sampleRate });\r\n return;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample.sampleRate;\r\n }\r\n var convertUndefined = _self._senderConfig.convertUndefined() || undefined;\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _self._senderConfig.instrumentationKey();\r\n var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, itemCtx.diagLog(), convertUndefined);\r\n if (!aiEnvelope_1) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CreateEnvelopeError, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem_1 = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem.tags && telemetryItem.tags[ProcessLegacy]) {\r\n arrForEach(telemetryItem.tags[ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope_1) === false) {\r\n doNotSendItem_1 = true;\r\n itemCtx.diagLog().warnToConsole(\"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem.tags[ProcessLegacy];\r\n }\r\n if (doNotSendItem_1) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer.serialize(aiEnvelope_1);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self._buffer;\r\n var bufferSize = buffer.size();\r\n if ((bufferSize + payload.length) > _self._senderConfig.maxBatchSizeInBytes()) {\r\n _self.triggerSend(true, null, 10 /* MaxBatchSize */);\r\n }\r\n // enqueue the payload\r\n buffer.enqueue(payload);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.FailedAddingTelemetryToBuffer, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self.triggerSend = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n if (!_paused) {\r\n try {\r\n var buffer = _self._buffer;\r\n // Send data only if disableTelemetry is false\r\n if (!_self._senderConfig.disableTelemetry()) {\r\n if (buffer.count() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n forcedSender.call(_this, payload, async);\r\n }\r\n else {\r\n _self._sender(payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer.clear();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TransmissionFailed, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self._onError = function (payload, message, event) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.OnError, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer.clearSent(payload);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self._onPartialSuccess = function (payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry.push(extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed.push(extracted);\r\n }\r\n }\r\n if (payload.length > 0) {\r\n _self._onSuccess(payload, results.itemsAccepted);\r\n }\r\n if (failed.length > 0) {\r\n _self._onError(failed, _formatErrorMessageXhr(null, [\"partial success\", results.itemsAccepted, \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry.length > 0) {\r\n _resendPayload(retry);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \"Partial success. \" +\r\n \"Delivered: \" + payload.length + \", Failed: \" + failed.length +\r\n \". Will retry to send \" + retry.length + \" our of \" + results.itemsReceived + \" items\");\r\n }\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self._onSuccess = function (payload, countOfItemsInPayload) {\r\n _self._buffer.clearSent(payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self._onSuccess(payload, 0);\r\n }\r\n else {\r\n var results = _parseResponse(responseText);\r\n if (results && results.itemsReceived && results.itemsReceived > results.itemsAccepted\r\n && !_self._senderConfig.isRetryDisabled()) {\r\n _self._onPartialSuccess(payload, results);\r\n }\r\n else {\r\n _self._onError(payload, _formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n };\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = _parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self._onError(payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (!_self._senderConfig.isRetryDisabled() && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload.length + \" items.\");\r\n }\r\n else {\r\n _self._onError(payload, errorMessage);\r\n }\r\n }\r\n else if (Offline.isOffline()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_self._senderConfig.isRetryDisabled()) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". Offline - Response Code: \" + status + \". Offline status: \" + Offline.isOffline() + \". Will retry to send \" + payload.length + \" items.\");\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = _parseResponse(res);\r\n }\r\n if (response && !_self._senderConfig.isRetryDisabled()) {\r\n _self._onPartialSuccess(payload, response);\r\n }\r\n else {\r\n _self._onError(payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self._onSuccess(payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _self._senderConfig.endpointUrl()) {\r\n _self._senderConfig.endpointUrl = function () { return responseUrl; };\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n _beaconSender(payload, isAsync);\r\n }\r\n }\r\n function _doBeaconSend(payload) {\r\n var nav = getNavigator();\r\n var buffer = _self._buffer;\r\n var url = _self._senderConfig.endpointUrl();\r\n var batch = _self._buffer.batchPayloads(payload);\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = new Blob([batch], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n if (queued) {\r\n buffer.markAsSent(payload);\r\n // no response from beaconSender, clear buffer\r\n _self._onSuccess(payload, payload.length);\r\n }\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, isAsync) {\r\n if (isArray(payload) && payload.length > 0) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload)) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < payload.length; lp++) {\r\n var thePayload = payload[lp];\r\n if (!_doBeaconSend([thePayload])) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload.push(thePayload);\r\n }\r\n }\r\n if (droppedPayload.length > 0) {\r\n _fallbackSender(droppedPayload, true);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n */\r\n function _xhrSender(payload, isAsync) {\r\n var xhr = new XMLHttpRequest();\r\n var endPointUrl = _self._senderConfig.endpointUrl();\r\n try {\r\n xhr[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n xhr.open(\"POST\", endPointUrl, isAsync);\r\n xhr.setRequestHeader(\"Content-type\", \"application/json\");\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n xhr.setRequestHeader(RequestHeaders.sdkContextHeader, RequestHeaders.sdkContextHeaderAppIdRequest);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n xhr.setRequestHeader(headerName, _headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload.length); };\r\n xhr.onerror = function (event) { return _self._onError(payload, _formatErrorMessageXhr(xhr), event); };\r\n // compose an array of payloads\r\n var batch = _self._buffer.batchPayloads(payload);\r\n xhr.send(batch);\r\n _self._buffer.markAsSent(payload);\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n if (isArray(payload)) {\r\n var payloadSize = payload.length;\r\n for (var lp = 0; lp < payload.length; lp++) {\r\n payloadSize += payload[lp].length;\r\n }\r\n if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n _doFetchSender(payload, false);\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n _beaconSender(payload, isAsync);\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n _fallbackSender && _fallbackSender(payload, true);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n }\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _fetchSender(payload, isAsync) {\r\n _doFetchSender(payload, true);\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _doFetchSender(payload, isAsync) {\r\n var _a;\r\n var endPointUrl = _self._senderConfig.endpointUrl();\r\n var batch = _self._buffer.batchPayloads(payload);\r\n var plainTextBatch = new Blob([batch], { type: \"application/json\" });\r\n var requestHeaders = new Headers();\r\n var batchLength = batch.length;\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n requestHeaders.append(RequestHeaders.sdkContextHeader, RequestHeaders.sdkContextHeaderAppIdRequest);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n requestHeaders.append(headerName, _headers[headerName]);\r\n });\r\n var init = (_a = {\r\n method: \"POST\",\r\n headers: requestHeaders,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n if (!isAsync) {\r\n init.keepalive = true;\r\n _syncFetchPayload += batchLength;\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n fetch(request).then(function (response) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!response.ok) {\r\n _self._onError(payload, response.statusText);\r\n }\r\n else {\r\n response.text().then(function (text) {\r\n _checkResponsStatus(response.status, payload, response.url, payload.length, response.statusText, text);\r\n });\r\n }\r\n })[\"catch\"](function (error) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n _self._onError(payload, error.message);\r\n });\r\n _self._buffer.markAsSent(payload);\r\n }\r\n /**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\n function _parseResponse(response) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result.itemsReceived && result.itemsReceived >= result.itemsAccepted &&\r\n result.itemsReceived - result.itemsAccepted === result.errors.length) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.InvalidBackendResponse, \"Cannot parse the response. \" + getExceptionName(e), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload.length === 0) {\r\n return;\r\n }\r\n var buffer = _self._buffer;\r\n buffer.clearSent(payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n buffer.enqueue(item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_self._senderConfig.maxBatchInterval(), retryInterval);\r\n _timeoutHandle = setTimeout(function () {\r\n _timeoutHandle = null;\r\n _self.triggerSend(true, null, 1 /* NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n clearTimeout(_timeoutHandle);\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n return statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 503; // Service unavailable.\r\n }\r\n function _formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr.status + \",Response:\" + _getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, isAsync) {\r\n var buffer = _self._buffer;\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };\r\n xdr.onerror = function (event) { return _self._onError(payload, _formatErrorMessageXdr(xdr), event); };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location.protocol || \"\";\r\n if (_self._senderConfig.endpointUrl().lastIndexOf(hostingProtocol, 0) !== 0) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" +\r\n \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\");\r\n buffer.clear();\r\n return;\r\n }\r\n var endpointUrl = _self._senderConfig.endpointUrl().replace(/^(https?:)/, \"\");\r\n xdr.open(\"POST\", endpointUrl);\r\n // compose an array of payloads\r\n var batch = buffer.batchPayloads(payload);\r\n xdr.send(batch);\r\n buffer.markAsSent(payload);\r\n }\r\n function _formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + _getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager.eventsSendRequest) {\r\n try {\r\n manager.eventsSendRequest(sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.NotificationException, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(config) {\r\n var disableIKeyValidationFlag = isNullOrUndefined(config.disableInstrumentationKeyValidation) ? false : config.disableInstrumentationKeyValidation;\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(config.instrumentationKey);\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n /**\r\n * Pause the sending (transmission) of events, this will cause all events to be batched only until the maximum limits are\r\n * hit at which point new events are dropped. Will also cause events to NOT be sent during page unload, so if Session storage\r\n * is disabled events will be lost.\r\n * SessionStorage Limit is 2000 events, In-Memory (Array) Storage is 10,000 events (can be configured via the eventsLimitInMem).\r\n */\r\n Sender.prototype.pause = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resume the sending (transmission) of events, this will restart the timer and any batched events will be sent using the normal\r\n * send interval.\r\n */\r\n Sender.prototype.resume = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Flush the batched events immediately (not synchronously).\r\n * Will not flush if the Sender has been paused.\r\n */\r\n Sender.prototype.flush = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Flush the batched events synchronously (if possible -- based on configuration).\r\n * Will not flush if the Send has been paused.\r\n */\r\n Sender.prototype.onunloadFlush = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n Sender.prototype.teardown = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n Sender.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n Sender.prototype.processTelemetry = function (telemetryItem, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n Sender.prototype._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n Sender.prototype.triggerSend = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * error handler\r\n */\r\n Sender.prototype._onError = function (payload, message, event) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n Sender.prototype._onPartialSuccess = function (payload, results) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * success handler\r\n */\r\n Sender.prototype._onSuccess = function (payload, countOfItemsInPayload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n Sender.prototype._xdrOnLoad = function (xdr, payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add header to request\r\n * @param name - Header name.\r\n * @param value - Header value.\r\n */\r\n Sender.prototype.addHeader = function (name, value) {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n };\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n//# sourceMappingURL=Sender.js.map","import { getWindow, getDocument, getNavigator, isUndefined, isNullOrUndefined, attachEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n/**\r\n * @description Monitors browser for offline events\r\n * @export default - Offline: Static instance of OfflineListener\r\n * @class OfflineListener\r\n */\r\nvar OfflineListener = /** @class */ (function () {\r\n function OfflineListener() {\r\n var _window = getWindow();\r\n var _document = getDocument();\r\n var isListening = false;\r\n var _onlineStatus = true;\r\n dynamicProto(OfflineListener, this, function (_self) {\r\n try {\r\n if (_window) {\r\n if (attachEvent(_window, \"online\", _setOnline)) {\r\n attachEvent(_window, \"offline\", _setOffline);\r\n isListening = true;\r\n }\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n target.ononline = _setOnline;\r\n target.onoffline = _setOffline;\r\n isListening = true;\r\n }\r\n }\r\n if (isListening) {\r\n // We are listening to events so lets set the current status rather than assuming we are online #1538\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n if (_navigator && !isNullOrUndefined(_navigator.onLine)) { // navigator.onLine is undefined in react-native\r\n _onlineStatus = _navigator.onLine;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n isListening = false;\r\n }\r\n _self.isListening = isListening;\r\n _self.isOnline = function () {\r\n var result = true;\r\n var _navigator = getNavigator();\r\n if (isListening) {\r\n result = _onlineStatus;\r\n }\r\n else if (_navigator && !isNullOrUndefined(_navigator.onLine)) { // navigator.onLine is undefined in react-native\r\n result = _navigator.onLine;\r\n }\r\n return result;\r\n };\r\n _self.isOffline = function () {\r\n return !_self.isOnline();\r\n };\r\n function _setOnline() {\r\n _onlineStatus = true;\r\n }\r\n function _setOffline() {\r\n _onlineStatus = false;\r\n }\r\n });\r\n }\r\n OfflineListener.prototype.isOnline = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n OfflineListener.prototype.isOffline = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n OfflineListener.Offline = new OfflineListener;\r\n return OfflineListener;\r\n}());\r\nexport { OfflineListener };\r\nexport var Offline = OfflineListener.Offline;\r\n//# sourceMappingURL=Offline.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input.length < MIN_INPUT_LENGTH) {\r\n input = input.concat(input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input.length; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n//# sourceMappingURL=HashCodeScoreGenerator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self.getSamplingScore = function (item) {\r\n var score = 0;\r\n if (item.tags && item.tags[keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item.tags[keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.user.id);\r\n }\r\n else if (item.tags && item.tags[keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item.tags[keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace.traceID) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace.traceID);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n//# sourceMappingURL=SamplingScoreGenerator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalMessageId, LoggingSeverity, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SampleRateOutOfRange, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this.sampleRate = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this.sampleRate; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric.dataType) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator.getSamplingScore(envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n//# sourceMappingURL=Sample.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalMessageId, LoggingSeverity, safeGetCookieMgr, isFunction, newId, dumpObj, getExceptionName, dateNow, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nvar cookieNameConst = \"ai_session\";\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n}());\r\nexport { Session };\r\nvar _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, core) {\r\n var self = this;\r\n var _storageNamePrefix;\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n dynamicProto(_SessionManager, self, function (_self) {\r\n if (!config) {\r\n config = {};\r\n }\r\n if (!isFunction(config.sessionExpirationMs)) {\r\n config.sessionExpirationMs = function () { return _SessionManager.acquisitionSpan; };\r\n }\r\n if (!isFunction(config.sessionRenewalMs)) {\r\n config.sessionRenewalMs = function () { return _SessionManager.renewalSpan; };\r\n }\r\n _self.config = config;\r\n // sessionCookiePostfix takes the preference if it is configured, otherwise takes namePrefix if configured.\r\n var sessionCookiePostfix = (_self.config.sessionCookiePostfix && _self.config.sessionCookiePostfix()) ?\r\n _self.config.sessionCookiePostfix() :\r\n ((_self.config.namePrefix && _self.config.namePrefix()) ? _self.config.namePrefix() : \"\");\r\n _storageNamePrefix = function () { return cookieNameConst + sessionCookiePostfix; };\r\n _self.automaticSession = new Session();\r\n _self.update = function () {\r\n // Always using Date getTime() as there is a bug in older IE instances that causes the performance timings to have the hi-bit set eg 0x800000000 causing\r\n // the number to be incorrect.\r\n var nowMs = dateNow();\r\n var isExpired = false;\r\n var session = _self.automaticSession;\r\n if (!session.id) {\r\n isExpired = !_initializeAutomaticSession(session, nowMs);\r\n }\r\n var sessionExpirationMs = _self.config.sessionExpirationMs();\r\n if (!isExpired && sessionExpirationMs > 0) {\r\n var sessionRenewalMs = _self.config.sessionRenewalMs();\r\n var timeSinceAcqMs = nowMs - session.acquisitionDate;\r\n var timeSinceRenewalMs = nowMs - session.renewalDate;\r\n isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0; // expired if the acquisition or last renewal are in the future\r\n isExpired = isExpired || timeSinceAcqMs > sessionExpirationMs; // expired if the time since acquisition is more than session Expiration\r\n isExpired = isExpired || timeSinceRenewalMs > sessionRenewalMs; // expired if the time since last renewal is more than renewal period\r\n }\r\n // renew if acquisitionSpan or renewalSpan has elapsed\r\n if (isExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew(nowMs);\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > _SessionManager.cookieUpdateInterval) {\r\n _setCookie(session, nowMs);\r\n }\r\n }\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _self.backup = function () {\r\n var session = _self.automaticSession;\r\n _setStorage(session.id, session.acquisitionDate, session.renewalDate);\r\n };\r\n /**\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSession(session, now) {\r\n var isValid = false;\r\n var cookieValue = _cookieManager.get(_storageNamePrefix());\r\n if (cookieValue && isFunction(cookieValue.split)) {\r\n isValid = _initializeAutomaticSessionWithData(session, cookieValue);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix());\r\n if (storageValue) {\r\n isValid = _initializeAutomaticSessionWithData(session, storageValue);\r\n }\r\n }\r\n return isValid || !!session.id;\r\n }\r\n /**\r\n * Extract id, acquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param {string} sessionData - The string stored in an ai_session cookie or local storage backup\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSessionWithData(session, sessionData) {\r\n var isValid = false;\r\n var sessionReset = \", session will be reset\";\r\n var tokens = sessionData.split(\"|\");\r\n if (tokens.length >= 2) {\r\n try {\r\n var acqMs = +tokens[1] || 0;\r\n var renewalMs = +tokens[2] || 0;\r\n if (isNaN(acqMs) || acqMs <= 0) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SessionRenewalDateIsZero, \"AI session acquisition date is 0\" + sessionReset);\r\n }\r\n else if (isNaN(renewalMs) || renewalMs <= 0) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SessionRenewalDateIsZero, \"AI session renewal date is 0\" + sessionReset);\r\n }\r\n else if (tokens[0]) {\r\n // Everything looks valid so set the values\r\n session.id = tokens[0];\r\n session.acquisitionDate = acqMs;\r\n session.renewalDate = renewalMs;\r\n isValid = true;\r\n }\r\n }\r\n catch (e) {\r\n _logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.ErrorParsingAISessionCookie, \"Error parsing ai_session value [\" + (sessionData || \"\") + \"]\" + sessionReset + \" - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return isValid;\r\n }\r\n function _renew(nowMs) {\r\n var theConfig = (_self.config || {});\r\n var getNewId = (theConfig.getNewId ? theConfig.getNewId() : null) || newId;\r\n _self.automaticSession.id = getNewId(theConfig.idLength ? theConfig.idLength() : 22);\r\n _self.automaticSession.acquisitionDate = nowMs;\r\n _setCookie(_self.automaticSession, nowMs);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!utlCanUseLocalStorage()) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserDoesNotSupportLocalStorage, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(session, nowMs) {\r\n var acq = session.acquisitionDate;\r\n session.renewalDate = nowMs;\r\n var config = _self.config;\r\n var renewalPeriodMs = config.sessionRenewalMs();\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acqTimeLeftMs = (acq + config.sessionExpirationMs()) - nowMs;\r\n var cookie = [session.id, acq, nowMs];\r\n var maxAgeSec = 0;\r\n if (acqTimeLeftMs < renewalPeriodMs) {\r\n maxAgeSec = acqTimeLeftMs / 1000;\r\n }\r\n else {\r\n maxAgeSec = renewalPeriodMs / 1000;\r\n }\r\n var cookieDomain = config.cookieDomain ? config.cookieDomain() : null;\r\n // if sessionExpirationMs is set to 0, it means the expiry is set to 0 for this session cookie\r\n // A cookie with 0 expiry in the session cookie will never expire for that browser session. If the browser is closed the cookie expires.\r\n // Depending on the browser, another instance does not inherit this cookie, however, another tab will\r\n _cookieManager.set(_storageNamePrefix(), cookie.join(\"|\"), config.sessionExpirationMs() > 0 ? maxAgeSec : null, cookieDomain);\r\n _cookieUpdatedTimestamp = nowMs;\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n utlSetLocalStorage(_logger, _storageNamePrefix(), [guid, acq, renewal].join(\"|\"));\r\n }\r\n });\r\n }\r\n _SessionManager.prototype.update = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _SessionManager.prototype.backup = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n _SessionManager.acquisitionSpan = 86400000; // 24 hours in ms\r\n _SessionManager.renewalSpan = 1800000; // 30 minutes in ms\r\n _SessionManager.cookieUpdateInterval = 60000; // 1 minute in ms\r\n return _SessionManager;\r\n}());\r\nexport { _SessionManager };\r\n//# sourceMappingURL=Session.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n}());\r\nexport { Application };\r\n//# sourceMappingURL=Application.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Device = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the Device class\r\n */\r\n function Device() {\r\n // don't attempt to fingerprint browsers\r\n this.id = \"browser\";\r\n // Device type is a dimension in our data platform\r\n // Setting it to 'Browser' allows to separate client and server dependencies/exceptions\r\n this.deviceClass = \"Browser\";\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n//# sourceMappingURL=Device.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Version = \"2.7.1\";\r\nvar Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config) {\r\n this.sdkVersion = (config.sdkExtension && config.sdkExtension() ? config.sdkExtension() + \"_\" : \"\") + \"javascript:\" + Version;\r\n }\r\n return Internal;\r\n}());\r\nexport { Internal };\r\n//# sourceMappingURL=Internal.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlRemoveStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalMessageId, LoggingSeverity, safeGetCookieMgr, safeGetLogger, newId, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _validateUserInput(id) {\r\n // Validate:\r\n // 1. Id is a non-empty string.\r\n // 2. It does not contain special characters for cookies.\r\n if (typeof id !== \"string\" ||\r\n !id ||\r\n id.match(/,|;|=| |\\|/)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar User = /** @class */ (function () {\r\n function User(config, core) {\r\n /**\r\n * A flag indicating whether this represents a new user\r\n */\r\n this.isNewUser = false;\r\n /**\r\n * A flag indicating whether the user cookie has been set\r\n */\r\n this.isUserCookieSet = false;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(User, this, function (_self) {\r\n _self.config = config;\r\n var userCookiePostfix = (_self.config.userCookiePostfix && _self.config.userCookiePostfix()) ? _self.config.userCookiePostfix() : \"\";\r\n _storageNamePrefix = function () { return User.userCookieName + userCookiePostfix; };\r\n // get userId or create new one if none exists\r\n var cookie = _cookieManager.get(_storageNamePrefix());\r\n if (cookie) {\r\n _self.isNewUser = false;\r\n var params = cookie.split(User.cookieSeparator);\r\n if (params.length > 0) {\r\n _self.id = params[0];\r\n // we already have a cookie\r\n _self.isUserCookieSet = !!_self.id;\r\n }\r\n }\r\n function _generateNewId() {\r\n var theConfig = (config || {});\r\n var getNewId = (theConfig.getNewId ? theConfig.getNewId() : null) || newId;\r\n var id = getNewId(theConfig.idLength ? config.idLength() : 22);\r\n return id;\r\n }\r\n function _generateNewCookie(userId) {\r\n var acqStr = toISOString(new Date());\r\n _self.accountAcquisitionDate = acqStr;\r\n _self.isNewUser = true;\r\n var newCookie = [userId, acqStr];\r\n return newCookie;\r\n }\r\n function _setUserCookie(cookie) {\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 = 31536000\r\n var oneYear = 31536000;\r\n _self.isUserCookieSet = _cookieManager.set(_storageNamePrefix(), cookie, oneYear);\r\n }\r\n if (!_self.id) {\r\n _self.id = _generateNewId();\r\n var newCookie = _generateNewCookie(_self.id);\r\n _setUserCookie(newCookie.join(User.cookieSeparator));\r\n // If we have an config.namePrefix() + ai_session in local storage this means the user actively removed our cookies.\r\n // We should respect their wishes and clear ourselves from local storage\r\n var name_1 = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"ai_session\" : \"ai_session\";\r\n utlRemoveStorage(_logger, name_1);\r\n }\r\n // We still take the account id from the ctor param for backward compatibility.\r\n // But if the the customer set the accountId through the newer setAuthenticatedUserContext API, we will override it.\r\n _self.accountId = config.accountId ? config.accountId() : undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: <authenticatedId>|<accountId>\r\n var authCookie = _cookieManager.get(User.authUserCookieName);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User.cookieSeparator);\r\n if (authCookieString[0]) {\r\n _self.authenticatedId = authCookieString[0];\r\n }\r\n if (authCookieString.length > 1 && authCookieString[1]) {\r\n _self.accountId = authCookieString[1];\r\n }\r\n }\r\n _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !_validateUserInput(authenticatedUserId) || (accountId && !_validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SetAuthContextFailedAccountName, \"Setting auth user context failed. \" +\r\n \"User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.\", true);\r\n return;\r\n }\r\n // Create cookie string.\r\n _self.authenticatedId = authenticatedUserId;\r\n var authCookie = _self.authenticatedId;\r\n if (accountId) {\r\n _self.accountId = accountId;\r\n authCookie = [_self.authenticatedId, _self.accountId].join(User.cookieSeparator);\r\n }\r\n if (storeInCookie) {\r\n // Set the cookie. No expiration date because this is a session cookie (expires when browser closed).\r\n // Encoding the cookie to handle unexpected unicode characters.\r\n _cookieManager.set(User.authUserCookieName, encodeURI(authCookie));\r\n }\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n _self.clearAuthenticatedUserContext = function () {\r\n _self.authenticatedId = null;\r\n _self.accountId = null;\r\n _cookieManager.del(User.authUserCookieName);\r\n };\r\n _self.update = function (userId) {\r\n // Optimizations to avoid setting and processing the cookie when not needed\r\n if (_self.id !== userId || !_self.isUserCookieSet) {\r\n var user_id = userId ? userId : _generateNewId();\r\n var user_cookie = _generateNewCookie(user_id);\r\n _setUserCookie(user_cookie.join(User.cookieSeparator));\r\n }\r\n };\r\n });\r\n }\r\n /**\r\n * Sets the authenticated user id and the account id in this session.\r\n *\r\n * @param authenticatedUserId {string} - The authenticated user id. A unique and persistent string that represents each authenticated user in the service.\r\n * @param accountId {string} - An optional string to represent the account associated with the authenticated user.\r\n */\r\n User.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n User.prototype.clearAuthenticatedUserContext = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Update or create the user cookie if cookies where previously disabled or the new userId does not match the existing value.\r\n * If you pass nothing a new random user id will be created.\r\n * @param userId - Specific either the current (via appInsights.context.user.id) or new id that you want to set\r\n */\r\n User.prototype.update = function (userId) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n User.authUserCookieName = \"ai_authUser\";\r\n return User;\r\n}());\r\nexport { User };\r\n//# sourceMappingURL=User.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n}());\r\nexport { Location };\r\n//# sourceMappingURL=Location.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { generateW3CId, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nvar TelemetryTrace = /** @class */ (function () {\r\n function TelemetryTrace(id, parentId, name, logger) {\r\n var _self = this;\r\n _self.traceID = id || generateW3CId();\r\n _self.parentID = parentId;\r\n _self.name = name;\r\n var location = getLocation();\r\n if (!name && location && location.pathname) {\r\n _self.name = location.pathname;\r\n }\r\n _self.name = dataSanitizeString(logger, _self.name);\r\n }\r\n return TelemetryTrace;\r\n}());\r\nexport { TelemetryTrace };\r\n//# sourceMappingURL=TelemetryTrace.js.map","/**\r\n * TelemetryContext.ts\r\n * @copyright Microsoft 2018\r\n */\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isString, objKeys, hasWindow, _InternalLogMessage, setValue, getSetValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Session, _SessionManager } from \"./Context/Session\";\r\nimport { Extensions, CtxTagKeys, PageView } from \"@microsoft/applicationinsights-common\";\r\nimport { Application } from \"./Context/Application\";\r\nimport { Device } from \"./Context/Device\";\r\nimport { Internal } from \"./Context/Internal\";\r\nimport { User } from \"./Context/User\";\r\nimport { Location } from \"./Context/Location\";\r\nimport { TelemetryTrace } from \"./Context/TelemetryTrace\";\r\nvar strExt = \"ext\";\r\nvar strTags = \"tags\";\r\nfunction _removeEmpty(target, name) {\r\n if (target && target[name] && objKeys(target[name]).length === 0) {\r\n delete target[name];\r\n }\r\n}\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(core, defaultConfig) {\r\n var _this = this;\r\n var logger = core.logger;\r\n this.appId = function () { return null; };\r\n this.getSessionId = function () { return null; };\r\n dynamicProto(TelemetryContext, this, function (_self) {\r\n _self.application = new Application();\r\n _self.internal = new Internal(defaultConfig);\r\n if (hasWindow()) {\r\n _self.sessionManager = new _SessionManager(defaultConfig, core);\r\n _self.device = new Device();\r\n _self.location = new Location();\r\n _self.user = new User(defaultConfig, core);\r\n _self.telemetryTrace = new TelemetryTrace(undefined, undefined, undefined, logger);\r\n _self.session = new Session();\r\n }\r\n _self.getSessionId = function () {\r\n var session = _self.session;\r\n var sesId = null;\r\n // If customer set session info, apply their context; otherwise apply context automatically generated\r\n if (session && isString(session.id)) {\r\n sesId = session.id;\r\n }\r\n else {\r\n // Gets the automatic session if it exists or an empty object\r\n var autoSession = (_self.sessionManager || {}).automaticSession;\r\n sesId = autoSession && isString(autoSession.id) ? autoSession.id : null;\r\n }\r\n return sesId;\r\n };\r\n _self.applySessionContext = function (evt, itemCtx) {\r\n setValue(getSetValue(evt.ext, Extensions.AppExt), \"sesId\", _self.getSessionId(), isString);\r\n };\r\n _self.applyOperatingSystemContxt = function (evt, itemCtx) {\r\n setValue(evt.ext, Extensions.OSExt, _self.os);\r\n };\r\n _self.applyApplicationContext = function (evt, itemCtx) {\r\n var application = _self.application;\r\n if (application) {\r\n // evt.ext.app\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.applicationVersion, application.ver, isString);\r\n setValue(tags, CtxTagKeys.applicationBuild, application.build, isString);\r\n }\r\n };\r\n _self.applyDeviceContext = function (evt, itemCtx) {\r\n var device = _self.device;\r\n if (device) {\r\n // evt.ext.device\r\n var extDevice = getSetValue(getSetValue(evt, strExt), Extensions.DeviceExt);\r\n setValue(extDevice, \"localId\", device.id, isString);\r\n setValue(extDevice, \"ip\", device.ip, isString);\r\n setValue(extDevice, \"model\", device.model, isString);\r\n setValue(extDevice, \"deviceClass\", device.deviceClass, isString);\r\n }\r\n };\r\n _self.applyInternalContext = function (evt, itemCtx) {\r\n var internal = _self.internal;\r\n if (internal) {\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.internalAgentVersion, internal.agentVersion, isString); // not mapped in CS 4.0\r\n setValue(tags, CtxTagKeys.internalSdkVersion, internal.sdkVersion, isString);\r\n if (evt.baseType === _InternalLogMessage.dataType || evt.baseType === PageView.dataType) {\r\n setValue(tags, CtxTagKeys.internalSnippet, internal.snippetVer, isString);\r\n setValue(tags, CtxTagKeys.internalSdkSrc, internal.sdkSrc, isString);\r\n }\r\n }\r\n };\r\n _self.applyLocationContext = function (evt, itemCtx) {\r\n var location = _this.location;\r\n if (location) {\r\n setValue(getSetValue(evt, strTags, []), CtxTagKeys.locationIp, location.ip, isString);\r\n }\r\n };\r\n _self.applyOperationContext = function (evt, itemCtx) {\r\n var telemetryTrace = _self.telemetryTrace;\r\n if (telemetryTrace) {\r\n var extTrace = getSetValue(getSetValue(evt, strExt), Extensions.TraceExt, { traceID: undefined, parentID: undefined });\r\n setValue(extTrace, \"traceID\", telemetryTrace.traceID, isString);\r\n setValue(extTrace, \"name\", telemetryTrace.name, isString);\r\n setValue(extTrace, \"parentID\", telemetryTrace.parentID, isString);\r\n }\r\n };\r\n _self.applyWebContext = function (evt, itemCtx) {\r\n var web = _this.web;\r\n if (web) {\r\n setValue(getSetValue(evt, strExt), Extensions.WebExt, web);\r\n }\r\n };\r\n _self.applyUserContext = function (evt, itemCtx) {\r\n var user = _self.user;\r\n if (user) {\r\n var tags = getSetValue(evt, strTags, []);\r\n // stays in tags\r\n setValue(tags, CtxTagKeys.userAccountId, user.accountId, isString);\r\n // CS 4.0\r\n var extUser = getSetValue(getSetValue(evt, strExt), Extensions.UserExt);\r\n setValue(extUser, \"id\", user.id, isString);\r\n setValue(extUser, \"authId\", user.authenticatedId, isString);\r\n }\r\n };\r\n _self.cleanUp = function (evt, itemCtx) {\r\n var ext = evt.ext;\r\n if (ext) {\r\n _removeEmpty(ext, Extensions.DeviceExt);\r\n _removeEmpty(ext, Extensions.UserExt);\r\n _removeEmpty(ext, Extensions.WebExt);\r\n _removeEmpty(ext, Extensions.OSExt);\r\n _removeEmpty(ext, Extensions.AppExt);\r\n _removeEmpty(ext, Extensions.TraceExt);\r\n }\r\n };\r\n });\r\n }\r\n TelemetryContext.prototype.applySessionContext = function (evt, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyOperatingSystemContxt = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyApplicationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyDeviceContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyInternalContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyLocationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyOperationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyWebContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyUserContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.cleanUp = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n//# sourceMappingURL=TelemetryContext.js.map","/**\r\n * PropertiesPlugin.ts\r\n * @copyright Microsoft 2018\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin, isNullOrUndefined, _InternalLogMessage, LoggingSeverity, _InternalMessageId, getNavigator, objForEachKey, getSetValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { PageView, BreezeChannelIdentifier, PropertiesPluginIdentifier, getExtensionByName } from \"@microsoft/applicationinsights-common\";\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 110;\r\n _this.identifier = PropertiesPluginIdentifier;\r\n var _breezeChannel; // optional. If exists, grab appId from it\r\n var _extensionConfig;\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n var defaultConfig = PropertiesPlugin.getDefaultConfig();\r\n _extensionConfig = _extensionConfig || {};\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _extensionConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };\r\n });\r\n _self.context = new TelemetryContext(core, _extensionConfig);\r\n _breezeChannel = getExtensionByName(extensions, BreezeChannelIdentifier);\r\n _self.context.appId = function () { return _breezeChannel ? _breezeChannel[\"_appId\"] : null; };\r\n // Test hook to allow accessing the internal values -- explicitly not defined as an available property on the class\r\n _self[\"_extConfig\"] = _extensionConfig;\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n if (isNullOrUndefined(event)) {\r\n // TODO(barustum): throw an internal event once we have support for internal logging\r\n }\r\n else {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // If the envelope is PageView, reset the internal message count so that we can send internal telemetry for the new page.\r\n if (event.name === PageView.envelopeType) {\r\n itemCtx.diagLog().resetInternalMessageCount();\r\n }\r\n var theContext = (_self.context || {});\r\n if (theContext.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof _self.context.session.id !== \"string\" && theContext.sessionManager) {\r\n theContext.sessionManager.update();\r\n }\r\n }\r\n var userCtx = theContext.user;\r\n if (userCtx && !userCtx.isUserCookieSet) {\r\n userCtx.update(theContext.user.id);\r\n }\r\n _processTelemetryInternal(event, itemCtx);\r\n if (userCtx && userCtx.isNewUser) {\r\n userCtx.isNewUser = false;\r\n var message = new _InternalLogMessage(_InternalMessageId.SendBrowserInfoOnUserInit, ((getNavigator() || {}).userAgent || \"\"));\r\n itemCtx.diagLog().logInternalMessage(LoggingSeverity.CRITICAL, message);\r\n }\r\n _self.processNext(event, itemCtx);\r\n }\r\n };\r\n function _processTelemetryInternal(evt, itemCtx) {\r\n // Set Part A fields\r\n getSetValue(evt, \"tags\", []);\r\n getSetValue(evt, \"ext\", {});\r\n var ctx = _self.context;\r\n ctx.applySessionContext(evt, itemCtx);\r\n ctx.applyApplicationContext(evt, itemCtx);\r\n ctx.applyDeviceContext(evt, itemCtx);\r\n ctx.applyOperationContext(evt, itemCtx);\r\n ctx.applyUserContext(evt, itemCtx);\r\n ctx.applyOperatingSystemContxt(evt, itemCtx);\r\n ctx.applyWebContext(evt, itemCtx);\r\n ctx.applyLocationContext(evt, itemCtx); // legacy tags\r\n ctx.applyInternalContext(evt, itemCtx); // legacy tags\r\n ctx.cleanUp(evt, itemCtx);\r\n }\r\n });\r\n return _this;\r\n }\r\n PropertiesPlugin.getDefaultConfig = function () {\r\n var defaultConfig = {\r\n instrumentationKey: function () { return undefined; },\r\n accountId: function () { return null; },\r\n sessionRenewalMs: function () { return 30 * 60 * 1000; },\r\n samplingPercentage: function () { return 100; },\r\n sessionExpirationMs: function () { return 24 * 60 * 60 * 1000; },\r\n cookieDomain: function () { return null; },\r\n sdkExtension: function () { return null; },\r\n isBrowserLinkTrackingEnabled: function () { return false; },\r\n appId: function () { return null; },\r\n getSessionId: function () { return null; },\r\n namePrefix: function () { return undefined; },\r\n sessionCookiePostfix: function () { return undefined; },\r\n userCookiePostfix: function () { return undefined; },\r\n idLength: function () { return 22; },\r\n getNewId: function () { return null; }\r\n };\r\n return defaultConfig;\r\n };\r\n PropertiesPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n PropertiesPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n//# sourceMappingURL=PropertiesPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { hasOwnProperty } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strConstructor = \"constructor\";\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr.length; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* Request */ && type <= 2 /* HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb.apply(callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb.apply(callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = {\r\n name: aiHook.n,\r\n inst: funcThis,\r\n ctx: null,\r\n set: _replaceArg\r\n };\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target.push(arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n try {\r\n funcArgs.rslt = theFunc.apply(funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Object[\"getPrototypeOf\"];\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nfunction _getObjProto(target) {\r\n if (target) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n // target[Constructor] May break if the constructor has been changed or removed\r\n var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];\r\n if (newProto) {\r\n return newProto;\r\n }\r\n }\r\n return null;\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype) {\r\n var owner = null;\r\n if (target) {\r\n if (hasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n var aiHook_1 = fn[aiInstrumentHooks];\r\n if (!aiHook_1) {\r\n // Only hook the function once\r\n aiHook_1 = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook_1);\r\n newFunc[aiInstrumentHooks] = aiHook_1; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook_1.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook_1.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook_1.h.splice(idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook_1.i++;\r\n aiHook_1.h.push(theHook);\r\n return theHook;\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks.push(hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n//# sourceMappingURL=InstrumentHooks.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dataSanitizeUrl, dateTimeUtilsDuration, urlGetAbsoluteUrl, urlGetCompleteUrl, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { objKeys, arrForEach, isNumber, isString, normalizeJsName, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar strProperties = \"properties\";\r\n/** @ignore */\r\nfunction _calcPerfDuration(resourceEntry, start, end) {\r\n var result = 0;\r\n var from = resourceEntry[start];\r\n var to = resourceEntry[end];\r\n if (from && to) {\r\n result = dateTimeUtilsDuration(from, to);\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfDuration(props, name, resourceEntry, start, end) {\r\n var result = 0;\r\n var value = _calcPerfDuration(resourceEntry, start, end);\r\n if (value) {\r\n result = _setPerfValue(props, name, msToTimeSpan(value));\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfValue(props, name, value) {\r\n var strPerf = \"ajaxPerf\";\r\n var result = 0;\r\n if (props && name && value) {\r\n var perfData = props[strPerf] = (props[strPerf] || {});\r\n perfData[name] = value;\r\n result = 1;\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _populatePerfData(ajaxData, dependency) {\r\n /*\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API\r\n * | -startTime\r\n * | -redirectStart\r\n * | | -redirectEnd\r\n * | | | -fetchStart\r\n * | | | | -domainLookupStart\r\n * | | | | |- domainLookupEnd\r\n * | | | | | | -connectStart\r\n * | | | | | | | -secureConnectionStart\r\n * | | | | | | | | -connectEnd\r\n * | | | | | | | | | -requestStart\r\n * | | | | | | | | | | | -responseStart\r\n * | | | | | | | | | | | | | -responseEnd\r\n * +------------+-+---+----------------+-+--+--------+-+-----------+-+------------+-+\r\n * |--redirect--| |---|--domainLookup--| |--connect--| |--request--| |--response--| |\r\n * |-------------------networkConnect----------------|\r\n * | |---------sentRequest--------|\r\n * |------------------------------------perfTotal-----------------------------------|\r\n */\r\n var resourceEntry = ajaxData.perfTiming;\r\n var props = dependency[strProperties] || {};\r\n var propsSet = 0;\r\n var strName = \"name\";\r\n var strStart = \"Start\";\r\n var strEnd = \"End\";\r\n var strDomainLookup = \"domainLookup\";\r\n var strConnect = \"connect\";\r\n var strRedirect = \"redirect\";\r\n var strRequest = \"request\";\r\n var strResponse = \"response\";\r\n var strDuration = \"duration\";\r\n var strStartTime = \"startTime\";\r\n var strDomainLookupStart = strDomainLookup + strStart;\r\n var strDomainLookupEnd = strDomainLookup + strEnd;\r\n var strConnectStart = strConnect + strStart;\r\n var strConnectEnd = strConnect + strEnd;\r\n var strRequestStart = strRequest + strStart;\r\n var strRequestEnd = strRequest + strEnd;\r\n var strResponseStart = strResponse + strStart;\r\n var strResponseEnd = strResponse + strEnd;\r\n var strRedirectStart = strRedirect + strStart;\r\n var strRedirectEnd = strRedirect = strEnd;\r\n var strTransferSize = \"transferSize\";\r\n var strEncodedBodySize = \"encodedBodySize\";\r\n var strDecodedBodySize = \"decodedBodySize\";\r\n var strServerTiming = \"serverTiming\";\r\n if (resourceEntry) {\r\n // redirect\r\n propsSet |= _setPerfDuration(props, strRedirect, resourceEntry, strRedirectStart, strRedirectEnd);\r\n // domainLookup\r\n propsSet |= _setPerfDuration(props, strDomainLookup, resourceEntry, strDomainLookupStart, strDomainLookupEnd);\r\n // connect\r\n propsSet |= _setPerfDuration(props, strConnect, resourceEntry, strConnectStart, strConnectEnd);\r\n // request\r\n propsSet |= _setPerfDuration(props, strRequest, resourceEntry, strRequestStart, strRequestEnd);\r\n // response\r\n propsSet |= _setPerfDuration(props, strResponse, resourceEntry, strResponseStart, strResponseEnd);\r\n // Network connection time\r\n propsSet |= _setPerfDuration(props, \"networkConnect\", resourceEntry, strStartTime, strConnectEnd);\r\n // Sent Request\r\n propsSet |= _setPerfDuration(props, \"sentRequest\", resourceEntry, strRequestStart, strResponseEnd);\r\n // PerfTotal / Duration\r\n var duration = resourceEntry[strDuration];\r\n if (!duration) {\r\n duration = _calcPerfDuration(resourceEntry, strStartTime, strResponseEnd) || 0;\r\n }\r\n propsSet |= _setPerfValue(props, strDuration, duration);\r\n propsSet |= _setPerfValue(props, \"perfTotal\", duration);\r\n var serverTiming = resourceEntry[strServerTiming];\r\n if (serverTiming) {\r\n var server_1 = {};\r\n arrForEach(serverTiming, function (value, idx) {\r\n var name = normalizeJsName(value[strName] || \"\" + idx);\r\n var newValue = server_1[name] || {};\r\n objForEachKey(value, function (key, val) {\r\n if (key !== strName && isString(val) || isNumber(val)) {\r\n if (newValue[key]) {\r\n val = newValue[key] + \";\" + val;\r\n }\r\n if (val || !isString(val)) {\r\n // Only set the value if it has a value and it's not an empty string\r\n newValue[key] = val;\r\n }\r\n }\r\n });\r\n server_1[name] = newValue;\r\n });\r\n propsSet |= _setPerfValue(props, strServerTiming, server_1);\r\n }\r\n propsSet |= _setPerfValue(props, strTransferSize, resourceEntry[strTransferSize]);\r\n propsSet |= _setPerfValue(props, strEncodedBodySize, resourceEntry[strEncodedBodySize]);\r\n propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);\r\n }\r\n else {\r\n if (ajaxData.perfMark) {\r\n propsSet |= _setPerfValue(props, \"missing\", ajaxData.perfAttempts);\r\n }\r\n }\r\n if (propsSet) {\r\n dependency[strProperties] = props;\r\n }\r\n}\r\nvar XHRMonitoringState = /** @class */ (function () {\r\n function XHRMonitoringState() {\r\n var self = this;\r\n self.openDone = false;\r\n self.setRequestHeaderDone = false;\r\n self.sendDone = false;\r\n self.abortDone = false;\r\n // <summary>True, if onreadyStateChangeCallback function attached to xhr, otherwise false</summary>\r\n self.stateChangeAttached = false;\r\n }\r\n return XHRMonitoringState;\r\n}());\r\nexport { XHRMonitoringState };\r\nvar ajaxRecord = /** @class */ (function () {\r\n function ajaxRecord(traceID, spanID, logger) {\r\n var self = this;\r\n var _logger = logger;\r\n var strResponseText = \"responseText\";\r\n // Assigning the initial/default values within the constructor to avoid typescript from creating a bunch of\r\n // this.XXXX = null\r\n self.perfMark = null;\r\n self.completed = false;\r\n self.requestHeadersSize = null;\r\n self.requestHeaders = null;\r\n self.responseReceivingDuration = null;\r\n self.callbackDuration = null;\r\n self.ajaxTotalDuration = null;\r\n self.aborted = 0;\r\n self.pageUrl = null;\r\n self.requestUrl = null;\r\n self.requestSize = 0;\r\n self.method = null;\r\n self.status = null;\r\n self.requestSentTime = null;\r\n self.responseStartedTime = null;\r\n self.responseFinishedTime = null;\r\n self.callbackFinishedTime = null;\r\n self.endTime = null;\r\n self.xhrMonitoringState = new XHRMonitoringState();\r\n self.clientFailure = 0;\r\n self.traceID = traceID;\r\n self.spanID = spanID;\r\n dynamicProto(ajaxRecord, self, function (self) {\r\n self.getAbsoluteUrl = function () {\r\n return self.requestUrl ? urlGetAbsoluteUrl(self.requestUrl) : null;\r\n };\r\n self.getPathName = function () {\r\n return self.requestUrl ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self.method, self.requestUrl)) : null;\r\n };\r\n self.CreateTrackItem = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n var _a;\r\n // round to 3 decimal points\r\n self.ajaxTotalDuration = Math.round(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;\r\n if (self.ajaxTotalDuration < 0) {\r\n return null;\r\n }\r\n var dependency = (_a = {\r\n id: \"|\" + self.traceID + \".\" + self.spanID,\r\n target: self.getAbsoluteUrl(),\r\n name: self.getPathName(),\r\n type: ajaxType,\r\n startTime: null,\r\n duration: self.ajaxTotalDuration,\r\n success: (+(self.status)) >= 200 && (+(self.status)) < 400,\r\n responseCode: (+(self.status)),\r\n method: self.method\r\n },\r\n _a[strProperties] = { HttpMethod: self.method },\r\n _a);\r\n if (self.requestSentTime) {\r\n // Set the correct dependency start time\r\n dependency.startTime = new Date();\r\n dependency.startTime.setTime(self.requestSentTime);\r\n }\r\n // Add Ajax perf details if available\r\n _populatePerfData(self, dependency);\r\n if (enableRequestHeaderTracking) {\r\n if (objKeys(self.requestHeaders).length > 0) {\r\n dependency[strProperties] = dependency[strProperties] || {};\r\n dependency[strProperties].requestHeaders = self.requestHeaders;\r\n }\r\n }\r\n if (getResponse) {\r\n var response = getResponse();\r\n if (response) {\r\n // enrich dependency target with correlation context from the server\r\n var correlationContext = response.correlationContext;\r\n if (correlationContext) {\r\n dependency.correlationContext = /* dependency.target + \" | \" + */ correlationContext;\r\n }\r\n if (response.headerMap) {\r\n if (objKeys(response.headerMap).length > 0) {\r\n dependency[strProperties] = dependency[strProperties] || {};\r\n dependency[strProperties].responseHeaders = response.headerMap;\r\n }\r\n }\r\n if (self.errorStatusText && self.status >= 400) {\r\n var responseType = response.type;\r\n dependency[strProperties] = dependency[strProperties] || {};\r\n if (responseType === \"\" || responseType === \"text\") {\r\n dependency[strProperties][strResponseText] = response[strResponseText] ? response.statusText + \" - \" + response[strResponseText] : response.statusText;\r\n }\r\n if (responseType === \"json\") {\r\n dependency[strProperties][strResponseText] = response.response ? response.statusText + \" - \" + JSON.stringify(response.response) : response.statusText;\r\n }\r\n }\r\n }\r\n }\r\n return dependency;\r\n };\r\n });\r\n }\r\n ajaxRecord.prototype.getAbsoluteUrl = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n ajaxRecord.prototype.getPathName = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n ajaxRecord.prototype.CreateTrackItem = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return ajaxRecord;\r\n}());\r\nexport { ajaxRecord };\r\n//# sourceMappingURL=ajaxRecord.js.map","import { generateW3CId } from \"@microsoft/applicationinsights-core-js\";\r\nvar Traceparent = /** @class */ (function () {\r\n function Traceparent(traceId, spanId) {\r\n var self = this;\r\n self.traceFlag = Traceparent.DEFAULT_TRACE_FLAG;\r\n self.version = Traceparent.DEFAULT_VERSION;\r\n if (traceId && Traceparent.isValidTraceId(traceId)) {\r\n self.traceId = traceId;\r\n }\r\n else {\r\n self.traceId = generateW3CId();\r\n }\r\n if (spanId && Traceparent.isValidSpanId(spanId)) {\r\n self.spanId = spanId;\r\n }\r\n else {\r\n self.spanId = generateW3CId().substr(0, 16);\r\n }\r\n }\r\n Traceparent.isValidTraceId = function (id) {\r\n return id.match(/^[0-9a-f]{32}$/) && id !== \"00000000000000000000000000000000\";\r\n };\r\n Traceparent.isValidSpanId = function (id) {\r\n return id.match(/^[0-9a-f]{16}$/) && id !== \"0000000000000000\";\r\n };\r\n Traceparent.prototype.toString = function () {\r\n var self = this;\r\n return self.version + \"-\" + self.traceId + \"-\" + self.spanId + \"-\" + self.traceFlag;\r\n };\r\n Traceparent.DEFAULT_TRACE_FLAG = \"01\";\r\n Traceparent.DEFAULT_VERSION = \"00\";\r\n return Traceparent;\r\n}());\r\nexport { Traceparent };\r\n//# sourceMappingURL=TraceParent.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { RequestHeaders, CorrelationIdHelper, TelemetryItemCreator, RemoteDependencyData, dateTimeUtilsNow, DisabledPropertyName, PropertiesPluginIdentifier, DistributedTracingModes, isInternalApplicationInsightsEndpoint } from \"@microsoft/applicationinsights-common\";\r\nimport { isNullOrUndefined, arrForEach, isString, strTrim, isFunction, LoggingSeverity, _InternalMessageId, BaseTelemetryPlugin, getLocation, getGlobal, strPrototype, InstrumentFunc, InstrumentProto, getPerformance, objForEachKey, generateW3CId, getIEVersion, dumpObj, isXhrSupported, attachEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport { ajaxRecord } from \"./ajaxRecord\";\r\nimport { Traceparent } from \"./TraceParent\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar AJAX_MONITOR_PREFIX = \"ai.ajxmn.\";\r\nvar strDiagLog = \"diagLog\";\r\nvar strAjaxData = \"ajaxData\";\r\nvar strThrowInternal = \"throwInternal\";\r\nvar strFetch = \"fetch\";\r\n// Using a global value so that to handle same iKey with multiple app insights instances (mostly for testing)\r\nvar _markCount = 0;\r\n/** @Ignore */\r\nfunction _supportsFetch() {\r\n var _global = getGlobal();\r\n if (!_global ||\r\n isNullOrUndefined(_global.Request) ||\r\n isNullOrUndefined(_global.Request[strPrototype]) ||\r\n isNullOrUndefined(_global[strFetch])) {\r\n return null;\r\n }\r\n return _global[strFetch];\r\n}\r\n/**\r\n * Determines whether ajax monitoring can be enabled on this document\r\n * @returns True if Ajax monitoring is supported on this page, otherwise false\r\n * @ignore\r\n */\r\nfunction _supportsAjaxMonitoring(ajaxMonitorInstance) {\r\n var result = false;\r\n if (isXhrSupported()) {\r\n var proto = XMLHttpRequest[strPrototype];\r\n result = !isNullOrUndefined(proto) &&\r\n !isNullOrUndefined(proto.open) && // eslint-disable-line security/detect-non-literal-fs-filename -- false positive\r\n !isNullOrUndefined(proto.send) &&\r\n !isNullOrUndefined(proto.abort);\r\n }\r\n var ieVer = getIEVersion();\r\n if (ieVer && ieVer < 9) {\r\n result = false;\r\n }\r\n if (result) {\r\n // Disable if the XmlHttpRequest can't be extended or hooked\r\n try {\r\n var xhr = new XMLHttpRequest();\r\n xhr[strAjaxData] = {};\r\n // Check that we can update the prototype\r\n var theOpen = XMLHttpRequest[strPrototype].open;\r\n XMLHttpRequest[strPrototype].open = theOpen;\r\n }\r\n catch (e) {\r\n // We can't decorate the xhr object so disable monitoring\r\n result = false;\r\n _throwInternalCritical(ajaxMonitorInstance, _InternalMessageId.FailedMonitorAjaxOpen, \"Failed to enable XMLHttpRequest monitoring, extension is not supported\", {\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n return result;\r\n}\r\n/** @Ignore */\r\nfunction _getFailedAjaxDiagnosticsMessage(xhr) {\r\n var result = \"\";\r\n try {\r\n if (!isNullOrUndefined(xhr) &&\r\n !isNullOrUndefined(xhr[strAjaxData]) &&\r\n !isNullOrUndefined(xhr[strAjaxData].requestUrl)) {\r\n result += \"(url: '\" + xhr[strAjaxData].requestUrl + \"')\";\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _throwInternalCritical(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n ajaxMonitorInstance[strDiagLog]()[strThrowInternal](LoggingSeverity.CRITICAL, msgId, message, properties, isUserAct);\r\n}\r\n/** @ignore */\r\nfunction _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n ajaxMonitorInstance[strDiagLog]()[strThrowInternal](LoggingSeverity.WARNING, msgId, message, properties, isUserAct);\r\n}\r\n/** @Ignore */\r\nfunction _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {\r\n // tslint:disable-next-line\r\n return function (args) {\r\n _throwInternalCritical(ajaxMonitorInstance, internalMessage, message, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(args.inst),\r\n exception: dumpObj(args.err)\r\n });\r\n };\r\n}\r\nfunction _indexOf(value, match) {\r\n if (value && match) {\r\n return value.indexOf(match);\r\n }\r\n return -1;\r\n}\r\nvar AjaxMonitor = /** @class */ (function (_super) {\r\n __extends(AjaxMonitor, _super);\r\n function AjaxMonitor() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AjaxMonitor.identifier;\r\n _this.priority = 120;\r\n var strTrackDependencyDataInternal = \"trackDependencyDataInternal\"; // Using string to help with minification\r\n var location = getLocation();\r\n var _fetchInitialized = false; // fetch monitoring initialized\r\n var _xhrInitialized = false; // XHR monitoring initialized\r\n var _currentWindowHost = location && location.host && location.host.toLowerCase();\r\n var _config = AjaxMonitor.getEmptyConfig();\r\n var _enableRequestHeaderTracking = false;\r\n var _enableAjaxErrorStatusText = false;\r\n var _trackAjaxAttempts = 0;\r\n var _context;\r\n var _isUsingW3CHeaders;\r\n var _isUsingAIHeaders;\r\n var _markPrefix;\r\n var _enableAjaxPerfTracking = false;\r\n var _maxAjaxCallsPerView = 0;\r\n var _enableResponseHeaderTracking = false;\r\n var _hooks = [];\r\n var _disabledUrls = {};\r\n var _excludeRequestFromAutoTrackingPatterns;\r\n var _addRequestContext;\r\n dynamicProto(AjaxMonitor, _this, function (_self, base) {\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (!_self.isInitialized()) {\r\n base.initialize(config, core, extensions, pluginChain);\r\n var ctx_1 = _self._getTelCtx();\r\n var defaultConfig = AjaxMonitor.getDefaultConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _config[field] = ctx_1.getConfig(AjaxMonitor.identifier, field, value);\r\n });\r\n var distributedTracingMode = _config.distributedTracingMode;\r\n _enableRequestHeaderTracking = _config.enableRequestHeaderTracking;\r\n _enableAjaxErrorStatusText = _config.enableAjaxErrorStatusText;\r\n _enableAjaxPerfTracking = _config.enableAjaxPerfTracking;\r\n _maxAjaxCallsPerView = _config.maxAjaxCallsPerView;\r\n _enableResponseHeaderTracking = _config.enableResponseHeaderTracking;\r\n _excludeRequestFromAutoTrackingPatterns = _config.excludeRequestFromAutoTrackingPatterns;\r\n _addRequestContext = _config.addRequestContext;\r\n _isUsingAIHeaders = distributedTracingMode === DistributedTracingModes.AI || distributedTracingMode === DistributedTracingModes.AI_AND_W3C;\r\n _isUsingW3CHeaders = distributedTracingMode === DistributedTracingModes.AI_AND_W3C || distributedTracingMode === DistributedTracingModes.W3C;\r\n if (_enableAjaxPerfTracking) {\r\n var iKey = config.instrumentationKey || \"unkwn\";\r\n if (iKey.length > 5) {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey.length - 5) + \".\";\r\n }\r\n else {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey + \".\";\r\n }\r\n }\r\n if (_config.disableAjaxTracking === false) {\r\n _instrumentXhr();\r\n }\r\n _instrumentFetch();\r\n if (extensions.length > 0 && extensions) {\r\n var propExt = void 0, extIx = 0;\r\n while (!propExt && extIx < extensions.length) {\r\n if (extensions[extIx] && extensions[extIx].identifier === PropertiesPluginIdentifier) {\r\n propExt = extensions[extIx];\r\n }\r\n extIx++;\r\n }\r\n if (propExt) {\r\n _context = propExt.context; // we could move IPropertiesPlugin to common as well\r\n }\r\n }\r\n }\r\n };\r\n _self.teardown = function () {\r\n // Remove all instrumentation hooks\r\n arrForEach(_hooks, function (fn) {\r\n fn.rm();\r\n });\r\n _hooks = [];\r\n _fetchInitialized = false;\r\n _xhrInitialized = false;\r\n _self.setInitialized(false);\r\n };\r\n _self.trackDependencyData = function (dependency, properties) {\r\n _self[strTrackDependencyDataInternal](dependency, properties);\r\n };\r\n _self.includeCorrelationHeaders = function (ajaxData, input, init, xhr) {\r\n // Test Hook to allow the overriding of the location host\r\n var currentWindowHost = _self[\"_currentWindowHost\"] || _currentWindowHost;\r\n if (input) { // Fetch\r\n if (CorrelationIdHelper.canIncludeCorrelationHeader(_config, ajaxData.getAbsoluteUrl(), currentWindowHost)) {\r\n if (!init) {\r\n init = {};\r\n }\r\n // init headers override original request headers\r\n // so, if they exist use only them, otherwise use request's because they should have been applied in the first place\r\n // not using original request headers will result in them being lost\r\n init.headers = new Headers(init.headers || (input instanceof Request ? (input.headers || {}) : {}));\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData.traceID + \".\" + ajaxData.spanID;\r\n init.headers.set(RequestHeaders.requestIdHeader, id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData.requestHeaders[RequestHeaders.requestIdHeader] = id;\r\n }\r\n }\r\n var appId = _config.appId || (_context && _context.appId());\r\n if (appId) {\r\n init.headers.set(RequestHeaders.requestContextHeader, RequestHeaders.requestContextAppIdFormat + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData.requestHeaders[RequestHeaders.requestContextHeader] = RequestHeaders.requestContextAppIdFormat + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceparent = new Traceparent(ajaxData.traceID, ajaxData.spanID);\r\n init.headers.set(RequestHeaders.traceParentHeader, traceparent.toString());\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData.requestHeaders[RequestHeaders.traceParentHeader] = traceparent.toString();\r\n }\r\n }\r\n }\r\n return init;\r\n }\r\n else if (xhr) { // XHR\r\n if (CorrelationIdHelper.canIncludeCorrelationHeader(_config, ajaxData.getAbsoluteUrl(), currentWindowHost)) {\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData.traceID + \".\" + ajaxData.spanID;\r\n xhr.setRequestHeader(RequestHeaders.requestIdHeader, id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData.requestHeaders[RequestHeaders.requestIdHeader] = id;\r\n }\r\n }\r\n var appId = _config.appId || (_context && _context.appId());\r\n if (appId) {\r\n xhr.setRequestHeader(RequestHeaders.requestContextHeader, RequestHeaders.requestContextAppIdFormat + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData.requestHeaders[RequestHeaders.requestContextHeader] = RequestHeaders.requestContextAppIdFormat + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceparent = new Traceparent(ajaxData.traceID, ajaxData.spanID);\r\n xhr.setRequestHeader(RequestHeaders.traceParentHeader, traceparent.toString());\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData.requestHeaders[RequestHeaders.traceParentHeader] = traceparent.toString();\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n return undefined;\r\n };\r\n _self[strTrackDependencyDataInternal] = function (dependency, properties, systemProperties) {\r\n if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {\r\n // Hack since expected format in w3c mode is |abc.def.\r\n // Non-w3c format is |abc.def\r\n // @todo Remove if better solution is available, e.g. handle in portal\r\n if ((_config.distributedTracingMode === DistributedTracingModes.W3C\r\n || _config.distributedTracingMode === DistributedTracingModes.AI_AND_W3C)\r\n && typeof dependency.id === \"string\" && dependency.id[dependency.id.length - 1] !== \".\") {\r\n dependency.id += \".\";\r\n }\r\n if (isNullOrUndefined(dependency.startTime)) {\r\n dependency.startTime = new Date();\r\n }\r\n var item = TelemetryItemCreator.create(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);\r\n _self.core.track(item);\r\n }\r\n else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {\r\n _throwInternalCritical(_self, _InternalMessageId.MaxAjaxPerPVExceeded, \"Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.\", true);\r\n }\r\n ++_trackAjaxAttempts;\r\n };\r\n // discard the header if it's defined as ignoreHeaders in ICorrelationConfig\r\n function _canIncludeHeaders(header) {\r\n var rlt = true;\r\n if (header || _config.ignoreHeaders) {\r\n arrForEach(_config.ignoreHeaders, (function (key) {\r\n if (key.toLowerCase() === header.toLowerCase()) {\r\n rlt = false;\r\n return -1;\r\n }\r\n }));\r\n }\r\n return rlt;\r\n }\r\n // Fetch Stuff\r\n function _instrumentFetch() {\r\n var fetch = _supportsFetch();\r\n if (!fetch) {\r\n return;\r\n }\r\n var global = getGlobal();\r\n var isPolyfill = fetch.polyfill;\r\n if (_config.disableFetchTracking === false) {\r\n _hooks.push(InstrumentFunc(global, strFetch, {\r\n // Add request hook\r\n req: function (callDetails, input, init) {\r\n var fetchData;\r\n if (_fetchInitialized &&\r\n !_isDisabledRequest(null, input, init) &&\r\n // If we have a polyfil and XHR instrumented then let XHR report otherwise we get duplicates\r\n !(isPolyfill && _xhrInitialized)) {\r\n var ctx = callDetails.ctx();\r\n fetchData = _createFetchRecord(input, init);\r\n var newInit = _self.includeCorrelationHeaders(fetchData, input, init);\r\n if (newInit !== init) {\r\n callDetails.set(1, newInit);\r\n }\r\n ctx.data = fetchData;\r\n }\r\n },\r\n rsp: function (callDetails, input) {\r\n var fetchData = callDetails.ctx().data;\r\n if (fetchData) {\r\n // Replace the result with the new promise from this code\r\n callDetails.rslt = callDetails.rslt.then(function (response) {\r\n _reportFetchMetrics(callDetails, (response || {}).status, input, response, fetchData, function () {\r\n var ajaxResponse = {\r\n statusText: response.statusText,\r\n headerMap: null,\r\n correlationContext: _getFetchCorrelationContext(response)\r\n };\r\n if (_enableResponseHeaderTracking) {\r\n var responseHeaderMap_1 = {};\r\n response.headers.forEach(function (value, name) {\r\n if (_canIncludeHeaders(name)) {\r\n responseHeaderMap_1[name] = value;\r\n }\r\n });\r\n ajaxResponse.headerMap = responseHeaderMap_1;\r\n }\r\n return ajaxResponse;\r\n });\r\n return response;\r\n })[\"catch\"](function (reason) {\r\n _reportFetchMetrics(callDetails, 0, input, null, fetchData, null, { error: reason.message });\r\n throw reason;\r\n });\r\n }\r\n },\r\n // Create an error callback to report any hook errors\r\n hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxOpen, \"Failed to monitor Window.fetch, monitoring data for this fetch call may be incorrect.\")\r\n }));\r\n _fetchInitialized = true;\r\n }\r\n else if (isPolyfill) {\r\n // If fetch is a polyfill we need to capture the request to ensure that we correctly track\r\n // disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop\r\n // of reporting ourselves, for example React Native uses a polyfill for fetch\r\n // Note: Polyfill implementations that don't support the \"poyyfill\" tag are not supported\r\n // the workaround is to add a polyfill property to your fetch implementation before initializing\r\n // App Insights\r\n _hooks.push(InstrumentFunc(global, strFetch, {\r\n req: function (callDetails, input, init) {\r\n // Just call so that we record any disabled URL\r\n _isDisabledRequest(null, input, init);\r\n }\r\n }));\r\n }\r\n if (isPolyfill) {\r\n // retag the instrumented fetch with the same polyfill settings this is mostly for testing\r\n // But also supports multiple App Insights usages\r\n global[strFetch].polyfill = isPolyfill;\r\n }\r\n }\r\n function _hookProto(target, funcName, callbacks) {\r\n _hooks.push(InstrumentProto(target, funcName, callbacks));\r\n }\r\n function _instrumentXhr() {\r\n if (_supportsAjaxMonitoring(_self) && !_xhrInitialized) {\r\n // Instrument open\r\n _hookProto(XMLHttpRequest, \"open\", {\r\n req: function (args, method, url, async) {\r\n var xhr = args.inst;\r\n var ajaxData = xhr[strAjaxData];\r\n if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {\r\n if (!ajaxData || !ajaxData.xhrMonitoringState.openDone) {\r\n // Only create a single ajaxData (even when multiple AI instances are running)\r\n _openHandler(xhr, method, url, async);\r\n }\r\n // always attach to the on ready state change (required for handling multiple instances)\r\n _attachToOnReadyStateChange(xhr);\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxOpen, \"Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.\")\r\n });\r\n // Instrument send\r\n _hookProto(XMLHttpRequest, \"send\", {\r\n req: function (args, context) {\r\n var xhr = args.inst;\r\n var ajaxData = xhr[strAjaxData];\r\n if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState.sendDone) {\r\n _createMarkId(\"xhr\", ajaxData);\r\n ajaxData.requestSentTime = dateTimeUtilsNow();\r\n _self.includeCorrelationHeaders(ajaxData, undefined, undefined, xhr);\r\n ajaxData.xhrMonitoringState.sendDone = true;\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxSend, \"Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.\")\r\n });\r\n // Instrument abort\r\n _hookProto(XMLHttpRequest, \"abort\", {\r\n req: function (args) {\r\n var xhr = args.inst;\r\n var ajaxData = xhr[strAjaxData];\r\n if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState.abortDone) {\r\n ajaxData.aborted = 1;\r\n ajaxData.xhrMonitoringState.abortDone = true;\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxAbort, \"Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.\")\r\n });\r\n // Instrument setRequestHeader\r\n if (_enableRequestHeaderTracking) {\r\n _hookProto(XMLHttpRequest, \"setRequestHeader\", {\r\n req: function (args, header, value) {\r\n var xhr = args.inst;\r\n if (_isMonitoredXhrInstance(xhr) && _canIncludeHeaders(header)) {\r\n xhr[strAjaxData].requestHeaders[header] = value;\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, _InternalMessageId.FailedMonitorAjaxSetRequestHeader, \"Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.\")\r\n });\r\n }\r\n _xhrInitialized = true;\r\n }\r\n }\r\n function _isDisabledRequest(xhr, request, init) {\r\n var isDisabled = false;\r\n var theUrl = ((!isString(request) ? (request || {}).url || \"\" : request) || \"\").toLowerCase();\r\n // check excludeRequestFromAutoTrackingPatterns before stripping off any query string\r\n arrForEach(_excludeRequestFromAutoTrackingPatterns, function (regex) {\r\n var theRegex = regex;\r\n if (isString(regex)) {\r\n theRegex = new RegExp(regex);\r\n }\r\n if (!isDisabled) {\r\n isDisabled = theRegex.test(theUrl);\r\n }\r\n });\r\n // if request url matches with exclude regex pattern, return true and no need to check for headers\r\n if (isDisabled) {\r\n return isDisabled;\r\n }\r\n var idx = _indexOf(theUrl, \"?\");\r\n var idx2 = _indexOf(theUrl, \"#\");\r\n if (idx === -1 || (idx2 !== -1 && idx2 < idx)) {\r\n idx = idx2;\r\n }\r\n if (idx !== -1) {\r\n // Strip off any Query string\r\n theUrl = theUrl.substring(0, idx);\r\n }\r\n // check that this instance is not not used by ajax call performed inside client side monitoring to send data to collector\r\n if (!isNullOrUndefined(xhr)) {\r\n // Look on the XMLHttpRequest of the URL string value\r\n isDisabled = xhr[DisabledPropertyName] === true || theUrl[DisabledPropertyName] === true;\r\n }\r\n else if (!isNullOrUndefined(request)) { // fetch\r\n // Look for DisabledPropertyName in either Request or RequestInit\r\n isDisabled = (typeof request === \"object\" ? request[DisabledPropertyName] === true : false) ||\r\n (init ? init[DisabledPropertyName] === true : false);\r\n }\r\n // Also add extra check just in case the XHR or fetch objects where not decorated with the DisableProperty due to sealing or freezing\r\n if (!isDisabled && theUrl && isInternalApplicationInsightsEndpoint(theUrl)) {\r\n isDisabled = true;\r\n }\r\n if (isDisabled) {\r\n // Add the disabled url if not present\r\n if (!_disabledUrls[theUrl]) {\r\n _disabledUrls[theUrl] = 1;\r\n }\r\n }\r\n else {\r\n // Check to see if the url is listed as disabled\r\n if (_disabledUrls[theUrl]) {\r\n isDisabled = true;\r\n }\r\n }\r\n return isDisabled;\r\n }\r\n /// <summary>Verifies that particalar instance of XMLHttpRequest needs to be monitored</summary>\r\n /// <param name=\"excludeAjaxDataValidation\">Optional parameter. True if ajaxData must be excluded from verification</param>\r\n /// <returns type=\"bool\">True if instance needs to be monitored, otherwise false</returns>\r\n function _isMonitoredXhrInstance(xhr, excludeAjaxDataValidation) {\r\n var ajaxValidation = true;\r\n var initialized = _xhrInitialized;\r\n if (!isNullOrUndefined(xhr)) {\r\n ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(xhr[strAjaxData]);\r\n }\r\n // checking to see that all interested functions on xhr were instrumented\r\n return initialized\r\n // checking on ajaxData to see that it was not removed in user code\r\n && ajaxValidation;\r\n }\r\n function _openHandler(xhr, method, url, async) {\r\n var traceID = (_context && _context.telemetryTrace && _context.telemetryTrace.traceID) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());\r\n ajaxData.method = method;\r\n ajaxData.requestUrl = url;\r\n ajaxData.xhrMonitoringState.openDone = true;\r\n ajaxData.requestHeaders = {};\r\n ajaxData.async = async;\r\n ajaxData.errorStatusText = _enableAjaxErrorStatusText;\r\n xhr[strAjaxData] = ajaxData;\r\n }\r\n function _attachToOnReadyStateChange(xhr) {\r\n xhr[strAjaxData].xhrMonitoringState.stateChangeAttached = attachEvent(xhr, \"readystatechange\", function () {\r\n try {\r\n if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr)) {\r\n _onAjaxComplete(xhr);\r\n }\r\n }\r\n catch (e) {\r\n var exceptionText = dumpObj(e);\r\n // ignore messages with c00c023f, as this a known IE9 XHR abort issue\r\n if (!exceptionText || _indexOf(exceptionText.toLowerCase(), \"c00c023f\") === -1) {\r\n _throwInternalCritical(_self, _InternalMessageId.FailedMonitorAjaxRSC, \"Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.\", {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),\r\n exception: exceptionText\r\n });\r\n }\r\n }\r\n });\r\n }\r\n function _getResponseText(xhr) {\r\n try {\r\n var responseType = xhr.responseType;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n // As per the specification responseText is only valid if the type is an empty string or \"text\"\r\n return xhr.responseText;\r\n }\r\n }\r\n catch (e) {\r\n // This shouldn't happen because of the above check -- but just in case, so just ignore\r\n }\r\n return null;\r\n }\r\n function _onAjaxComplete(xhr) {\r\n var ajaxData = xhr[strAjaxData];\r\n ajaxData.responseFinishedTime = dateTimeUtilsNow();\r\n ajaxData.status = xhr.status;\r\n function _reportXhrError(e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"ajaxDiagnosticsMessage\"] = _getFailedAjaxDiagnosticsMessage(xhr);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, _InternalMessageId.FailedMonitorAjaxDur, \"Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.\", errorProps);\r\n }\r\n _findPerfResourceEntry(\"xmlhttprequest\", ajaxData, function () {\r\n try {\r\n var dependency = ajaxData.CreateTrackItem(\"Ajax\", _enableRequestHeaderTracking, function () {\r\n var ajaxResponse = {\r\n statusText: xhr.statusText,\r\n headerMap: null,\r\n correlationContext: _getAjaxCorrelationContext(xhr),\r\n type: xhr.responseType,\r\n responseText: _getResponseText(xhr),\r\n response: xhr.response\r\n };\r\n if (_enableResponseHeaderTracking) {\r\n var headers = xhr.getAllResponseHeaders();\r\n if (headers) {\r\n // xhr.getAllResponseHeaders() method returns all the response headers, separated by CRLF, as a string or null\r\n // the regex converts the header string into an array of individual headers\r\n var arr = strTrim(headers).split(/[\\r\\n]+/);\r\n var responseHeaderMap_2 = {};\r\n arrForEach(arr, function (line) {\r\n var parts = line.split(\": \");\r\n var header = parts.shift();\r\n var value = parts.join(\": \");\r\n if (_canIncludeHeaders(header)) {\r\n responseHeaderMap_2[header] = value;\r\n }\r\n });\r\n ajaxResponse.headerMap = responseHeaderMap_2;\r\n }\r\n }\r\n return ajaxResponse;\r\n });\r\n var properties = void 0;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: xhr.status, xhr: xhr });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, _InternalMessageId.FailedAddingCustomDefinedRequestContext, \"Failed to add custom defined request context as configured call back may missing a null check.\");\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency.properties = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n _self[strTrackDependencyDataInternal](dependency);\r\n }\r\n else {\r\n _reportXhrError(null, {\r\n requestSentTime: ajaxData.requestSentTime,\r\n responseFinishedTime: ajaxData.responseFinishedTime\r\n });\r\n }\r\n }\r\n finally {\r\n // cleanup telemetry data\r\n try {\r\n xhr[strAjaxData] = null;\r\n }\r\n catch (e) {\r\n // May throw in environments that prevent extension or freeze xhr\r\n }\r\n }\r\n }, function (e) {\r\n _reportXhrError(e, null);\r\n });\r\n }\r\n function _getAjaxCorrelationContext(xhr) {\r\n try {\r\n var responseHeadersString = xhr.getAllResponseHeaders();\r\n if (responseHeadersString !== null) {\r\n var index = _indexOf(responseHeadersString.toLowerCase(), RequestHeaders.requestContextHeaderLowerCase);\r\n if (index !== -1) {\r\n var responseHeader = xhr.getResponseHeader(RequestHeaders.requestContextHeader);\r\n return CorrelationIdHelper.getCorrelationContext(responseHeader);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, _InternalMessageId.FailedMonitorAjaxGetCorrelationHeader, \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\", {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n function _createMarkId(type, ajaxData) {\r\n if (ajaxData.requestUrl && _markPrefix && _enableAjaxPerfTracking) {\r\n var performance_1 = getPerformance();\r\n if (performance_1 && isFunction(performance_1.mark)) {\r\n _markCount++;\r\n var markId = _markPrefix + type + \"#\" + _markCount;\r\n performance_1.mark(markId);\r\n var entries = performance_1.getEntriesByName(markId);\r\n if (entries && entries.length === 1) {\r\n ajaxData.perfMark = entries[0];\r\n }\r\n }\r\n }\r\n }\r\n function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {\r\n var perfMark = ajaxData.perfMark;\r\n var performance = getPerformance();\r\n var maxAttempts = _config.maxAjaxPerfLookupAttempts;\r\n var retryDelay = _config.ajaxPerfLookupDelay;\r\n var requestUrl = ajaxData.requestUrl;\r\n var attempt = 0;\r\n (function locateResourceTiming() {\r\n try {\r\n if (performance && perfMark) {\r\n attempt++;\r\n var perfTiming = null;\r\n var entries = performance.getEntries();\r\n for (var lp = entries.length - 1; lp >= 0; lp--) {\r\n var entry = entries[lp];\r\n if (entry) {\r\n if (entry.entryType === \"resource\") {\r\n if (entry.initiatorType === initiatorType &&\r\n (_indexOf(entry.name, requestUrl) !== -1 || _indexOf(requestUrl, entry.name) !== -1)) {\r\n perfTiming = entry;\r\n }\r\n }\r\n else if (entry.entryType === \"mark\" && entry.name === perfMark.name) {\r\n // We hit the start event\r\n ajaxData.perfTiming = perfTiming;\r\n break;\r\n }\r\n if (entry.startTime < perfMark.startTime - 1000) {\r\n // Fallback to try and reduce the time spent looking for the perf entry\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!perfMark || // - we don't have a perfMark or\r\n ajaxData.perfTiming || // - we have not found the perf entry or\r\n attempt >= maxAttempts || // - we have tried too many attempts or\r\n ajaxData.async === false) { // - this is a sync request\r\n if (perfMark && isFunction(performance.clearMarks)) {\r\n // Remove the mark so we don't fill up the performance resources too much\r\n performance.clearMarks(perfMark.name);\r\n }\r\n ajaxData.perfAttempts = attempt;\r\n // just continue and report the track event\r\n trackCallback();\r\n }\r\n else {\r\n // We need to wait for the browser to populate the window.performance entry\r\n // This needs to be at least 1ms as waiting <= 1 (on firefox) is not enough time for fetch or xhr,\r\n // this is a scheduling issue for the browser implementation\r\n setTimeout(locateResourceTiming, retryDelay);\r\n }\r\n }\r\n catch (e) {\r\n reportError(e);\r\n }\r\n })();\r\n }\r\n function _createFetchRecord(input, init) {\r\n var traceID = (_context && _context.telemetryTrace && _context.telemetryTrace.traceID) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());\r\n ajaxData.requestSentTime = dateTimeUtilsNow();\r\n ajaxData.errorStatusText = _enableAjaxErrorStatusText;\r\n if (input instanceof Request) {\r\n ajaxData.requestUrl = input ? input.url : \"\";\r\n }\r\n else {\r\n ajaxData.requestUrl = input;\r\n }\r\n var method = \"GET\";\r\n if (init && init.method) {\r\n method = init.method;\r\n }\r\n else if (input && input instanceof Request) {\r\n method = input.method;\r\n }\r\n ajaxData.method = method;\r\n var requestHeaders = {};\r\n if (_enableRequestHeaderTracking) {\r\n var headers = new Headers((init ? init.headers : 0) || (input instanceof Request ? (input.headers || {}) : {}));\r\n headers.forEach(function (value, key) {\r\n if (_canIncludeHeaders(key)) {\r\n requestHeaders[key] = value;\r\n }\r\n });\r\n }\r\n ajaxData.requestHeaders = requestHeaders;\r\n _createMarkId(\"fetch\", ajaxData);\r\n return ajaxData;\r\n }\r\n function _getFailedFetchDiagnosticsMessage(input) {\r\n var result = \"\";\r\n try {\r\n if (!isNullOrUndefined(input)) {\r\n if (typeof (input) === \"string\") {\r\n result += \"(url: '\" + input + \"')\";\r\n }\r\n else {\r\n result += \"(url: '\" + input.url + \"')\";\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalCritical(_self, _InternalMessageId.FailedMonitorAjaxOpen, \"Failed to grab failed fetch diagnostics message\", { exception: dumpObj(e) });\r\n }\r\n return result;\r\n }\r\n function _reportFetchMetrics(callDetails, status, input, response, ajaxData, getResponse, properties) {\r\n if (!ajaxData) {\r\n return;\r\n }\r\n function _reportFetchError(msgId, e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"fetchDiagnosticsMessage\"] = _getFailedFetchDiagnosticsMessage(input);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, msgId, \"Failed to calculate the duration of the fetch call, monitoring data for this fetch call won't be sent.\", errorProps);\r\n }\r\n ajaxData.responseFinishedTime = dateTimeUtilsNow();\r\n ajaxData.status = status;\r\n _findPerfResourceEntry(\"fetch\", ajaxData, function () {\r\n var dependency = ajaxData.CreateTrackItem(\"Fetch\", _enableRequestHeaderTracking, getResponse);\r\n var properties;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: status, request: input, response: response });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, _InternalMessageId.FailedAddingCustomDefinedRequestContext, \"Failed to add custom defined request context as configured call back may missing a null check.\");\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency.properties = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n _self[strTrackDependencyDataInternal](dependency);\r\n }\r\n else {\r\n _reportFetchError(_InternalMessageId.FailedMonitorAjaxDur, null, {\r\n requestSentTime: ajaxData.requestSentTime,\r\n responseFinishedTime: ajaxData.responseFinishedTime\r\n });\r\n }\r\n }, function (e) {\r\n _reportFetchError(_InternalMessageId.FailedMonitorAjaxGetCorrelationHeader, e, null);\r\n });\r\n }\r\n function _getFetchCorrelationContext(response) {\r\n if (response && response.headers) {\r\n try {\r\n var responseHeader = response.headers.get(RequestHeaders.requestContextHeader);\r\n return CorrelationIdHelper.getCorrelationContext(responseHeader);\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, _InternalMessageId.FailedMonitorAjaxGetCorrelationHeader, \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\", {\r\n fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n AjaxMonitor.getDefaultConfig = function () {\r\n var config = {\r\n maxAjaxCallsPerView: 500,\r\n disableAjaxTracking: false,\r\n disableFetchTracking: true,\r\n excludeRequestFromAutoTrackingPatterns: undefined,\r\n disableCorrelationHeaders: false,\r\n distributedTracingMode: DistributedTracingModes.AI_AND_W3C,\r\n correlationHeaderExcludedDomains: [\r\n \"*.blob.core.windows.net\",\r\n \"*.blob.core.chinacloudapi.cn\",\r\n \"*.blob.core.cloudapi.de\",\r\n \"*.blob.core.usgovcloudapi.net\"\r\n ],\r\n correlationHeaderDomains: undefined,\r\n correlationHeaderExcludePatterns: undefined,\r\n appId: undefined,\r\n enableCorsCorrelation: false,\r\n enableRequestHeaderTracking: false,\r\n enableResponseHeaderTracking: false,\r\n enableAjaxErrorStatusText: false,\r\n enableAjaxPerfTracking: false,\r\n maxAjaxPerfLookupAttempts: 3,\r\n ajaxPerfLookupDelay: 25,\r\n ignoreHeaders: [\r\n \"Authorization\",\r\n \"X-API-Key\",\r\n \"WWW-Authenticate\"\r\n ],\r\n addRequestContext: undefined\r\n };\r\n return config;\r\n };\r\n AjaxMonitor.getEmptyConfig = function () {\r\n var emptyConfig = this.getDefaultConfig();\r\n objForEachKey(emptyConfig, function (value) {\r\n emptyConfig[value] = undefined;\r\n });\r\n return emptyConfig;\r\n };\r\n AjaxMonitor.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AjaxMonitor.prototype.teardown = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {\r\n this.processNext(item, itemCtx);\r\n };\r\n /**\r\n * Logs dependency call\r\n * @param dependencyData dependency data object\r\n */\r\n AjaxMonitor.prototype.trackDependencyData = function (dependency, properties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AjaxMonitor.prototype.includeCorrelationHeaders = function (ajaxData, input, init, xhr) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Protected function to allow sub classes the chance to add additional properties to the dependency event\r\n * before it's sent. This function calls track, so sub-classes must call this function after they have\r\n * populated their properties.\r\n * @param dependencyData dependency data object\r\n */\r\n AjaxMonitor.prototype.trackDependencyDataInternal = function (dependency, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AjaxMonitor.identifier = \"AjaxDependencyPlugin\";\r\n return AjaxMonitor;\r\n}(BaseTelemetryPlugin));\r\nexport { AjaxMonitor };\r\n//# sourceMappingURL=ajax.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { arrReduce, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString.split(_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv.split(_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts.length === 2) { // only save fields with valid formats\r\n var key = kvParts[0].toLowerCase();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result).length > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // use endpoint suffix where overrides are not provided\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result.ingestionendpoint = result.ingestionendpoint || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n }\r\n // apply the default endpoints\r\n result.ingestionendpoint = result.ingestionendpoint || DEFAULT_BREEZE_ENDPOINT;\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n//# sourceMappingURL=ConnectionStringParser.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { AppInsightsCore, LoggingSeverity, _InternalMessageId, hasWindow, hasDocument, isReactNative, doPerf, objForEachKey, proxyAssign, arrForEach, isString, isFunction, isNullOrUndefined, isArray, throwError, addPageUnloadEventListener, addPageHideEventListener } from \"@microsoft/applicationinsights-core-js\";\r\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-analytics-js\";\r\nimport { Sender } from \"@microsoft/applicationinsights-channel-js\";\r\nimport { PropertiesPlugin } from \"@microsoft/applicationinsights-properties-js\";\r\nimport { AjaxPlugin as DependenciesPlugin } from \"@microsoft/applicationinsights-dependencies-js\";\r\nimport { Util, CorrelationIdHelper, UrlHelper, DateTimeUtils, ConnectionStringParser, RequestHeaders, DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, AIData, AIBase, Envelope, Event, Exception, Metric, PageView, PageViewData, RemoteDependencyData, Trace, PageViewPerformance, Data, SeverityLevel, ConfigurationManager, ContextTagKeys, DataSanitizer, TelemetryItemCreator, CtxTagKeys, Extensions, DistributedTracingModes, PropertiesPluginIdentifier, BreezeChannelIdentifier, AnalyticsPluginIdentifier, parseConnectionString } from \"@microsoft/applicationinsights-common\";\r\n\"use strict\";\r\nvar _internalSdkSrc;\r\n// This is an exclude list of properties that should not be updated during initialization\r\n// They include a combination of private and internal property names\r\nvar _ignoreUpdateSnippetProperties = [\r\n \"snippet\", \"dependencies\", \"properties\", \"_snippetVersion\", \"appInsightsNew\", \"getSKUDefaults\"\r\n];\r\n// Re-exposing the Common classes as Telemetry, the list was taken by reviewing the generated code for the build while using\r\n// the previous configuration :-\r\n// import * as Common from \"@microsoft/applicationinsights-common\"\r\n// export const Telemetry = Common;\r\nvar fieldType = {\r\n Default: 0 /* Default */,\r\n Required: 1 /* Required */,\r\n Array: 2 /* Array */,\r\n Hidden: 4 /* Hidden */\r\n};\r\n/**\r\n * Telemetry type classes, e.g. PageView, Exception, etc\r\n */\r\nexport var Telemetry = {\r\n __proto__: null,\r\n PropertiesPluginIdentifier: PropertiesPluginIdentifier,\r\n BreezeChannelIdentifier: BreezeChannelIdentifier,\r\n AnalyticsPluginIdentifier: AnalyticsPluginIdentifier,\r\n Util: Util,\r\n CorrelationIdHelper: CorrelationIdHelper,\r\n UrlHelper: UrlHelper,\r\n DateTimeUtils: DateTimeUtils,\r\n ConnectionStringParser: ConnectionStringParser,\r\n FieldType: fieldType,\r\n RequestHeaders: RequestHeaders,\r\n DisabledPropertyName: DisabledPropertyName,\r\n ProcessLegacy: ProcessLegacy,\r\n SampleRate: SampleRate,\r\n HttpMethod: HttpMethod,\r\n DEFAULT_BREEZE_ENDPOINT: DEFAULT_BREEZE_ENDPOINT,\r\n AIData: AIData,\r\n AIBase: AIBase,\r\n Envelope: Envelope,\r\n Event: Event,\r\n Exception: Exception,\r\n Metric: Metric,\r\n PageView: PageView,\r\n PageViewData: PageViewData,\r\n RemoteDependencyData: RemoteDependencyData,\r\n Trace: Trace,\r\n PageViewPerformance: PageViewPerformance,\r\n Data: Data,\r\n SeverityLevel: SeverityLevel,\r\n ConfigurationManager: ConfigurationManager,\r\n ContextTagKeys: ContextTagKeys,\r\n DataSanitizer: DataSanitizer,\r\n TelemetryItemCreator: TelemetryItemCreator,\r\n CtxTagKeys: CtxTagKeys,\r\n Extensions: Extensions,\r\n DistributedTracingModes: DistributedTracingModes\r\n};\r\n/**\r\n * Application Insights API\r\n * @class Initialization\r\n * @implements {IApplicationInsights}\r\n */\r\nvar Initialization = /** @class */ (function () {\r\n function Initialization(snippet) {\r\n var _self = this;\r\n // initialize the queue and config in case they are undefined\r\n _self._snippetVersion = \"\" + (snippet.sv || snippet.version || \"\");\r\n snippet.queue = snippet.queue || [];\r\n snippet.version = snippet.version || 2.0; // Default to new version\r\n var config = snippet.config || {};\r\n if (config.connectionString) {\r\n var cs = parseConnectionString(config.connectionString);\r\n var ingest = cs.ingestionendpoint;\r\n config.endpointUrl = ingest ? ingest + \"/v2/track\" : config.endpointUrl; // only add /v2/track when from connectionstring\r\n config.instrumentationKey = cs.instrumentationkey || config.instrumentationKey;\r\n }\r\n _self.appInsights = new ApplicationInsights();\r\n _self.properties = new PropertiesPlugin();\r\n _self.dependencies = new DependenciesPlugin();\r\n _self.core = new AppInsightsCore();\r\n _self._sender = new Sender();\r\n _self.snippet = snippet;\r\n _self.config = config;\r\n _self.getSKUDefaults();\r\n }\r\n // Analytics Plugin\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n Initialization.prototype.getCookieMgr = function () {\r\n return this.appInsights.getCookieMgr();\r\n };\r\n /**\r\n * Log a user action or other occurrence.\r\n * @param {IEventTelemetry} event\r\n * @param {ICustomProperties} [customProperties]\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.trackEvent = function (event, customProperties) {\r\n this.appInsights.trackEvent(event, customProperties);\r\n };\r\n /**\r\n * Logs that a page, or similar container was displayed to the user.\r\n * @param {IPageViewTelemetry} pageView\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.trackPageView = function (pageView) {\r\n var inPv = pageView || {};\r\n this.appInsights.trackPageView(inPv);\r\n };\r\n /**\r\n * Log a bag of performance information via the customProperties field.\r\n * @param {IPageViewPerformanceTelemetry} pageViewPerformance\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.trackPageViewPerformance = function (pageViewPerformance) {\r\n var inPvp = pageViewPerformance || {};\r\n this.appInsights.trackPageViewPerformance(inPvp);\r\n };\r\n /**\r\n * Log an exception that you have caught.\r\n * @param {IExceptionTelemetry} exception\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.trackException = function (exception, customProperties) {\r\n if (exception && !exception.exception && exception.error) {\r\n exception.exception = exception.error;\r\n }\r\n this.appInsights.trackException(exception, customProperties);\r\n };\r\n /**\r\n * Manually send uncaught exception telemetry. This method is automatically triggered\r\n * on a window.onerror event.\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype._onerror = function (exception) {\r\n this.appInsights._onerror(exception);\r\n };\r\n /**\r\n * Log a diagnostic scenario such entering or leaving a function.\r\n * @param {ITraceTelemetry} trace\r\n * @param {ICustomProperties} [customProperties]\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.trackTrace = function (trace, customProperties) {\r\n this.appInsights.trackTrace(trace, customProperties);\r\n };\r\n /**\r\n * Log a numeric value that is not associated with a specific event. Typically used\r\n * to send regular reports of performance indicators.\r\n *\r\n * To send a single measurement, just use the `name` and `average` fields\r\n * of {@link IMetricTelemetry}.\r\n *\r\n * If you take measurements frequently, you can reduce the telemetry bandwidth by\r\n * aggregating multiple measurements and sending the resulting average and modifying\r\n * the `sampleCount` field of {@link IMetricTelemetry}.\r\n * @param {IMetricTelemetry} metric input object argument. Only `name` and `average` are mandatory.\r\n * @param {ICustomProperties} [customProperties]\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.trackMetric = function (metric, customProperties) {\r\n this.appInsights.trackMetric(metric, customProperties);\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n Initialization.prototype.startTrackPage = function (name) {\r\n this.appInsights.startTrackPage(name);\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n Initialization.prototype.stopTrackPage = function (name, url, customProperties, measurements) {\r\n this.appInsights.stopTrackPage(name, url, customProperties, measurements);\r\n };\r\n Initialization.prototype.startTrackEvent = function (name) {\r\n this.appInsights.startTrackEvent(name);\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n Initialization.prototype.stopTrackEvent = function (name, properties, measurements) {\r\n this.appInsights.stopTrackEvent(name, properties, measurements); // Todo: Fix to pass measurements once type is updated\r\n };\r\n Initialization.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n return this.appInsights.addTelemetryInitializer(telemetryInitializer);\r\n };\r\n // Properties Plugin\r\n /**\r\n * Set the authenticated user id and the account id. Used for identifying a specific signed-in user. Parameters must not contain whitespace or ,;=|\r\n *\r\n * The method will only set the `authenticatedUserId` and `accountId` in the current page view. To set them for the whole session, you should set `storeInCookie = true`\r\n * @param {string} authenticatedUserId\r\n * @param {string} [accountId]\r\n * @param {boolean} [storeInCookie=false]\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n this.properties.context.user.setAuthenticatedUserContext(authenticatedUserId, accountId, storeInCookie);\r\n };\r\n /**\r\n * Clears the authenticated user id and account id. The associated cookie is cleared, if present.\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.clearAuthenticatedUserContext = function () {\r\n this.properties.context.user.clearAuthenticatedUserContext();\r\n };\r\n // Dependencies Plugin\r\n /**\r\n * Log a dependency call (e.g. ajax)\r\n * @param {IDependencyTelemetry} dependency\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.trackDependencyData = function (dependency) {\r\n this.dependencies.trackDependencyData(dependency);\r\n };\r\n // Misc\r\n /**\r\n * Manually trigger an immediate send of all telemetry still in the buffer.\r\n * @param {boolean} [async=true]\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.flush = function (async) {\r\n var _this = this;\r\n if (async === void 0) { async = true; }\r\n doPerf(this.core, function () { return \"AISKU.flush\"; }, function () {\r\n arrForEach(_this.core.getTransmissionControls(), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n channel.flush(async);\r\n });\r\n });\r\n }, null, async);\r\n };\r\n /**\r\n * Manually trigger an immediate send of all telemetry still in the buffer using beacon Sender.\r\n * Fall back to xhr sender if beacon is not supported.\r\n * @param {boolean} [async=true]\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.onunloadFlush = function (async) {\r\n if (async === void 0) { async = true; }\r\n arrForEach(this.core.getTransmissionControls(), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n if (channel.onunloadFlush) {\r\n channel.onunloadFlush();\r\n }\r\n else {\r\n channel.flush(async);\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Initialize this instance of ApplicationInsights\r\n * @returns {IApplicationInsights}\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.loadAppInsights = function (legacyMode, logger, notificationManager) {\r\n var _this = this;\r\n if (legacyMode === void 0) { legacyMode = false; }\r\n var _self = this;\r\n function _updateSnippetProperties(snippet) {\r\n if (snippet) {\r\n var snippetVer = \"\";\r\n if (!isNullOrUndefined(_self._snippetVersion)) {\r\n snippetVer += _self._snippetVersion;\r\n }\r\n if (legacyMode) {\r\n snippetVer += \".lg\";\r\n }\r\n if (_self.context && _self.context.internal) {\r\n _self.context.internal.snippetVer = snippetVer || \"-\";\r\n }\r\n // apply updated properties to the global instance (snippet)\r\n objForEachKey(_self, function (field, value) {\r\n if (isString(field) &&\r\n !isFunction(value) &&\r\n field && field[0] !== \"_\" && // Don't copy \"internal\" values\r\n _ignoreUpdateSnippetProperties.indexOf(field) === -1) {\r\n snippet[field] = value;\r\n }\r\n });\r\n }\r\n }\r\n // dont allow additional channels/other extensions for legacy mode; legacy mode is only to allow users to switch with no code changes!\r\n if (legacyMode && _self.config.extensions && _self.config.extensions.length > 0) {\r\n throwError(\"Extensions not allowed in legacy mode\");\r\n }\r\n doPerf(_self.core, function () { return \"AISKU.loadAppInsights\"; }, function () {\r\n var extensions = [];\r\n extensions.push(_self._sender);\r\n extensions.push(_self.properties);\r\n extensions.push(_self.dependencies);\r\n extensions.push(_self.appInsights);\r\n // initialize core\r\n _self.core.initialize(_self.config, extensions, logger, notificationManager);\r\n _self.context = _self.properties.context;\r\n if (_internalSdkSrc && _self.context) {\r\n _self.context.internal.sdkSrc = _internalSdkSrc;\r\n }\r\n _updateSnippetProperties(_self.snippet);\r\n // Empty queue of all api calls logged prior to sdk download\r\n _self.emptyQueue();\r\n _self.pollInternalLogs();\r\n _self.addHousekeepingBeforeUnload(_this);\r\n });\r\n return _self;\r\n };\r\n /**\r\n * Overwrite the lazy loaded fields of global window snippet to contain the\r\n * actual initialized API methods\r\n * @param {Snippet} snippet\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.updateSnippetDefinitions = function (snippet) {\r\n // apply full appInsights to the global instance\r\n // Note: This must be called before loadAppInsights is called\r\n proxyAssign(snippet, this, function (name) {\r\n // Not excluding names prefixed with \"_\" as we need to proxy some functions like _onError\r\n return name && _ignoreUpdateSnippetProperties.indexOf(name) === -1;\r\n });\r\n };\r\n /**\r\n * Call any functions that were queued before the main script was loaded\r\n * @memberof Initialization\r\n */\r\n Initialization.prototype.emptyQueue = function () {\r\n var _self = this;\r\n // call functions that were queued before the main script was loaded\r\n try {\r\n if (isArray(_self.snippet.queue)) {\r\n // note: do not check length in the for-loop conditional in case something goes wrong and the stub methods are not overridden.\r\n var length_1 = _self.snippet.queue.length;\r\n for (var i = 0; i < length_1; i++) {\r\n var call = _self.snippet.queue[i];\r\n call();\r\n }\r\n _self.snippet.queue = undefined;\r\n delete _self.snippet.queue;\r\n }\r\n }\r\n catch (exception) {\r\n var properties = {};\r\n if (exception && isFunction(exception.toString)) {\r\n properties.exception = exception.toString();\r\n }\r\n // need from core\r\n // Microsoft.ApplicationInsights._InternalLogging.throwInternal(\r\n // LoggingSeverity.WARNING,\r\n // _InternalMessageId.FailedToSendQueuedTelemetry,\r\n // \"Failed to send queued telemetry\",\r\n // properties);\r\n }\r\n };\r\n Initialization.prototype.pollInternalLogs = function () {\r\n this.core.pollInternalLogs();\r\n };\r\n Initialization.prototype.stopPollingInternalLogs = function () {\r\n this.core.stopPollingInternalLogs();\r\n };\r\n Initialization.prototype.addHousekeepingBeforeUnload = function (appInsightsInstance) {\r\n // Add callback to push events when the user navigates away\r\n if (hasWindow() || hasDocument()) {\r\n var performHousekeeping = function () {\r\n // Adds the ability to flush all data before the page unloads.\r\n // Note: This approach tries to push a sync request with all the pending events onbeforeunload.\r\n // Firefox does not respect this.Other browsers DO push out the call with < 100% hit rate.\r\n // Telemetry here will help us analyze how effective this approach is.\r\n // Another approach would be to make this call sync with a acceptable timeout to reduce the\r\n // impact on user experience.\r\n // appInsightsInstance.context._sender.triggerSend();\r\n appInsightsInstance.onunloadFlush(false);\r\n // Back up the current session to local storage\r\n // This lets us close expired sessions after the cookies themselves expire\r\n arrForEach(appInsightsInstance.appInsights.core[\"_extensions\"], function (ext) {\r\n if (ext.identifier === PropertiesPluginIdentifier) {\r\n if (ext && ext.context && ext.context._sessionManager) {\r\n ext.context._sessionManager.backup();\r\n }\r\n return -1;\r\n }\r\n });\r\n };\r\n var added = false;\r\n var excludePageUnloadEvents = appInsightsInstance.appInsights.config.disablePageUnloadEvents;\r\n if (!appInsightsInstance.appInsights.config.disableFlushOnBeforeUnload) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n added = addPageUnloadEventListener(performHousekeeping, excludePageUnloadEvents);\r\n // We also need to hook the pagehide and visibilitychange events as not all versions of Safari support load/unload events.\r\n added = addPageHideEventListener(performHousekeeping, excludePageUnloadEvents) || added;\r\n // A reactNative app may not have a window and therefore the beforeunload/pagehide events -- so don't\r\n // log the failure in this case\r\n if (!added && !isReactNative()) {\r\n appInsightsInstance.appInsights.core.logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FailedToAddHandlerForOnBeforeUnload, \"Could not add handler for beforeunload and pagehide\");\r\n }\r\n }\r\n if (!added && !appInsightsInstance.appInsights.config.disableFlushOnUnload) {\r\n // If we didn't add the normal set then attempt to add the pagehide and visibilitychange only\r\n addPageHideEventListener(performHousekeeping, excludePageUnloadEvents);\r\n }\r\n }\r\n };\r\n Initialization.prototype.getSender = function () {\r\n return this._sender;\r\n };\r\n Initialization.prototype.getSKUDefaults = function () {\r\n var _self = this;\r\n _self.config.diagnosticLogInterval =\r\n _self.config.diagnosticLogInterval && _self.config.diagnosticLogInterval > 0 ? _self.config.diagnosticLogInterval : 10000;\r\n };\r\n return Initialization;\r\n}());\r\nexport { Initialization };\r\n// tslint:disable-next-line\r\n(function () {\r\n var sdkSrc = null;\r\n var isModule = false;\r\n var cdns = [\r\n \"://js.monitor.azure.com/\",\r\n \"://az416426.vo.msecnd.net/\"\r\n ];\r\n try {\r\n // Try and determine whether the sdk is being loaded from the CDN\r\n // currentScript is only valid during initial processing\r\n var scrpt = (document || {}).currentScript;\r\n if (scrpt) {\r\n sdkSrc = scrpt.src;\r\n // } else {\r\n // // We need to update to at least typescript 2.9 for this to work :-(\r\n // // Leaving as a stub for now so after we upgrade this breadcrumb is available\r\n // let meta = import.meta;\r\n // sdkSrc = (meta || {}).url;\r\n // isModule = true;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n if (sdkSrc) {\r\n try {\r\n var url = sdkSrc.toLowerCase();\r\n if (url) {\r\n var src = \"\";\r\n for (var idx = 0; idx < cdns.length; idx++) {\r\n if (url.indexOf(cdns[idx]) !== -1) {\r\n src = \"cdn\" + (idx + 1);\r\n if (url.indexOf(\"/scripts/\") === -1) {\r\n if (url.indexOf(\"/next/\") !== -1) {\r\n src += \"-next\";\r\n }\r\n else if (url.indexOf(\"/beta/\") !== -1) {\r\n src += \"-beta\";\r\n }\r\n }\r\n _internalSdkSrc = src + (isModule ? \".mod\" : \"\");\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n})();\r\n//# sourceMappingURL=Initialization.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nvar ConfigurationManager = /** @class */ (function () {\r\n function ConfigurationManager() {\r\n }\r\n ConfigurationManager.getConfig = function (config, field, identifier, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var configValue;\r\n if (identifier && config.extensionConfig && config.extensionConfig[identifier] && !isNullOrUndefined(config.extensionConfig[identifier][field])) {\r\n configValue = config.extensionConfig[identifier][field];\r\n }\r\n else {\r\n configValue = config[field];\r\n }\r\n return !isNullOrUndefined(configValue) ? configValue : defaultValue;\r\n };\r\n return ConfigurationManager;\r\n}());\r\nexport { ConfigurationManager };\r\n//# sourceMappingURL=IConfig.js.map","import { stringToBoolOrDefault, ProcessLegacy } from \"@microsoft/applicationinsights-common\";\r\nimport { proxyAssign, throwError } from \"@microsoft/applicationinsights-core-js\";\r\n// This is an exclude list of properties that should not be updated during initialization\r\n// They include a combination of private and internal property names\r\nvar _ignoreUpdateSnippetProperties = [\r\n \"snippet\", \"getDefaultConfig\", \"_hasLegacyInitializers\", \"_queue\", \"_processLegacyInitializers\"\r\n];\r\n// ToDo: fix properties and measurements once updates are done to common\r\nvar AppInsightsDeprecated = /** @class */ (function () {\r\n function AppInsightsDeprecated(snippet, appInsightsNew) {\r\n this._hasLegacyInitializers = false;\r\n this._queue = [];\r\n this.config = AppInsightsDeprecated.getDefaultConfig(snippet.config);\r\n this.appInsightsNew = appInsightsNew;\r\n this.context = { addTelemetryInitializer: this.addTelemetryInitializers.bind(this) };\r\n }\r\n AppInsightsDeprecated.getDefaultConfig = function (config) {\r\n if (!config) {\r\n config = {};\r\n }\r\n // set default values\r\n config.endpointUrl = config.endpointUrl || \"https://dc.services.visualstudio.com/v2/track\";\r\n config.sessionRenewalMs = 30 * 60 * 1000;\r\n config.sessionExpirationMs = 24 * 60 * 60 * 1000;\r\n config.maxBatchSizeInBytes = config.maxBatchSizeInBytes > 0 ? config.maxBatchSizeInBytes : 102400; // 100kb\r\n config.maxBatchInterval = !isNaN(config.maxBatchInterval) ? config.maxBatchInterval : 15000;\r\n config.enableDebug = stringToBoolOrDefault(config.enableDebug);\r\n config.disableExceptionTracking = stringToBoolOrDefault(config.disableExceptionTracking);\r\n config.disableTelemetry = stringToBoolOrDefault(config.disableTelemetry);\r\n config.verboseLogging = stringToBoolOrDefault(config.verboseLogging);\r\n config.emitLineDelimitedJson = stringToBoolOrDefault(config.emitLineDelimitedJson);\r\n config.diagnosticLogInterval = config.diagnosticLogInterval || 10000;\r\n config.autoTrackPageVisitTime = stringToBoolOrDefault(config.autoTrackPageVisitTime);\r\n if (isNaN(config.samplingPercentage) || config.samplingPercentage <= 0 || config.samplingPercentage >= 100) {\r\n config.samplingPercentage = 100;\r\n }\r\n config.disableAjaxTracking = stringToBoolOrDefault(config.disableAjaxTracking);\r\n config.maxAjaxCallsPerView = !isNaN(config.maxAjaxCallsPerView) ? config.maxAjaxCallsPerView : 500;\r\n config.isBeaconApiDisabled = stringToBoolOrDefault(config.isBeaconApiDisabled, true);\r\n config.disableCorrelationHeaders = stringToBoolOrDefault(config.disableCorrelationHeaders);\r\n config.correlationHeaderExcludedDomains = config.correlationHeaderExcludedDomains || [\r\n \"*.blob.core.windows.net\",\r\n \"*.blob.core.chinacloudapi.cn\",\r\n \"*.blob.core.cloudapi.de\",\r\n \"*.blob.core.usgovcloudapi.net\"\r\n ];\r\n config.disableFlushOnBeforeUnload = stringToBoolOrDefault(config.disableFlushOnBeforeUnload);\r\n config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config.disableFlushOnBeforeUnload);\r\n config.enableSessionStorageBuffer = stringToBoolOrDefault(config.enableSessionStorageBuffer, true);\r\n config.isRetryDisabled = stringToBoolOrDefault(config.isRetryDisabled);\r\n config.isCookieUseDisabled = stringToBoolOrDefault(config.isCookieUseDisabled);\r\n config.isStorageUseDisabled = stringToBoolOrDefault(config.isStorageUseDisabled);\r\n config.isBrowserLinkTrackingEnabled = stringToBoolOrDefault(config.isBrowserLinkTrackingEnabled);\r\n config.enableCorsCorrelation = stringToBoolOrDefault(config.enableCorsCorrelation);\r\n return config;\r\n };\r\n /**\r\n * The array of telemetry initializers to call before sending each telemetry item.\r\n */\r\n AppInsightsDeprecated.prototype.addTelemetryInitializers = function (callBack) {\r\n var _this = this;\r\n // Add initializer to current processing only if there is any old telemetry initializer\r\n if (!this._hasLegacyInitializers) {\r\n this.appInsightsNew.addTelemetryInitializer(function (item) {\r\n _this._processLegacyInitializers(item); // setup call back for each legacy processor\r\n });\r\n this._hasLegacyInitializers = true;\r\n }\r\n this._queue.push(callBack);\r\n };\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n AppInsightsDeprecated.prototype.getCookieMgr = function () {\r\n return this.appInsightsNew.getCookieMgr();\r\n };\r\n AppInsightsDeprecated.prototype.startTrackPage = function (name) {\r\n this.appInsightsNew.startTrackPage(name);\r\n };\r\n AppInsightsDeprecated.prototype.stopTrackPage = function (name, url, properties, measurements) {\r\n this.appInsightsNew.stopTrackPage(name, url, properties); // update\r\n };\r\n AppInsightsDeprecated.prototype.trackPageView = function (name, url, properties, measurements, duration) {\r\n var telemetry = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n // fix for props, measurements, duration\r\n this.appInsightsNew.trackPageView(telemetry);\r\n };\r\n AppInsightsDeprecated.prototype.trackEvent = function (name, properties, measurements) {\r\n this.appInsightsNew.trackEvent({ name: name });\r\n };\r\n AppInsightsDeprecated.prototype.trackDependency = function (id, method, absoluteUrl, pathName, totalTime, success, resultCode) {\r\n this.appInsightsNew.trackDependencyData({\r\n id: id,\r\n target: absoluteUrl,\r\n type: pathName,\r\n duration: totalTime,\r\n properties: { HttpMethod: method },\r\n success: success,\r\n responseCode: resultCode\r\n });\r\n };\r\n AppInsightsDeprecated.prototype.trackException = function (exception, handledAt, properties, measurements, severityLevel) {\r\n this.appInsightsNew.trackException({\r\n exception: exception\r\n });\r\n };\r\n AppInsightsDeprecated.prototype.trackMetric = function (name, average, sampleCount, min, max, properties) {\r\n this.appInsightsNew.trackMetric({ name: name, average: average, sampleCount: sampleCount, min: min, max: max });\r\n };\r\n AppInsightsDeprecated.prototype.trackTrace = function (message, properties, severityLevel) {\r\n this.appInsightsNew.trackTrace({ message: message, severityLevel: severityLevel });\r\n };\r\n AppInsightsDeprecated.prototype.flush = function (async) {\r\n this.appInsightsNew.flush(async);\r\n };\r\n AppInsightsDeprecated.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n this.appInsightsNew.context.user.setAuthenticatedUserContext(authenticatedUserId, accountId, storeInCookie);\r\n };\r\n AppInsightsDeprecated.prototype.clearAuthenticatedUserContext = function () {\r\n this.appInsightsNew.context.user.clearAuthenticatedUserContext();\r\n };\r\n AppInsightsDeprecated.prototype._onerror = function (message, url, lineNumber, columnNumber, error) {\r\n this.appInsightsNew._onerror({ message: message, url: url, lineNumber: lineNumber, columnNumber: columnNumber, error: error });\r\n };\r\n AppInsightsDeprecated.prototype.startTrackEvent = function (name) {\r\n this.appInsightsNew.startTrackEvent(name);\r\n };\r\n AppInsightsDeprecated.prototype.stopTrackEvent = function (name, properties, measurements) {\r\n this.appInsightsNew.stopTrackEvent(name, properties, measurements);\r\n };\r\n AppInsightsDeprecated.prototype.downloadAndSetup = function (config) {\r\n throwError(\"downloadAndSetup not implemented in web SKU\");\r\n };\r\n AppInsightsDeprecated.prototype.updateSnippetDefinitions = function (snippet) {\r\n // apply full appInsights to the global instance\r\n // Note: This must be called before loadAppInsights is called\r\n proxyAssign(snippet, this, function (name) {\r\n // Not excluding names prefixed with \"_\" as we need to proxy some functions like _onError\r\n return name && _ignoreUpdateSnippetProperties.indexOf(name) === -1;\r\n });\r\n };\r\n // note: these are split into methods to enable unit tests\r\n AppInsightsDeprecated.prototype.loadAppInsights = function () {\r\n // initialize global instance of appInsights\r\n // var appInsights = new Microsoft.ApplicationInsights.AppInsights(this.config);\r\n var _this = this;\r\n // implement legacy version of trackPageView for 0.10<\r\n if (this.config[\"iKey\"]) {\r\n var originalTrackPageView_1 = this.trackPageView;\r\n this.trackPageView = function (pagePath, properties, measurements) {\r\n originalTrackPageView_1.apply(_this, [null, pagePath, properties, measurements]);\r\n };\r\n }\r\n // implement legacy pageView interface if it is present in the snippet\r\n var legacyPageView = \"logPageView\";\r\n if (typeof this.snippet[legacyPageView] === \"function\") {\r\n this[legacyPageView] = function (pagePath, properties, measurements) {\r\n _this.trackPageView(null, pagePath, properties, measurements);\r\n };\r\n }\r\n // implement legacy event interface if it is present in the snippet\r\n var legacyEvent = \"logEvent\";\r\n if (typeof this.snippet[legacyEvent] === \"function\") {\r\n this[legacyEvent] = function (name, props, measurements) {\r\n _this.trackEvent(name, props, measurements);\r\n };\r\n }\r\n return this;\r\n };\r\n AppInsightsDeprecated.prototype._processLegacyInitializers = function (item) {\r\n // instead of mapping new to legacy and then back again and repeating in channel, attach callback for channel to call\r\n item.tags[ProcessLegacy] = this._queue;\r\n return item;\r\n };\r\n return AppInsightsDeprecated;\r\n}());\r\nexport { AppInsightsDeprecated };\r\n//# sourceMappingURL=ApplicationInsightsDeprecated.js.map","import { AppInsightsDeprecated } from \"./ApplicationInsightsDeprecated\";\r\nimport { Initialization as ApplicationInsights } from \"./Initialization\";\r\nimport { _legacyCookieMgr } from \"@microsoft/applicationinsights-core-js\";\r\nvar ApplicationInsightsContainer = /** @class */ (function () {\r\n function ApplicationInsightsContainer() {\r\n }\r\n ApplicationInsightsContainer.getAppInsights = function (snippet, version) {\r\n var initialization = new ApplicationInsights(snippet);\r\n var legacyMode = version !== 2.0 ? true : false;\r\n // Side effect is to create, initialize and listen to the CoreUtils._canUseCookies changes\r\n // Called here to support backward compatibility\r\n _legacyCookieMgr();\r\n // Two target scenarios:\r\n // 1. Customer runs v1 snippet + runtime. If customer updates just cdn location to new SDK, it will run in compat mode so old apis work\r\n // 2. Customer updates to new snippet (that uses cdn location to new SDK. This is same as a new customer onboarding\r\n // and all api signatures are expected to map to new SDK. Note new snippet specifies version\r\n if (version === 2.0) {\r\n initialization.updateSnippetDefinitions(snippet);\r\n initialization.loadAppInsights(legacyMode);\r\n return initialization; // default behavior with new snippet\r\n }\r\n else {\r\n var legacy = new AppInsightsDeprecated(snippet, initialization); // target scenario old snippet + updated endpoint\r\n legacy.updateSnippetDefinitions(snippet);\r\n initialization.loadAppInsights(legacyMode);\r\n return legacy;\r\n }\r\n };\r\n return ApplicationInsightsContainer;\r\n}());\r\nexport { ApplicationInsightsContainer };\r\n//# sourceMappingURL=ApplicationInsightsContainer.js.map","import { createContext } from 'react';\n\nexport default createContext();\n","import { useContext } from 'react';\n\nimport ViewContext from '../../ViewContext';\n\nexport default function useViewContext() {\n return useContext(ViewContext);\n}\n","import useViewContext from './internal/useViewContext';\n\nexport default function useIndex() {\n const { index } = useViewContext();\n\n return [index];\n}\n","import { createContext } from 'react';\n\nexport default createContext();\n","import { useContext } from 'react';\n\nimport FunctionContext from '../../FunctionContext';\n\nexport default function useFunctionContext() {\n const context = useContext(FunctionContext);\n\n if (!context) {\n throw new Error('react-film: Hooks can only be used inside the component.');\n }\n\n return context;\n}\n","import useFunctionContext from './internal/useFunctionContext';\n\nexport default function useScrollTo() {\n const { scrollTo } = useFunctionContext();\n\n return scrollTo;\n}\n","import PropTypes from 'prop-types';\nimport React, { useCallback } from 'react';\n\nimport useIndex from './hooks/useIndex';\nimport useScrollTo from './hooks/useScrollTo';\n\nconst Dot = ({ 'aria-label': ariaLabel, itemIndex }) => {\n const [index] = useIndex();\n const scrollTo = useScrollTo();\n\n const checked = index === itemIndex;\n const handleChange = useCallback(() => scrollTo(() => itemIndex), [itemIndex, scrollTo]);\n\n const handleKeyPress = useCallback(\n event => {\n const { keyCode } = event;\n\n // 13 is ENTER, 32 is SPACEBAR.\n // eslint-disable-next-line no-magic-numbers\n if (keyCode === 13 || keyCode === 32) {\n event.preventDefault();\n event.stopPropagation();\n handleChange();\n }\n },\n [handleChange]\n );\n\n return (\n <li className=\"react-film__dot\">\n <input\n aria-label={ariaLabel}\n aria-pressed={checked}\n checked={checked}\n className=\"react-film__dot__input\"\n onChange={handleChange}\n onKeyPress={handleKeyPress}\n role=\"button\"\n type=\"checkbox\"\n />\n <div className=\"react-film__dot__handle\" />\n </li>\n );\n};\n\nDot.defaultProps = {\n 'aria-label': undefined\n};\n\nDot.propTypes = {\n 'aria-label': PropTypes.string,\n itemIndex: PropTypes.number.isRequired\n};\n\nexport default Dot;\n","import { createContext } from 'react';\n\nexport default createContext();\n","import { useContext } from 'react';\n\nimport PropsContext from '../../PropsContext';\n\nexport default function usePropsContext() {\n const context = useContext(PropsContext);\n\n if (!context) {\n throw new Error('react-film: Hooks can only be used inside the component.');\n }\n\n return context;\n}\n","import usePropsContext from './internal/usePropsContext';\n\nexport default function useNumItems() {\n const { numItems } = usePropsContext();\n\n return [numItems];\n}\n","import React from 'react';\n\nimport Dot from './Dot';\nimport useNumItems from './hooks/useNumItems';\n\nconst Dots = () => {\n const [numItems] = useNumItems();\n\n return (\n <ul className=\"react-film__dots\">\n {new Array(numItems).fill().map((_, itemIndex) => (\n /* eslint-disable-next-line react/no-array-index-key */\n <Dot aria-label={itemIndex + 1 + ''} itemIndex={itemIndex} key={itemIndex} />\n ))}\n </ul>\n );\n};\n\nexport default Dots;\n","import { createContext } from 'react';\n\nexport default createContext();\n","import { useContext } from 'react';\n\nimport InternalContext from '../../InternalContext';\n\nexport default function useInternalContext() {\n const context = useContext(InternalContext);\n\n if (!context) {\n throw new Error('react-film: Hooks can only be used inside the component.');\n }\n\n return context;\n}\n","import { useCallback } from 'react';\n\nimport useInternalContext from './internal/useInternalContext';\n\nexport default function useItemContainerCallbackRef() {\n const { itemContainerCallbackRefWithSubscribe } = useInternalContext();\n\n return useCallback(\n element => itemContainerCallbackRefWithSubscribe(element),\n [itemContainerCallbackRefWithSubscribe]\n );\n}\n","import { useCallback } from 'react';\n\nimport useInternalContext from './internal/useInternalContext';\n\nexport default function useScrollableCallbackRef() {\n const { scrollableCallbackRefWithSubscribe } = useInternalContext();\n\n return useCallback(element => scrollableCallbackRefWithSubscribe(element), [scrollableCallbackRefWithSubscribe]);\n}\n","import PropTypes from 'prop-types';\nimport React, { Children } from 'react';\n\nimport useItemContainerCallbackRef from './hooks/useItemContainerCallbackRef';\nimport useScrollableCallbackRef from './hooks/useScrollableCallbackRef';\n\nconst Filmstrip = ({ children }) => {\n const itemContainerCallbackRef = useItemContainerCallbackRef();\n const scrollableCallbackRef = useScrollableCallbackRef();\n\n return (\n <div className=\"react-film__filmstrip\" ref={scrollableCallbackRef}>\n <ul className=\"react-film__filmstrip__list\" ref={itemContainerCallbackRef}>\n {Children.map(children, child => (\n <li className=\"react-film__filmstrip__item\">{child}</li>\n ))}\n </ul>\n </div>\n );\n};\n\nFilmstrip.defaultProps = {\n children: undefined\n};\n\nFilmstrip.propTypes = {\n children: PropTypes.any\n};\n\nexport default Filmstrip;\n","import usePropsContext from './internal/usePropsContext';\n\nexport default function useDir() {\n const { dir } = usePropsContext();\n\n return [dir];\n}\n","import useViewContext from './internal/useViewContext';\n\nexport default function useScrollBarPercentage() {\n const { scrollBarPercentage } = useViewContext();\n\n return [scrollBarPercentage];\n}\n","import useFunctionContext from './internal/useFunctionContext';\n\nexport default function useScrollOneLeft() {\n const { scrollOneLeft } = useFunctionContext();\n\n return scrollOneLeft;\n}\n","import useFunctionContext from './internal/useFunctionContext';\n\nexport default function useScrollOneRight() {\n const { scrollOneRight } = useFunctionContext();\n\n return scrollOneRight;\n}\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useRef } from 'react';\n\nimport useDir from './hooks/useDir';\nimport useScrollBarPercentage from './hooks/useScrollBarPercentage';\nimport useScrollOneLeft from './hooks/useScrollOneLeft';\nimport useScrollOneRight from './hooks/useScrollOneRight';\n\nconst Flipper = ({ 'aria-label': ariaLabel, blurFocusOnClick, children, mode }) => {\n const [dir] = useDir();\n const [scrollBarPercentage] = useScrollBarPercentage();\n const buttonRef = useRef();\n const left = mode === 'left';\n const scrollOneLeft = useScrollOneLeft();\n const scrollOneRight = useScrollOneRight();\n\n const handleClick = useCallback(() => {\n left ? scrollOneLeft() : scrollOneRight();\n blurFocusOnClick && buttonRef.current && buttonRef.current.blur();\n }, [blurFocusOnClick, buttonRef, left, scrollOneLeft, scrollOneRight]);\n\n const handleKeyDown = useCallback(\n event => {\n const { key } = event;\n\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n left ? scrollOneLeft() : scrollOneRight();\n }\n },\n [left, scrollOneLeft, scrollOneRight]\n );\n\n let hide;\n\n if (dir === 'rtl') {\n if (left) {\n hide = scrollBarPercentage === '100%' || scrollBarPercentage === '-100%';\n } else {\n hide = scrollBarPercentage === '0%';\n }\n } else {\n if (left) {\n hide = scrollBarPercentage === '0%';\n } else {\n hide = scrollBarPercentage === '100%';\n }\n }\n\n return (\n <button\n aria-label={ariaLabel || (left ? 'left' : 'right')}\n className={classNames('react-film__flipper', 'react-film__main__overlay', {\n 'react-film__flipper--left': left,\n 'react-film__flipper--right': !left\n })}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={buttonRef}\n type=\"button\"\n >\n <div\n className={classNames('react-film__flipper__slider', 'react-film__main__slider', {\n 'react-film__main__slider--hide': hide,\n 'react-film__main__slider--left': left,\n 'react-film__main__slider--right': !left\n })}\n >\n <div className=\"react-film__flipper__body\">{children}</div>\n </div>\n </button>\n );\n};\n\nFlipper.defaultProps = {\n 'aria-label': undefined,\n blurFocusOnClick: false,\n children: undefined,\n mode: 'left'\n};\n\nFlipper.propTypes = {\n 'aria-label': PropTypes.string,\n blurFocusOnClick: PropTypes.bool,\n children: PropTypes.any,\n mode: PropTypes.oneOf(['left', 'right'])\n};\n\nexport default Flipper;\n","const { userAgent } = navigator;\n\nconst chromium = !/Edge\\//u.test(userAgent) && /Chrome\\//u.test(userAgent);\nconst edgeAnaheim = /Edg\\//u.test(userAgent);\nconst edgeUWP = /Edge\\//u.test(userAgent);\nconst firefox = /Firefox\\//u.test(userAgent);\nconst internetExplorer = /Trident\\/7.0/u.test(userAgent);\n\nconst chrome = chromium && !edgeAnaheim;\nconst safari = !(chrome || edgeUWP || internetExplorer || firefox);\n\nexport { chrome, chromium, edgeAnaheim, edgeUWP, firefox, internetExplorer, safari };\n","import useViewContext from './internal/useViewContext';\n\nexport default function useScrollBarWidth() {\n const { scrollBarWidth } = useViewContext();\n\n return [scrollBarWidth];\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [1, 100] }] */\n\nimport React from 'react';\n\nimport * as browser from './browser';\nimport useDir from './hooks/useDir';\nimport useScrollBarPercentage from './hooks/useScrollBarPercentage';\nimport useScrollBarWidth from './hooks/useScrollBarWidth';\n\nconst ScrollBar = () => {\n const [dir] = useDir();\n const [scrollBarPercentage] = useScrollBarPercentage();\n const [scrollBarWidth] = useScrollBarWidth();\n\n return (\n <div className=\"react-film__scroll-bar react-film__main__slider react-film__main__slider--bottom\">\n <div\n className=\"react-film__scroll-bar__handle\"\n style={{\n ...(dir === 'rtl'\n ? browser.edgeUWP || browser.internetExplorer\n ? {\n marginRight: `${(1 - parseFloat(scrollBarWidth) / 100) * parseFloat(scrollBarPercentage)}%`\n }\n : {\n marginRight: `${(parseFloat(scrollBarWidth) / 100 - 1) * parseFloat(scrollBarPercentage)}%`\n }\n : {\n marginLeft: `${(1 - parseFloat(scrollBarWidth) / 100) * parseFloat(scrollBarPercentage)}%`\n }),\n width: scrollBarWidth\n }}\n />\n </div>\n );\n};\n\nexport default ScrollBar;\n","import usePropsContext from './internal/usePropsContext';\n\nexport default function useHeight() {\n const { height } = usePropsContext();\n\n return [height];\n}\n","import useViewContext from './internal/useViewContext';\n\nexport default function useScrolling() {\n const { scrolling } = useViewContext();\n\n return [scrolling];\n}\n","import usePropsContext from './internal/usePropsContext';\n\nexport default function useStyleOptions() {\n const { styleOptions } = usePropsContext();\n\n return [styleOptions];\n}\n","import usePropsContext from './internal/usePropsContext';\n\nexport default function useStyleSetClassNames() {\n const { styleSetClassNames } = usePropsContext();\n\n return [styleSetClassNames];\n}\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\n\nimport Dots from './Dots';\nimport Filmstrip from './Filmstrip';\nimport Flipper from './Flipper';\nimport ScrollBar from './ScrollBar';\nimport useDir from './hooks/useDir';\nimport useHeight from './hooks/useHeight';\nimport useNumItems from './hooks/useNumItems';\nimport useScrollBarWidth from './hooks/useScrollBarWidth';\nimport useScrolling from './hooks/useScrolling';\nimport useStyleOptions from './hooks/useStyleOptions';\nimport useStyleSetClassNames from './hooks/useStyleSetClassNames';\n\nconst BasicFilm = ({ children, className }) => {\n const [dir] = useDir();\n const [height] = useHeight();\n const [numItems] = useNumItems();\n const [scrollBarWidth] = useScrollBarWidth();\n const [scrolling] = useScrolling();\n const [{ root: rootClassName }] = useStyleSetClassNames();\n const [\n {\n flipperBlurFocusOnClick,\n leftFlipperAriaLabel,\n leftFlipperText,\n rightFlipperAriaLabel,\n rightFlipperText,\n showDots,\n showFlipper,\n showScrollBar\n }\n ] = useStyleOptions();\n\n const contentStyle = useMemo(() => ({ height }), [height]);\n\n return (\n <div className={classNames(rootClassName, (className || '') + '')} dir={dir}>\n <div\n className={classNames('react-film__main', { 'react-film__main--scrolling': scrolling })}\n style={contentStyle}\n >\n {!!numItems && scrollBarWidth !== '100%' && !!showFlipper && (\n <Flipper aria-label={leftFlipperAriaLabel} blurFocusOnClick={flipperBlurFocusOnClick} mode=\"left\">\n {leftFlipperText}\n </Flipper>\n )}\n <Filmstrip>{children}</Filmstrip>\n {!!numItems && scrollBarWidth !== '100%' && !!showFlipper && (\n <Flipper aria-label={rightFlipperAriaLabel} blurFocusOnClick={flipperBlurFocusOnClick} mode=\"right\">\n {rightFlipperText}\n </Flipper>\n )}\n {!!numItems && scrollBarWidth !== '100%' && !!showScrollBar && <ScrollBar />}\n </div>\n {!!numItems && scrollBarWidth !== '100%' && !!showDots && <Dots />}\n </div>\n );\n};\n\n// TODO: Move from styleSet to styleSheet.\n\nBasicFilm.defaultProps = {\n children: undefined,\n className: undefined\n};\n\nBasicFilm.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string\n};\n\nexport default BasicFilm;\n","import { useCallback } from 'react';\n\nimport useScrolling from '../useScrolling';\nimport useScrollTo from '../useScrollTo';\nimport useStyleOptions from '../useStyleOptions';\nimport useTimeout from './useTimeout';\n\nexport default function useAutoCenter() {\n const [{ autoCenter }] = useStyleOptions();\n const [scrolling] = useScrolling();\n const scrollTo = useScrollTo();\n\n const handleTrigger = useCallback(() => scrollTo(({ index }) => index), [scrollTo]);\n\n useTimeout(!autoCenter || scrolling ? undefined : handleTrigger, 0);\n}\n","import { useEffect } from 'react';\n\nexport default function useTimeout(onTrigger, duration) {\n useEffect(() => {\n if (onTrigger) {\n const timeout = setTimeout(onTrigger, duration);\n\n return () => clearTimeout(timeout);\n }\n }, [duration, onTrigger]);\n}\n","import useAutoCenter from './hooks/internal/useAutoCenter';\n\nconst AutoCenter = () => {\n useAutoCenter();\n\n return false;\n};\n\nexport default AutoCenter;\n","const DOT_BOX_SIZE = 20;\nconst DOT_SIZE = 6;\n\nconst FLIPPER_BOX_WIDTH = 60;\nconst FLIPPER_SIZE = 40;\n\nconst SCROLL_BAR_HEIGHT = 8;\nconst SCROLL_BAR_MARGIN = 4;\n\nexport default function normalizeStyleOptions({\n autoCenter,\n autoHide,\n autoHideFlipperOnEdge,\n cursor,\n dir,\n dotBoxSize,\n dotSize,\n flipperBlurFocusOnClick,\n flipperBoxWidth,\n flipperSize,\n leftFlipperAriaLabel,\n leftFlipperText,\n rightFlipperAriaLabel,\n rightFlipperText,\n scrollBarHeight,\n scrollBarMargin,\n showDots,\n showFlipper,\n showScrollBar\n} = {}) {\n const rtl = dir === 'rtl';\n\n return {\n autoCenter: autoCenter !== false,\n autoHide: autoHide !== false,\n autoHideFlipperOnEdge: autoHideFlipperOnEdge !== false,\n cursor: typeof cursor === 'undefined' ? 'pointer' : cursor,\n dotBoxSize: typeof dotBoxSize === 'number' ? dotBoxSize : DOT_BOX_SIZE,\n dotSize: typeof dotSize === 'number' ? dotSize : DOT_SIZE,\n flipperBlurFocusOnClick: flipperBlurFocusOnClick === true,\n flipperBoxWidth: typeof flipperBoxWidth === 'number' ? flipperBoxWidth : FLIPPER_BOX_WIDTH,\n flipperSize: typeof flipperSize === 'number' ? flipperSize : FLIPPER_SIZE,\n leftFlipperAriaLabel: leftFlipperAriaLabel || 'left',\n leftFlipperText: leftFlipperText || (rtl ? '>' : '<'),\n rightFlipperAriaLabel: rightFlipperAriaLabel || 'right',\n rightFlipperText: rightFlipperText || (rtl ? '<' : '>'),\n scrollBarHeight: typeof scrollBarHeight === 'number' ? scrollBarHeight : SCROLL_BAR_HEIGHT,\n scrollBarMargin: typeof scrollBarMargin === 'number' ? scrollBarMargin : SCROLL_BAR_MARGIN,\n showDots: showDots !== false,\n showFlipper: showFlipper !== false,\n showScrollBar: showScrollBar !== false\n };\n}\n","/* eslint no-magic-numbers: \"off\" */\n\nimport patchStyleOptions from './patchStyleOptions';\n\nconst createDotsStyle = ({ dotBoxSize }) => ({\n '& .react-film__dots': {\n alignItems: 'center',\n bottom: 0,\n display: 'flex',\n height: dotBoxSize,\n justifyContent: 'center',\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n width: '100%'\n }\n});\n\nconst createDotStyle = ({ cursor, dotBoxSize, dotSize }) => ({\n '& .react-film__dot': {\n alignItems: 'center',\n display: 'flex',\n height: dotBoxSize,\n justifyContent: 'center',\n position: 'relative',\n width: dotBoxSize,\n\n '& .react-film__dot__input': {\n ...(cursor ? { cursor } : {}),\n\n height: '100%',\n left: 0,\n margin: 0,\n opacity: 0,\n position: 'absolute',\n top: 0,\n touchAction: 'none',\n userSelect: 'none',\n width: '100%'\n },\n\n '& .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .2)',\n borderRadius: dotSize / 2,\n height: dotSize,\n width: dotSize\n },\n\n '&:hover .react-film__dot__handle, & .react-film__dot__input:focus + .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .4)'\n },\n\n '& .react-film__dot__input:active + .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .8)'\n },\n\n '& .react-film__dot__input:checked:not(:active) + .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .6)'\n }\n }\n});\n\nconst createFlipperStyle = ({ cursor, flipperBoxWidth, flipperSize }) => ({\n '& .react-film__flipper': {\n ...(cursor ? { cursor } : {}),\n\n background: 'Transparent',\n border: 0,\n height: '100%',\n outline: 0,\n overflow: 'hidden',\n position: 'absolute',\n top: 0,\n touchAction: 'none',\n userSelect: 'none',\n width: flipperBoxWidth,\n zIndex: 1,\n\n '&.react-film__flipper--left': {\n left: 0,\n\n '& .react-film__flipper__slider': {\n left: 0\n }\n },\n\n '&.react-film__flipper--right': {\n right: 0,\n\n '& .react-film__flipper__slider': {\n right: 0\n }\n },\n\n '& .react-film__flipper__slider': {\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n top: 0,\n width: '100%'\n },\n\n '& .react-film__flipper__body': {\n backgroundColor: 'rgba(0, 0, 0, .6)',\n borderRadius: '50%',\n color: 'rgba(255, 255, 255, .6)',\n fontFamily: ['Consolas', 'monospace'].map(font => `'${font}'`).join(', '),\n fontSize: 16,\n height: flipperSize,\n lineHeight: `${flipperSize}px`,\n overflow: 'hidden',\n position: 'relative',\n transitionDuration: '100ms',\n transitionProperty: 'background-color',\n width: flipperSize\n },\n\n '&:hover, &:focus': {\n '& .react-film__flipper__body': {\n backgroundColor: 'rgba(0, 0, 0, .8)',\n color: 'rgba(255, 255, 255, .8)',\n transitionDuration: 0\n }\n },\n\n '&:active .react-film__flipper__body': {\n backgroundColor: 'Black',\n color: 'White',\n transitionDuration: 0\n }\n }\n});\n\nconst createFilmstripStyle = () => ({\n '& .react-film__filmstrip': {\n MsOverflowStyle: 'none',\n overflowX: 'scroll',\n overflowY: 'hidden',\n overscrollBehaviorX: 'contain',\n position: 'relative',\n touchAction: 'manipulation',\n zIndex: 0,\n\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n\n '& .react-film__filmstrip__list': {\n display: 'flex',\n listStyleType: 'none',\n margin: 0,\n padding: 0\n }\n }\n});\n\nconst createScrollBarStyle = ({ autoHide, scrollBarHeight, scrollBarMargin }) => ({\n '& .react-film__scroll-bar': {\n bottom: autoHide ? -30 : 0,\n boxSizing: 'border-box',\n padding: scrollBarMargin,\n position: 'absolute',\n transitionDelay: '1s',\n transitionDuration: '300ms',\n transitionProperty: 'bottom',\n width: '100%',\n\n '& .react-film__scroll-bar__handle': {\n backdropFilter: 'blur(4px)',\n background: 'rgba(255, 255, 255, .4)',\n borderRadius: scrollBarHeight / 2,\n height: scrollBarHeight\n }\n }\n});\n\nconst createRootStyle = ({ autoHide, autoHideFlipperOnEdge, flipperBoxWidth, flipperSize }) => ({\n '& .react-film__main': {\n overflow: 'hidden',\n position: 'relative',\n\n ...(autoHide\n ? {\n '&:hover, &.react-film__main--scrolling': {\n '& .react-film__main__slider': {\n transitionDelay: '0s',\n\n '&.react-film__main__slider--bottom': {\n bottom: 0\n },\n\n '&.react-film__main__slider--left': {\n [autoHideFlipperOnEdge ? '&:not(.react-film__main__slider--hide)' : '&']: {\n left: 0\n }\n },\n\n '&.react-film__main__slider--right': {\n [autoHideFlipperOnEdge ? '&:not(.react-film__main__slider--hide)' : '&']: {\n right: 0\n }\n }\n }\n },\n\n '& .react-film__main__overlay:focus .react-film__main__slider:not(.react-film__main__slider--hide)': {\n transitionDelay: '0s',\n\n '&.react-film__main__slider--left': {\n left: 0\n },\n\n '&.react-film__main__slider--right': {\n right: 0\n }\n },\n\n '& .react-film__main__slider': {\n transitionDelay: '1s',\n transitionDuration: '300ms',\n\n '&.react-film__main__slider--left': {\n left: (flipperBoxWidth + flipperSize) / -2,\n transitionProperty: 'left'\n },\n\n '&.react-film__main__slider--right': {\n right: (flipperBoxWidth + flipperSize) / -2,\n transitionProperty: 'right'\n }\n }\n }\n : {})\n }\n});\n\nexport default function createBasicStyleSet(styleOptions) {\n styleOptions = patchStyleOptions(styleOptions);\n\n return {\n root: {\n ...createDotsStyle(styleOptions),\n ...createDotStyle(styleOptions),\n ...createFilmstripStyle(styleOptions),\n ...createFlipperStyle(styleOptions),\n ...createRootStyle(styleOptions),\n ...createScrollBarStyle(styleOptions)\n }\n };\n}\n","/* eslint no-magic-numbers: \"off\" */\n\nimport * as browser from './browser';\nimport best from './util/best';\n\nexport default function getView(dir, scrollable, itemContainer, scrollingTo) {\n const rtl = dir === 'rtl';\n\n if (itemContainer && scrollable) {\n const scrollLeft = scrollingTo || scrollable.scrollLeft;\n const trueScrollLeft = rtl && (browser.edgeUWP || browser.internetExplorer) ? -scrollLeft : scrollLeft;\n const items = itemContainer.children; // This will enumerate <li> inside <FilmStrip>\n const scrollCenter = trueScrollLeft + scrollable.offsetWidth / 2;\n const index = best([].slice.call(items), item => {\n const offsetCenter = item.offsetLeft + item.offsetWidth / 2;\n\n return 1 / Math.abs(scrollCenter - offsetCenter);\n });\n\n if (~index) {\n const item = items[index];\n\n const offsetCenter = item.offsetLeft + item.offsetWidth / 2;\n let indexFraction = index + ((scrollCenter - offsetCenter) / item.offsetWidth) * (rtl ? -1 : 1);\n\n // We \"fix\" indexFraction if the viewport is at the start/end of the content\n // This is to simplify code that use Math.round(indexFraction) to find the scrollable index\n // if (scrollLeft === 0) {\n // indexFraction = 0;\n // } else if (scrollLeft >= scrollable.scrollWidth - scrollable.offsetWidth) {\n // indexFraction = items.length - 1;\n // } else if (indexFraction % 1 > .99 || indexFraction % 1 < .01) {\n // indexFraction = Math.round(indexFraction);\n // }\n\n if (indexFraction % 1 > 0.99 || indexFraction % 1 < 0.01) {\n indexFraction = Math.round(indexFraction);\n }\n\n let selectedIndex;\n\n if (Math.abs(trueScrollLeft) < 1) {\n selectedIndex = 0;\n } else if (\n rtl\n ? trueScrollLeft <= scrollable.offsetWidth - scrollable.scrollWidth\n : trueScrollLeft >= scrollable.scrollWidth - scrollable.offsetWidth\n ) {\n selectedIndex = items.length - 1;\n } else {\n selectedIndex = Math.round(indexFraction);\n }\n\n return {\n index: selectedIndex,\n indexFraction\n };\n }\n }\n}\n","export default function best(array, scorer) {\n return array.reduce(\n (best, item, index) => {\n const score = scorer.call(array, item, index);\n\n if (score > best.score) {\n return { index, score };\n }\n\n return best;\n },\n { index: -1, score: -Infinity }\n ).index;\n}\n","import { createContext } from 'react';\n\nexport default createContext();\n","import { useEffect } from 'react';\n\nfunction step(from, to, stepper, index) {\n let next = from;\n\n for (let i = 0; i < index; i++) {\n next = stepper(next, to);\n }\n\n return next;\n}\n\nfunction squareStepper(current, to) {\n const sign = Math.sign(to - current);\n const step = Math.sqrt(Math.abs(to - current));\n const next = current + step * sign;\n\n if (sign > 0) {\n return Math.min(to, next);\n }\n\n return Math.max(to, next);\n}\n\nexport default function useAnimateScrollLeft(element, to, onEnd) {\n useEffect(() => {\n if (element) {\n const start = Date.now();\n\n let animator;\n\n const animate = from => {\n animator = requestAnimationFrame(() => {\n // eslint-disable-next-line no-magic-numbers\n let nextValue = step(from, to, squareStepper, (Date.now() - start) / 5);\n\n // eslint-disable-next-line no-magic-numbers\n if (Math.abs(to - nextValue) < 0.5) {\n nextValue = to;\n }\n\n element.scrollLeft = nextValue;\n\n if (to === nextValue) {\n onEnd && onEnd(true);\n } else {\n animate(from);\n }\n });\n };\n\n animate(element.scrollLeft);\n\n return () => cancelAnimationFrame(animator);\n }\n }, [element, to, onEnd]);\n}\n","import { useMemo } from 'react';\n\nconst SUBSCRIBER_LIMIT = 10;\n\nexport default function useCallbackRefWithSubscribe() {\n return useMemo(() => {\n const subscriptions = [];\n\n const callbackRef = current => {\n callbackRef.current = current;\n\n subscriptions.forEach(subscription => {\n subscription.cleanup && subscription.cleanup();\n subscription.cleanup = subscription.callback(current);\n });\n };\n\n callbackRef.subscribe = callback => {\n const subscription = { callback };\n\n subscriptions.push(subscription);\n\n if (subscriptions.length >= SUBSCRIBER_LIMIT) {\n console.warn(\n `useSubscribe: Reaching maximum limit of subscribers (${SUBSCRIBER_LIMIT}), please make sure your code did clean up properly.`\n );\n }\n\n subscription.cleanup = callback(callbackRef.current);\n\n return () => {\n subscription.cleanup && subscription.cleanup();\n\n const index = subscriptions.indexOf(subscription);\n\n ~index && subscriptions.splice(index, 1);\n };\n };\n\n return callbackRef;\n }, []);\n}\n","function later(fn, interval) {\n if (interval > 0) {\n return setTimeout(fn, interval);\n }\n\n fn();\n}\n\nexport default function (fn, interval) {\n let last = 0;\n let timeout;\n\n return function (...args) {\n timeout ||\n (timeout = later(() => {\n timeout = null;\n last = Date.now();\n fn(...args);\n }, interval + last - Date.now()));\n };\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3] }] */\n\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport Context from './Context';\nimport usePrevious from './usePrevious';\nimport useRefFrom from './useRefFrom';\nimport vendorPrefix from './vendorPrefix';\n\nfunction applyAll(...fns) {\n return function () {\n // eslint-disable-next-line no-invalid-this, prefer-rest-params\n fns.forEach(fn => fn.apply(this, arguments));\n };\n}\n\nfunction recognitionAbortable(recognition) {\n return !!(recognition && typeof recognition.abort === 'function');\n}\n\nconst Composer = ({\n children,\n extra,\n grammar,\n lang,\n onDictate,\n onError,\n onProgress,\n onRawEvent,\n speechGrammarList,\n speechRecognition,\n started\n}) => {\n const [readyState, setReadyState] = useState(0);\n const emitDictateOnEndRef = useRef(false);\n const extraRef = useRefFrom(extra);\n const grammarRef = useRefFrom(grammar);\n const langRef = useRefFrom(lang);\n const notAllowedRef = useRef(false);\n const onDictateRef = useRefFrom(onDictate);\n const onErrorRef = useRefFrom(onError);\n const onProgressRef = useRefFrom(onProgress);\n const onRawEventRef = useRefFrom(onRawEvent);\n const prevSpeechRecognition = usePrevious(speechRecognition);\n const recognitionRef = useRef();\n const speechGrammarListRef = useRefFrom(speechGrammarList);\n const speechRecognitionRef = useRefFrom(speechRecognition);\n\n // If \"speechRecognition\" ponyfill changed, reset the \"notAllowed\" flag.\n if (prevSpeechRecognition !== speechRecognition) {\n notAllowedRef.current = false;\n }\n\n const handleAudioEnd = useCallback(\n ({ target }) => target === recognitionRef.current && setReadyState(3),\n [recognitionRef, setReadyState]\n );\n\n const handleAudioStart = useCallback(\n ({ target }) => {\n if (target !== recognitionRef.current) {\n return;\n }\n\n setReadyState(2);\n\n // Web Speech API does not emit \"result\" when nothing is heard, and Chrome does not emit \"nomatch\" event.\n // Because we emitted onProgress, we should emit \"dictate\" if not error, so they works in pair.\n emitDictateOnEndRef.current = true;\n onProgressRef.current && onProgressRef.current({ abortable: recognitionAbortable(target), type: 'progress' });\n },\n [emitDictateOnEndRef, onProgressRef, recognitionRef, setReadyState]\n );\n\n const handleEnd = useCallback(\n ({ target }) => {\n if (target !== recognitionRef.current) {\n return;\n }\n\n recognitionRef.current = undefined;\n setReadyState(0);\n\n if (emitDictateOnEndRef.current) {\n onDictateRef.current && onDictateRef.current({ type: 'dictate' });\n emitDictateOnEndRef.current = false;\n }\n },\n [emitDictateOnEndRef, onDictateRef, recognitionRef, setReadyState]\n );\n\n const handleError = useCallback(\n event => {\n if (event.target !== recognitionRef.current) {\n return;\n }\n\n // Error out, no need to emit \"dictate\"\n emitDictateOnEndRef.current = false;\n recognitionRef.current = undefined;\n\n if (event.error === 'not-allowed') {\n notAllowedRef.current = true;\n }\n\n setReadyState(0);\n\n onErrorRef.current && onErrorRef.current(event);\n },\n [emitDictateOnEndRef, onErrorRef, notAllowedRef, recognitionRef, setReadyState]\n );\n\n const handleRawEvent = useCallback(\n event => {\n if (event.target !== recognitionRef.current) {\n return;\n }\n\n onRawEventRef.current && onRawEventRef.current(event);\n },\n [onRawEventRef, recognitionRef]\n );\n\n const handleResult = useCallback(\n ({ results: rawResults, target }) => {\n if (target !== recognitionRef.current) {\n return;\n }\n\n if (rawResults.length) {\n const results = [].map.call(rawResults, alts => {\n // Destructuring breaks Angular due to a bug in Zone.js.\n // eslint-disable-next-line prefer-destructuring\n const firstAlt = alts[0];\n\n return {\n confidence: firstAlt.confidence,\n transcript: firstAlt.transcript\n };\n });\n\n // Destructuring breaks Angular due to a bug in Zone.js.\n // eslint-disable-next-line prefer-destructuring\n const first = rawResults[0];\n\n if (first.isFinal) {\n // After \"onDictate\" callback, the caller should be able to set \"started\" to false on an unabortable recognition.\n // TODO: Add test for fortification.\n recognitionRef.current = undefined;\n setReadyState(0);\n\n onDictateRef.current && onDictateRef.current({ result: results[0], type: 'dictate' });\n } else {\n onProgressRef.current &&\n onProgressRef.current({ abortable: recognitionAbortable(target), results, type: 'progress' });\n }\n }\n },\n [onDictateRef, onProgressRef, recognitionRef, setReadyState]\n );\n\n const handleStart = useCallback(\n ({ target }) => target === recognitionRef.current && setReadyState(1),\n [recognitionRef, setReadyState]\n );\n\n useEffect(() => {\n if (started) {\n if (!speechRecognitionRef.current || notAllowedRef.current) {\n throw new Error('Speech recognition is not supported');\n }\n\n const grammars = speechGrammarListRef.current && grammarRef.current && new speechGrammarListRef.current();\n const recognition = (recognitionRef.current = new speechRecognitionRef.current());\n\n if (grammars) {\n grammars.addFromString(grammarRef.current, 1);\n\n recognition.grammars = grammars;\n }\n\n recognition.lang = langRef.current;\n recognition.interimResults = true;\n recognition.onaudioend = applyAll(handleAudioEnd, handleRawEvent);\n recognition.onaudiostart = applyAll(handleAudioStart, handleRawEvent);\n recognition.onend = applyAll(handleEnd, handleRawEvent);\n recognition.onerror = applyAll(handleError, handleRawEvent);\n recognition.onnomatch = handleRawEvent;\n recognition.onresult = applyAll(handleResult, handleRawEvent);\n recognition.onsoundend = handleRawEvent;\n recognition.onsoundstart = handleRawEvent;\n recognition.onspeechend = handleRawEvent;\n recognition.onspeechstart = handleRawEvent;\n recognition.onstart = applyAll(handleStart, handleRawEvent);\n\n const { current: extra } = extraRef;\n\n extra &&\n Object.entries(extra).forEach(([key, value]) => {\n if (key !== 'constructor' && key !== 'prototype' && key !== '__proto__') {\n recognition[key] = value;\n }\n });\n\n recognition.start();\n }\n\n return () => {\n const { current: recognition } = recognitionRef;\n\n if (recognition) {\n if (recognitionAbortable(recognition)) {\n recognition.abort();\n } else {\n throw new Error('Failed to stop recognition while the current one is ongoing and is not abortable.');\n }\n }\n };\n }, [\n extraRef,\n grammarRef,\n handleAudioEnd,\n handleAudioStart,\n handleEnd,\n handleError,\n handleRawEvent,\n handleResult,\n handleStart,\n langRef,\n notAllowedRef,\n recognitionRef,\n speechGrammarListRef,\n speechRecognitionRef,\n started\n ]);\n\n const abortable = recognitionAbortable(recognitionRef.current) && readyState === 2;\n const supported = !!speechRecognition && !notAllowedRef.current;\n\n const context = useMemo(\n () => ({\n abortable,\n readyState,\n supported\n }),\n [abortable, readyState, supported]\n );\n\n return (\n <Context.Provider value={context}>\n <Context.Consumer>{context => (typeof children === 'function' ? children(context) : children)}</Context.Consumer>\n </Context.Provider>\n );\n};\n\nComposer.defaultProps = {\n children: undefined,\n extra: undefined,\n grammar: undefined,\n lang: undefined,\n onDictate: undefined,\n onError: undefined,\n onProgress: undefined,\n onRawEvent: undefined,\n speechGrammarList: navigator.mediaDevices && navigator.mediaDevices.getUserMedia && vendorPrefix('SpeechGrammarList'),\n speechRecognition: navigator.mediaDevices && navigator.mediaDevices.getUserMedia && vendorPrefix('SpeechRecognition'),\n started: undefined\n};\n\nComposer.propTypes = {\n children: PropTypes.any,\n extra: PropTypes.any,\n grammar: PropTypes.string,\n lang: PropTypes.string,\n onDictate: PropTypes.func,\n onError: PropTypes.func,\n onProgress: PropTypes.func,\n onRawEvent: PropTypes.func,\n speechGrammarList: PropTypes.any,\n speechRecognition: PropTypes.any,\n started: PropTypes.any\n};\n\nexport default Composer;\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 2, 5, 26, 65] }] */\n\nimport random from 'math-random';\n\nexport default function useCSSKey() {\n return random()\n .toString(26)\n .substr(2, 5)\n .replace(/\\d/gu, value => String.fromCharCode(value.charCodeAt(0) + 65));\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 100] }] */\n\nimport memoize from 'memoize-one';\nimport { useEffect } from 'react';\n\nimport debounce from '../../util/debounce';\n\nfunction sleepZero() {\n return new Promise(resolve => setTimeout(() => resolve()));\n}\n\nexport default function useObserveScrollLeft(callbackRefWithSubscribe, observer) {\n useEffect(\n () =>\n callbackRefWithSubscribe.subscribe(current => {\n if (!current) {\n return;\n }\n\n const memoizedEmitValue = memoize(\n (initial, fraction, width) => observer && observer({ initial, fraction, width })\n );\n\n const emitValue = initial => {\n const { offsetWidth, scrollLeft, scrollWidth } = current;\n\n memoizedEmitValue(\n initial,\n `${scrollWidth === offsetWidth ? 0 : (scrollLeft / (scrollWidth - offsetWidth)) * 100}%`,\n `${(offsetWidth / scrollWidth) * 100}%`\n );\n };\n\n const handleScroll = () => emitValue(false);\n\n const handlePointerOver = debounce(() => {\n // We need to send \"onScroll\" because \"scrollWidth\" might have changed\n // For example, the container resized, the scroll width will be incorrect\n // We will debounce to prevent \"pointerOver\" calculating too often\n // We will memoize to prevent firing unnecessary \"onScroll\"\n emitValue(false);\n });\n\n current.addEventListener('pointerover', handlePointerOver, { passive: true });\n current.addEventListener('scroll', handleScroll, { passive: true });\n\n // eslint-disable-next-line wrap-iife\n (async function () {\n if (current.scrollWidth === current.offsetWidth) {\n // HACK: Chrome 66 will initially say scrollWidth equals to offsetWidth, until some time later\n await sleepZero();\n }\n\n emitValue(true);\n })();\n\n return () => {\n current.removeEventListener('pointerover', handlePointerOver);\n current.removeEventListener('scroll', handleScroll);\n };\n }),\n [callbackRefWithSubscribe, observer]\n );\n}\n","import * as browser from './browser';\n\nexport default function computeScrollLeft(dir, scrollable, itemContainer, index) {\n const rtl = dir === 'rtl';\n\n if (itemContainer && scrollable) {\n const items = itemContainer.children; // This will enumerate <li> inside <FilmStrip>\n const item = items[Math.max(0, Math.min(items.length - 1, index))];\n\n if (item) {\n if (scrollable.offsetWidth === scrollable.scrollWidth) {\n return 0;\n }\n\n // eslint-disable-next-line no-magic-numbers\n let result = item.offsetLeft + (item.offsetWidth - scrollable.offsetWidth) / 2;\n\n if (rtl) {\n result = Math.min(result, 0);\n result = Math.max(result, scrollable.offsetWidth - scrollable.scrollWidth);\n } else {\n result = Math.max(result, 0);\n result = Math.min(result, scrollable.scrollWidth - scrollable.offsetWidth);\n }\n\n if (rtl && (browser.edgeUWP || browser.internetExplorer)) {\n result = -result;\n }\n\n return result;\n }\n }\n}\n","import React from 'react';\n\nimport Filmstrip from './Filmstrip';\n\nlet deprecationNotesShown;\n\nconst DeprecatedFilmStrip = props => {\n if (!deprecationNotesShown) {\n console.warn('react-film: <FilmStrip> is being renamed to <Filmstrip>.');\n deprecationNotesShown = true;\n }\n\n return <Filmstrip {...props} />;\n};\n\nDeprecatedFilmStrip.defaultProps = Filmstrip.defaultProps;\nDeprecatedFilmStrip.propTypes = Filmstrip.propTypes;\n\nexport default DeprecatedFilmStrip;\n","import PropTypes from 'prop-types';\nimport React, { Children, useMemo } from 'react';\n\nimport BasicFilm from './BasicFilm';\nimport Composer from './Composer';\n\nconst ReactFilm = ({\n autoCenter,\n autoHide,\n autoHideFlipperOnEdge,\n children,\n className,\n dir,\n flipperBlurFocusOnClick,\n height,\n leftFlipperAriaLabel,\n leftFlipperText,\n nonce,\n rightFlipperAriaLabel,\n rightFlipperText,\n showDots,\n showFlipper,\n showScrollBar,\n styleSet\n}) => {\n const styleOptions = useMemo(\n () => ({\n autoCenter,\n autoHide,\n autoHideFlipperOnEdge,\n dir,\n leftFlipperAriaLabel,\n leftFlipperText,\n flipperBlurFocusOnClick,\n rightFlipperAriaLabel,\n rightFlipperText,\n showDots,\n showFlipper,\n showScrollBar\n }),\n [\n autoCenter,\n autoHide,\n autoHideFlipperOnEdge,\n dir,\n leftFlipperAriaLabel,\n leftFlipperText,\n flipperBlurFocusOnClick,\n rightFlipperAriaLabel,\n rightFlipperText,\n showDots,\n showFlipper,\n showScrollBar\n ]\n );\n\n return (\n <Composer\n dir={dir}\n height={height}\n nonce={nonce}\n numItems={children ? Children.count(children) : 0}\n styleOptions={styleOptions}\n styleSet={styleSet}\n >\n <BasicFilm className={className}>{children}</BasicFilm>\n </Composer>\n );\n};\n\nReactFilm.defaultProps = {\n ...BasicFilm.defaultProps,\n autoCenter: undefined,\n autoHide: undefined,\n autoHideFlipperOnEdge: undefined,\n children: undefined,\n className: undefined,\n dir: undefined,\n flipperBlurFocusOnClick: undefined,\n leftFlipperAriaLabel: undefined,\n leftFlipperText: undefined,\n nonce: undefined,\n rightFlipperAriaLabel: undefined,\n rightFlipperText: undefined,\n showDots: undefined,\n showFlipper: undefined,\n showScrollBar: undefined,\n styleSet: undefined\n};\n\nReactFilm.propTypes = {\n ...BasicFilm.propTypes,\n autoCenter: PropTypes.bool,\n autoHide: PropTypes.bool,\n autoHideFlipperOnEdge: PropTypes.bool,\n children: PropTypes.any,\n className: PropTypes.string,\n dir: PropTypes.oneOf(['auto', 'ltr', 'rtl']),\n flipperBlurFocusOnClick: PropTypes.bool,\n height: PropTypes.number,\n leftFlipperAriaLabel: PropTypes.string,\n leftFlipperText: PropTypes.string,\n nonce: PropTypes.string,\n rightFlipperAriaLabel: PropTypes.string,\n rightFlipperText: PropTypes.string,\n showDots: PropTypes.bool,\n showFlipper: PropTypes.bool,\n showScrollBar: PropTypes.bool,\n styleSet: PropTypes.any\n};\n\nexport default ReactFilm;\n","import useViewContext from './internal/useViewContext';\n\nexport default function useIndexFraction() {\n const { indexFraction } = useViewContext();\n\n return [indexFraction];\n}\n","import Composer from './Composer';\nimport Context from './Context';\nimport DictateButton from './DictateButton';\nimport DictateCheckbox from './DictateCheckbox';\nimport useAbortable from './hooks/useAbortable';\nimport useReadyState from './hooks/useReadyState';\nimport useSupported from './hooks/useSupported';\n\nexport default DictateButton;\n\nexport { Composer, Context, DictateCheckbox, useAbortable, useReadyState, useSupported };\n","import React, { useReducer, useRef, useMemo, useEffect, useContext, createContext } from 'react';\nimport { runSaga, stdChannel } from 'redux-saga';\nconst SagaContext = createContext({});\n/**\n * Passes values into `runSaga` of each decendent `useSagaReducer` call.\n *\n * Methods are merged with local values, context methods are run first.\n * Context value is merged with local value, local values will override\n * existing properties.\n * @param props Optional saga options\n */\nexport const SagaProvider = ({ children, ...props }) => {\n return React.createElement(SagaContext.Provider, { value: props, children: children });\n};\nfunction mergeVoidMethods(contextMethod, localMethod) {\n if (!contextMethod && !localMethod) {\n return;\n }\n if (contextMethod && !localMethod) {\n return contextMethod;\n }\n if (!contextMethod && localMethod) {\n return localMethod;\n }\n return (...args) => {\n contextMethod(...args);\n localMethod(...args);\n };\n}\nfunction mergeSagaMonitors(contextMonitor, localMonitor) {\n if (!contextMonitor && !localMonitor) {\n return;\n }\n if (contextMonitor && !localMonitor) {\n return contextMonitor;\n }\n if (!contextMonitor && localMonitor) {\n return localMonitor;\n }\n const sagaMonitorKeys = [\n 'actionDispatched',\n 'effectCancelled',\n 'effectRejected',\n 'effectResolved',\n 'effectTriggered',\n 'rootSagaStarted'\n ];\n const combinedSagaMonitor = {};\n for (const key of sagaMonitorKeys) {\n const method = mergeVoidMethods(contextMonitor[key], localMonitor[key]);\n if (method) {\n combinedSagaMonitor[key] = method;\n }\n }\n return combinedSagaMonitor;\n}\nfunction mergeEffectMiddlewares(contextMiddlewares, localMiddlewares) {\n if (!contextMiddlewares && !localMiddlewares) {\n return;\n }\n if (contextMiddlewares && !localMiddlewares) {\n return contextMiddlewares;\n }\n if (!contextMiddlewares && localMiddlewares) {\n return localMiddlewares;\n }\n return [...contextMiddlewares, ...localMiddlewares];\n}\n/**\n * Create an saga, disconnected from redux with its own state and dispatch.\n *\n * @see https://github.com/azmenak/use-saga-reducer\n * @example\n * ```\n * function* dataFetcher() {\n * try {\n * const data = yield call(API.fetchData)\n * yield put({type: 'FETCH_SUCCESS', payload: data})\n * } catch (error) {\n * yield put({type: 'FETCH_ERROR'})\n * }\n * }\n *\n * function* dataFetchingSaga() {\n * yield takeLatest('FETCH', dataFetcher)\n * }\n *\n * function reducer(state = {}, action) {\n * if (action.type === 'FETCH_SUCCESS') {\n * return action.payload\n * }\n *\n * return state\n * }\n *\n * //...\n *\n * const [state, dispatch] = useSagaReducer(saga, reducer)\n * ```\n */\nexport function useSagaReducer(\n/**\n * Saga method, called when the component mounts, must be a generator function.\n * Same as would be passed to reduxSaga.runSaga\n */\nsaga, \n/**\n * Reducer method, passed into React's `useReducer` method\n */\nreducer, \n/**\n * Optional initalized argument, passed into React's `useReducer` method\n */\ninitializerArg, \n/**\n * Store initialized function, passed into React's `useReducer` method\n */\ninitializer, \n/**\n * Additional options passed into the `runSaga` method\n *\n * Supports:\n * ```\n * sagaMonitor // each monitor will run context methods then local methods\n * onError // runs context method then local method\n * context // merges context values into local values\n * effectMiddlewares // combines with context middleswares, running context first\n * ```\n * @see https://redux-saga.js.org/docs/api/#runsagaoptions-saga-args\n */\nrunSagaOptions) {\n const [state, reactDispatch] = useReducer(reducer, initializerArg, initializer);\n const stateRef = useRef(state);\n useEffect(() => {\n stateRef.current = state;\n }, [state]);\n const sagaIO = useMemo(() => {\n const channel = stdChannel();\n const dispatch = (action) => {\n reactDispatch(action);\n Promise.resolve().then(() => {\n channel.put(action);\n });\n };\n const getState = () => stateRef.current;\n return {\n channel,\n dispatch,\n getState\n };\n }, []);\n const sagaContext = useContext(SagaContext);\n useEffect(() => {\n const options = runSagaOptions || {};\n const context = {\n ...sagaContext.context,\n ...options.context\n };\n const sagaMonitor = mergeSagaMonitors(sagaContext.sagaMonitor, options.sagaMonitor);\n const onError = mergeVoidMethods(sagaContext.onError, options.onError);\n const effectMiddlewares = mergeEffectMiddlewares(sagaContext.effectMiddlewares, options.effectMiddlewares);\n const sagaOptions = {\n ...sagaIO,\n context,\n sagaMonitor,\n onError,\n effectMiddlewares\n };\n const task = runSaga(sagaOptions, saga);\n return () => {\n task.cancel();\n };\n }, []);\n return [state, sagaIO.dispatch];\n}\n/**\n * Helper function to create custom redux-saga effects\n * @param type unique type string\n * @param payload any object\n */\nexport function makeCustomEffect(type, payload) {\n return {\n '@@redux-saga/custom': true,\n combinator: false,\n type,\n payload\n };\n}\nexport default useSagaReducer;\n","import { useCallback } from \"react\";\n\nconst logger = (reducer) => {\n const reducerWithLogger = useCallback((state, action) => {\n const next = reducer(state, action);\n console.log(\"%cPrevious State:\", \"color: #9E9E9E; font-weight: 700;\", state);\n console.log(\"%cAction:\", \"color: #00A7F7; font-weight: 700;\", action);\n console.log(\"%cNext State:\", \"color: #47B04B; font-weight: 700;\", next);\n return next;\n }, [reducer]);\n\n return reducerWithLogger;\n}\n\nexport default logger;\n","import { DruidAction } from \"../../hooks/useWebChatReducer\";\r\n\r\nconst setDisabled = (isDisabled: boolean): DruidAction => {\r\n return {\r\n type: 'SET_MERGEDCHATOPTIONS',\r\n payload: {\r\n disabled: isDisabled\r\n }\r\n };\r\n}\r\n\r\nexport default setDisabled;","import deepmerge from \"deepmerge\";\nimport { WebChatState } from \"../WebChatContext\";\n\nexport function buildContextMenuWithTranslations(contextMenuItems: WebChatState[\"contextMenuItems\"], contextMenuTranslations: WebChatState[\"contextMenuTranslations\"], defaultLanguage: string | undefined, selectedLanguage: string | undefined) {\n const defaultContextMenuTranslation = contextMenuTranslations[defaultLanguage || \"\"] || contextMenuItems || [];\n const selectedContextMenuTranslation = deepmerge(defaultContextMenuTranslation, contextMenuTranslations[selectedLanguage || \"\"] || [],\n {\n arrayMerge: (target, source, _) => {\n const destination = target.slice();\n source.forEach((_, index) => {\n destination[index] = source[index] || destination[index];\n });\n return destination;\n }\n });\n\n return selectedContextMenuTranslation;\n}","import React, { useCallback, useMemo, useRef } from \"react\";\nimport { BotLanguage, WebChatHeaderOptions, WebChatState } from \"../WebChatContext\";\nimport { DruidCookies, restylingsWebchatDefaultOptions, webChatDefaultOptions, WebChatOptions } from \"../WebChatOptions\";\nimport useSagaReducer from 'use-saga-reducer';\nimport { put, takeLatest, all, take, call, race , takeEvery, delay} from 'redux-saga/effects';\nimport logger from 'use-reducer-logger';\n// import { ServiceStatus } from '@druidsoft/botframework-directlinejs'; // not sure for now if resolutions in package.json will work\nimport { mergeChatOptions } from '../utils/mergeChatOptions';\nimport { removeAllCookies, setCookie } from \"../utils/cookiesUtils\";\nimport { DirectLine, ServiceStatus } from 'botframework-directlinejs';\nimport { AppConsts, druidLanguageComparison, mapConversationHistoryActivityToActivity, shouldEnter_fileUploadInputMode, shouldEnter_sensitiveDataInputMode } from \"../logics/druidBusinessLogic\";\nimport createEmotion from \"@emotion/css/create-instance\";\nimport { expandStringToLength, randomHash } from \"../utils/randomHash\";\nimport { babelTransformObject } from \"../utils/babelTransform\";\nimport { mobileAndTabletcheck } from \"../utils/mobileAndTabletCheck\";\nimport stopDictate from 'botframework-webchat-core/lib/actions/stopDictate';\nimport setSendBox from 'botframework-webchat-core/lib/actions/setSendBox';\nimport submitSendBox, { SUBMIT_SEND_BOX } from 'botframework-webchat-core/lib/actions/submitSendBox';\n\nimport setSuggestedActions from 'botframework-webchat-core/lib/actions/setSuggestedActions';\n\nimport { POST_ACTIVITY_FULFILLED } from 'botframework-webchat-core/lib/actions/postActivity';\n\n\nimport setNotification from 'botframework-webchat-core/lib/actions/setNotification';\nimport dismissNotification from 'botframework-webchat-core/lib/actions/dismissNotification';\nimport disconnect from 'botframework-webchat-core/lib/actions/disconnect';\nimport activityFromBot from 'botframework-webchat-core/src/definitions/activityFromBot';\n\n\nimport setDisabled from '../actions/druid/setDisabled';\n\nimport updateIn from 'simple-update-in';\nimport AES from \"crypto-js/aes\";\nimport CryptoJsUTF8 from \"crypto-js/enc-utf8\";\nimport { encryptSensitiveData, searchAssist } from \"../WebChatServices\";\nimport deepmerge from \"deepmerge\";\nimport { buildContextMenuWithTranslations } from \"../logics/buildContextMenuWithTranslations\";\n\n\n// import { webChatEventHandler } from './../utils/druidWebChatMiddleware';\n\nexport type SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE_TYPE = { type: 'SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE', payload: { variablePath: string[], variableValue: any } };\nexport type DruidAction =\n | { type: 'SET_INITIALIZED', payload: boolean }\n | { type: 'SET_LOADED', payload: boolean }\n | { type: 'SET_LOADING', payload?: boolean }\n | { type: 'SET_MINIMIZED', payload: boolean }\n | { type: 'SET_NEWMESSAGE', payload: boolean }\n | { type: 'SET_SIDE', payload: 'left' | 'right' }\n | { type: 'SET_DIRECTLINEOPTIONS', payload: WebChatState[\"directlineOptions\"] }\n | { type: 'SET_SPEECHOPTIONS', payload: Partial<{ speechToken: string, speechRegion: string, isVoiceChannel: boolean }> }\n | { type: 'SET_DIRECTLINEINSTANCE', payload: DirectLine }\n | { type: 'SET_LOADCONFIGURATIONRESULT', payload: any }\n | { type: 'SET_MERGEDCHATOPTIONS', payload: Partial<WebChatOptions> }\n | SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE_TYPE\n | { type: 'SET_MIDDLEWARE_OR_EVENT_HANDLER', payload: { handlerName: string, handler: any, withDecorate: boolean} }\n | { type: 'SET_PRISTINE_MERGEDCHATOPTIONS', payload: Partial<WebChatOptions> } // chat options after all merges. does not contain runtime updates, like mergedchatoptions\n | { type: 'SET_BF_WEBCHAT_STORE', payload: WebChatState[\"store\"] }\n | { type: 'SET_HEADEROPTIONS', payload: Partial<WebChatHeaderOptions> }\n | { type: 'SET_BOTLANGUAGES', payload: BotLanguage[] }\n | { type: 'SET_SELECTEDLANGUAGE', payload: string, skipPostEvent?: boolean }\n | { type: 'SET_SELECTEDACTIVITY_FOR_REPLY', payload: { activity: any} }\n | { type: 'HIDE_CONTAINERELEMENT', payload: boolean }\n | { type: 'HIDE_SUGGESTEDACTIONS', payload: boolean }\n | { type: 'SET_SENSITIVEDATAINPUT_MODE', payload: boolean }\n | { type: 'SET_FILEUPLOADINPUT_MODE', payload: boolean} // not used\n | { type: 'SET_SHOWTYPING', payload: boolean | string }\n | { type: 'SET_DISABLE_CARD_ACTIONS', payload: boolean}\n | { type: 'SET_IS_WINDOW_FOCUSED', payload: boolean }\n | { type: 'SET_IS_MOBILE', payload: boolean }\n | { type: 'SET_IS_VOICEINPUT', payload: boolean }\n | { type: 'SET_CUSTOM_BUTTON_TOGGLE', payload: boolean } // no reducer. used for external handling\n | { type: 'RESET', payload?: Partial<WebChatOptions>, withAutoExpand?: boolean, withNewDruidConversationToken?: string, withNewAuthorizationDtoDetails?: any, includingCookies?: boolean }\n | { type: 'CLEAR_COOKIES', payload?: any }\n | { type: 'OPEN_WEBCHAT', payload?: any }\n | { type: 'CLOSE_WEBCHAT', payload?: any }\n | { type: 'SERVICESTATUS_CHANGE', payload: ServiceStatus }\n | { type: 'SET_CONVERSATION_TOKEN', payload: string }\n | { type: 'SET_AUTHORIZATION_RESULT_DTO', payload: any}\n | { type: 'SET_CONTEXTMENU', payload: string[] }\n | { type: 'SET_CONTEXTMENU_TRANSLATIONS', payload: { [key: string]: string[] }}\n | { type: 'SET_DRUID_COOKIES', payload: any } // activity\n | { type: 'SET_LOCALE', payload: string }\n | { type: 'SET_INPUT_BLOCKED', payload: boolean }\n | { type: 'SET_CONVERSATIONHISTORY_ACTIVITIES', payload: any[]}\n | { type: 'CONVERSATION_HISTORY_SHOWALL', payload: any }\n\n | { type: 'INITIALIZATION_STATUS', payload: 'uninitialized' | 'success' | 'failed', withMessage?: string } // activity\n\n | { type: 'INTERNAL/DISABLE_UNTIL_ANY_CONFIRMED_ACTIVITY', payload?: any }\n | { type: 'INTERNAL/DISABLE_CARDACTIONS_UNTIL_ANY_CONFIRMED_ACTIVITY', payload?: any }\n | { type: 'INTERNAL/PROCCESS_SENSITIVE_MESSAGE', payload: { originalSendMessage: any } }\n | { type: 'INTERNAL/AJAX_REQUEST_FINISHED', payload: { name: string, encryptedPassword?: string } }\n ;\n\nexport type DruidContext = [druidWebChatState: WebChatState, druidWebChatDispatchWithMiddleware: (action: DruidAction) => void, getState: () => WebChatState, druidStyleToEmotionObject: (style: any) => any];\n\nexport function useWebChatReducer(initialOptions: WebChatOptions): DruidContext {\n const initialState: WebChatState = useMemo(() => ({\n instanceID: initialOptions.instanceID,\n initialized: false,\n loaded: false,\n minimized: initialOptions.isWidget!,\n newMessage: false,\n containerElementVisible: true,\n side: 'right',\n locale: window?.navigator?.language || 'en-US',\n contextMenuItems: [],\n contextMenuTranslations: {},\n directlineOptions: null,\n directlineInstance: initialOptions.botConnection,\n speechOptions: {},\n isMobile: mobileAndTabletcheck(),\n isVoiceInput: false,\n inputBlocked: initialOptions?.UI?.blockingInputDruidSendBox || false,\n sensitiveDataInputMode: false,\n fileUploadInputMode: false, // not used\n mergedChatOptions: initialOptions,\n pristineMergedChatOptions: initialOptions, // chat options after all merges. does not contain runtime updates, like mergedchatoptions\n conversationHistoryShowAll: false,\n headerOptions: {\n showHeader: true,\n showChatTitle: true,\n showCloseButton: true,\n showChangeSideButton: true,\n showLanguageSelector: true,\n showIcon: true,\n showAvatar: false,\n showVoiceInputSelector: true,\n showReload: process.env.NODE_ENV === \"development\",\n showReset: true\n },\n showTyping: false,\n selectedActivityForReply: null,\n cardActionsDisabled: false,\n botLanguages: [],\n // isWindowFocused: true,\n store: null,\n bfWebchatProps: null,\n serviceStatus: ServiceStatus.Offline,\n conversationToken: null,\n INITIALIZATION_STATUS: 'uninitialized',\n INITIALIZATION_STATUS_MESSAGE: null\n }), [initialOptions]);\n\n const initializeState = useCallback((newOptionsFromReset?: Partial<WebChatState>) => {\n // MM: reInitializeChat with init call is not equal to type: 'RESET' action. reset keeps previous mergedChatOptions form state.\n if (newOptionsFromReset) {\n initialState.mergedChatOptions = mergeChatOptions(initialState.mergedChatOptions, newOptionsFromReset);\n }\n return initialState;\n }, [initialState]);\n\n const lastState = useRef(initialState);\n const getState = useCallback(() => lastState.current, [])\n\n const reduce = (state: WebChatState, action: DruidAction): WebChatState => {\n switch (action.type) {\n case 'SET_INITIALIZED':\n return { ...state, initialized: action.payload };\n case 'SET_LOADING': {\n return state;\n }\n case 'SET_LOADED':\n return { ...state, loaded: action.payload };\n case 'SET_MINIMIZED':\n return { ...state, minimized: action.payload };\n case 'SET_NEWMESSAGE':\n return { ...state, newMessage: action.payload };\n case 'SET_SIDE':\n return { ...state, side: action.payload };\n case 'SET_DIRECTLINEOPTIONS':\n return { ...state, directlineOptions: { ...state.directlineOptions, ...action.payload } };\n case 'SET_SPEECHOPTIONS':\n return { ...state, speechOptions: { ...state.speechOptions, ...action.payload } };\n case 'SET_DIRECTLINEINSTANCE':\n return { ...state, directlineInstance: action.payload };\n case 'SET_IS_MOBILE':\n return { ...state, isMobile: action.payload };\n case 'SET_IS_VOICEINPUT': {\n return { ...state, isVoiceInput: action.payload };\n }\n case 'SET_MERGEDCHATOPTIONS':\n {\n const ret = mergeChatOptions(state.mergedChatOptions, action.payload)\n return { ...state, mergedChatOptions: ret };\n }\n case 'SET_PRISTINE_MERGEDCHATOPTIONS':\n {\n return { ...state, pristineMergedChatOptions: action.payload };\n }\n case 'SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE':\n {\n const nextState = updateIn(state, [\"mergedChatOptions\", ...action.payload.variablePath], (variablePath) => action.payload.variableValue);\n return nextState;\n }\n case 'SET_SHOWTYPING': {\n if(state.showTyping === action.payload) {\n return state;\n }\n return { ...state, showTyping: action.payload };\n }\n case 'SET_DISABLE_CARD_ACTIONS': {\n return { ...state, cardActionsDisabled: action.payload };\n }\n case 'SET_BF_WEBCHAT_STORE':\n return { ...state, store: action.payload };\n case 'HIDE_CONTAINERELEMENT':\n return { ...state, containerElementVisible: !action.payload };\n case 'HIDE_SUGGESTEDACTIONS': {\n // const ret = mergeChatOptions(state.mergedChatOptions, { UI: { hideSuggestedActions: action.payload}});\n // return { ...state, mergedChatOptions: ret};\n const nextState = updateIn(state, ['mergedChatOptions', 'UI', 'hideSuggestedActions'], (hideSuggestedActions) => action.payload);\n\n return nextState;\n }\n case 'SET_SENSITIVEDATAINPUT_MODE': {\n let nextState = updateIn(state, ['mergedChatOptions', 'styleOptions', 'sendBoxTextWrap'], () => !action.payload);\n nextState = updateIn(nextState, ['sensitiveDataInputMode'], () => action.payload);\n\n return nextState;\n }\n case 'SET_FILEUPLOADINPUT_MODE' : { // not used\n const nextState = updateIn(state, ['fileUploadInputMode'], () => action.payload);\n\n return nextState;\n }\n\n case 'SET_INPUT_BLOCKED': {\n const nextState = updateIn(state, ['inputBlocked'], () => action.payload);\n\n return nextState;\n }\n\n case 'CONVERSATION_HISTORY_SHOWALL': {\n return { ...state, conversationHistoryShowAll: true}\n }\n case 'SERVICESTATUS_CHANGE':\n return { ...state, serviceStatus: action.payload }\n case 'SET_CONVERSATION_TOKEN': {\n let nextState = state;\n if(state.mergedChatOptions?.authorizationResultDto) {\n nextState = updateIn(nextState, [\"mergedChatOptions\", \"authorizationResultDto\", \"conversationToken\"], () => action.payload);\n }\n\n nextState = updateIn(nextState, [\"conversationToken\"], () => action.payload);\n\n return nextState;\n\n }\n\n case 'SET_AUTHORIZATION_RESULT_DTO': { // used only when authorizationResultDto is present\n let nextState = state;\n \n if(state.mergedChatOptions?.authorizationResultDto) {\n const mergedAuthorizationResultDto = {...state.mergedChatOptions.authorizationResultDto, ...action.payload };\n nextState = updateIn(state, [\"mergedChatOptions\", \"authorizationResultDto\"], () => mergedAuthorizationResultDto);\n }\n \n return nextState;\n }\n case 'SET_CONTEXTMENU':\n return {\n ...state,\n contextMenuItems: action.payload\n }\n case 'SET_CONTEXTMENU_TRANSLATIONS':\n return {\n ...state,\n contextMenuTranslations: action.payload\n }\n case 'SET_HEADEROPTIONS':\n return {\n ...state,\n headerOptions: { ...state.headerOptions, ...action.payload }\n }\n case 'SET_BOTLANGUAGES':{\n const toSetLanguages = action.payload;\n if(!toSetLanguages.find(lg => lg.id === - 1)){\n toSetLanguages.push({ \n name: 'DEF',\n displayName: 'Default',\n nativeName: 'Default', // could be renamed\n isDefault: false,\n isSelected: false,\n icon: 'fa fa-globe',\n id: -1\n });\n }\n\n return {\n ...state,\n botLanguages: toSetLanguages\n };\n }\n\n case 'SET_SELECTEDACTIVITY_FOR_REPLY': {\n return {\n ...state,\n selectedActivityForReply: action.payload?.activity\n }\n }\n \n case 'SET_LOCALE':\n return {\n ...state,\n locale: action.payload\n }\n\n /* fetch handlers result*/\n case 'INITIALIZATION_STATUS': {\n return { ...state, INITIALIZATION_STATUS: action.payload, INITIALIZATION_STATUS_MESSAGE: action.withMessage || null }\n }\n case 'RESET':\n {\n // initialState.instanceID = ;\n const { conversationToken_namePrefix, druidWebChatIsOpened_namePrefix } = state.mergedChatOptions || {};\n action.payload = { ...(action.payload || {}), conversationToken_namePrefix, druidWebChatIsOpened_namePrefix };\n return initializeState(action.payload);\n }\n default:\n return state\n }\n }\n\n const memoizedReducer = useCallback((state: WebChatState, action: DruidAction): WebChatState => {\n const ret = reduce(state, action);\n lastState.current = ret;\n return ret;\n\n }, [initializeState]); // <--- if you have vars/deps inside the reducer that changes, they need to go here\n\n const emotionPool = {};\n const druidStyleToEmotionObject = useMemo(() => {\n // Emotion doesn't hash with nonce. We need to provide the pooling mechanism.\n // 1. If 2 instances use different nonce, they should result in different hash;\n // 2. If 2 instances are being mounted, pooling will make sure we render only 1 set of <style> tags, instead of 2.\n const emotion =\n emotionPool[initialState.instanceID] || (emotionPool[initialState.instanceID] = createEmotion({ key: `druid-webchat--css-${randomHash()}`}));\n\n return style => emotion.css(style);\n }, [initialState.instanceID]);\n function* handleOpenWebchat(action) {\n const currentState = getState();\n\n setCookie(DruidCookies.DruidWebChatIsOpened, true, { domain: currentState.mergedChatOptions.cookieDomain || \"\" }, currentState);\n\n if(currentState.directlineInstance) {\n currentState.directlineInstance.sendMessagesRead = true;\n }\n \n yield all([\n put({\n type: 'SET_MINIMIZED',\n payload: false\n }),\n put({\n type: 'SET_NEWMESSAGE',\n payload: false\n }),\n put({\n type: 'HIDE_CONTAINERELEMENT',\n payload: true\n })\n ]);\n };\n\n function* handleCloseWebchat(action) {\n const currentState = getState();\n\n setCookie(DruidCookies.DruidWebChatIsOpened, false, { domain: currentState.mergedChatOptions.cookieDomain || \"\" }, currentState);\n\n if(currentState.directlineInstance) {\n currentState.directlineInstance.sendMessagesRead = false;\n }\n\n if (currentState.mergedChatOptions.backgroundTrafficEnabled) {\n yield all([\n put({\n type: 'SET_MINIMIZED',\n payload: true\n }),\n put({\n type: 'SET_NEWMESSAGE',\n payload: false\n }),\n // put({\n // type: 'SET_INITIALIZED',\n // payload: false\n // }),\n // put({\n // type: 'INITIALIZATION_STATUS',\n // payload: 'uninitialized'\n // }),\n put({\n type: 'HIDE_CONTAINERELEMENT',\n payload: false\n })\n ]);\n } else { // if backgroundTrafficEnabled == false, RESET chat. difference from bfv3 -> it used to destroy only webchat connection.\n // we should refactor in bfv4 also (don't use RESET on close)\n // Should we refactor ? RESET is safer. directlineOptions.token needs to be refreshed when collapsed if RESET will not be used\n yield all([\n put({\n type: 'RESET'\n })\n ]);\n }\n\n\n\n // yield put({\n // type: 'SET_MINIMIZED',\n // payload: true\n // });\n // yield put({\n // type: 'SET_NEWMESSAGE',\n // payload: false\n // });\n };\n\n function* handleChangeStatus(action: any) {\n const { store } = getState();\n if (action.type === 'SERVICESTATUS_CHANGE') {\n if (action.payload === ServiceStatus.Offline) {\n\n yield put(setDisabled(true));\n\n yield store?.dispatch(setNotification({\n id: 'servicestatus_offline_notification',\n level: 'error',\n message: 'Reconnecting - Please check your Internet connection',\n alt: '',\n data: {}\n }));\n }\n\n if (action.payload === ServiceStatus.Warning) {\n yield store?.dispatch(setNotification({\n id: 'servicestatus_warning_notification',\n level: 'warn',\n message: 'Weak Connection',\n alt: '',\n data: {}\n }));\n }\n\n if (action.payload === ServiceStatus.Online) {\n\n yield all([\n put(setDisabled(false)),\n store?.dispatch(dismissNotification('servicestatus_warning_notification')),\n store?.dispatch(dismissNotification('servicestatus_offline_notification'))\n ]);\n\n }\n }\n // druidWebChatDispatch({\n // type: ''\n // })\n // 'Weak Connection' : 'Offline - Please check your Internet Connection'\n }\n\n // function* handleLoaded(action) {\n // yield all([\n // put({\n // type: 'SET_MERGEDCHATOPTIONS',\n // payload: action\n // }),\n // put({\n // type: 'SET_LOADED',\n // payload: true\n // })\n // ]);\n\n // }\n function* handleChangeDruidCookies(action) {\n const currentState = getState();\n const { mergedChatOptions, minimized } = currentState;\n const activity = action.payload;\n if (!!mergedChatOptions.druidCookieConsentEnabled) {\n setCookie(DruidCookies.DruidCookieConsent, true, { domain: mergedChatOptions.cookieDomain || \"\" }, currentState);\n }\n\n setCookie(DruidCookies.DruidWebChatIsOpened, !minimized, { domain: mergedChatOptions.cookieDomain || \"\" }, currentState); //getWebchatCollapsedState()\n\n var parsedJSON = JSON.parse(activity.value);\n\n setCookie(DruidCookies.DruidConversationToken, parsedJSON.DruidConversationToken || currentState.conversationToken, { domain: mergedChatOptions.cookieDomain || \"\" }, currentState);\n\n return;\n }\n\n function* handleMergedChatOptions(action) {\n // !!! IS NOT SAFE TO DESTRUCTURATE COMPLEX OBJECT HERE WITHOUT SAFEGUARDS !!! ///\n const { locale } = action.payload;\n // const { mergedChatOptions: {locale: prevLocale = null} } = {} = getState();\n\n if (locale) {\n yield all([\n put({\n type: 'SET_LOCALE',\n payload: locale\n })\n ]);\n }\n }\n\n function* handleSimpleVariableUpdate(action: SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE_TYPE) {\n if(action.payload.variablePath) {\n\n if(action.payload.variablePath.find(key => key === \"restylingsEnabled\") ) {\n yield all([\n put({\n type: 'RESET', payload: { UI: { restylingsEnabled: action.payload.variableValue === true }}\n })\n ]);\n }\n if(action.payload.variablePath.find(key => key === \"userAvatarImage\")) {\n const userAvatarImageValue = action.payload.variableValue;\n if(userAvatarImageValue || userAvatarImageValue === '') { // if avatarImage update -> userAvatarInitials should be '' when has image, should be undefined when not\n yield all([\n put({\n type: 'SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE',\n payload: { variablePath: ['styleOptions', 'userAvatarInitials'], variableValue: userAvatarImageValue ? '' : undefined }\n })\n ]);\n \n }\n }\n }\n }\n\n function* handleSetSelectedLanguage(action) {\n\n const name = action.payload;\n if (!name) return;\n const { botLanguages, mergedChatOptions, directlineInstance } = getState();\n const selectedLanguage = botLanguages.find((bl) => bl.name === name) || botLanguages.find(bl => druidLanguageComparison(bl.name, name)) || botLanguages.find(bl => bl.id === AppConsts.DefaultLanguageId);\n const currentState = getState();\n const { contextMenuItems, contextMenuTranslations = {} } = currentState;\n // if (selectedLanguage) {\n const toSetLanguageName = name || selectedLanguage?.name;\n const skipPostEvent = !!action.skipPostEvent || (mergedChatOptions?.disabled === true);\n\n setCookie(DruidCookies.DruidConversationLanguage, toSetLanguageName, { domain: mergedChatOptions.cookieDomain || \"\" }, currentState);\n !skipPostEvent && directlineInstance?.postActivity({\n from: { id: mergedChatOptions.userId || \"\" },\n name: 'LanguageChanged',\n type: 'event',\n value: toSetLanguageName\n }).toPromise();\n\n const selectedContextMenuTranslation = buildContextMenuWithTranslations(contextMenuItems, contextMenuTranslations, botLanguages.find(bl => bl.isDefault)?.name, selectedLanguage?.name);\n \n yield all([\n selectedLanguage && put({\n type: 'SET_BOTLANGUAGES',\n payload: botLanguages.map(bl => ({\n ...bl,\n isSelected: selectedLanguage.id == bl.id //druidLanguageComparison(bl.name, selectedLanguage.name)\n }))\n }),\n selectedLanguage && selectedContextMenuTranslation && put({\n type: 'SET_CONTEXTMENU',\n payload: selectedContextMenuTranslation\n }),\n put({\n type: 'SET_LOCALE',\n payload: toSetLanguageName\n })\n ]);\n // }\n\n }\n\n function* handleSetContextMenuTranslations(action) {\n const currentState = getState();\n const { contextMenuItems, botLanguages} = currentState;\n const contextMenuTranslations = action.payload || {};\n const selectedLanguage = botLanguages.find((bl) => bl.isSelected);\n\n const selectedContextMenuTranslation = buildContextMenuWithTranslations(contextMenuItems, contextMenuTranslations, botLanguages.find(bl => bl.isDefault)?.name, selectedLanguage?.name);\n\n yield selectedLanguage && selectedContextMenuTranslation && put({\n type: 'SET_CONTEXTMENU',\n payload: selectedContextMenuTranslation\n });\n \n }\n function* handleSetIsVoiceInput(action) {\n const currentState = getState();\n if (action.payload === false) { // stop dictate if change from voice to keyboard and already in listening state\n currentState.store?.dispatch(stopDictate());\n currentState.store?.dispatch(setSendBox(''));\n }\n }\n\n function* handleResetWithOptions(action) {\n if(action.includingCookies) {\n yield put(({ type: 'CLEAR_COOKIES' }));\n }\n\n yield take('SET_LOADED');\n\n if (!!action.withNewAuthorizationDtoDetails) {\n yield put(({ type: 'SET_AUTHORIZATION_RESULT_DTO', payload: action.withNewAuthorizationDtoDetails }));\n }\n\n if (action.withNewDruidConversationToken) {\n yield put(({ type: 'SET_CONVERSATION_TOKEN', payload: action.withNewDruidConversationToken }));\n }\n\n if (action.withAutoExpand) {\n yield put(({ type: 'OPEN_WEBCHAT' }));\n }\n\n \n }\n\n function* handleSensitiveDataInputMode(action) {\n const currentState = getState();\n if (action.payload === true) {\n yield put({ type: 'SET_IS_VOICEINPUT', payload: false });\n } else {\n yield currentState.store?.dispatch(dismissNotification('encrypt_message_request_error_notification'));\n }\n }\n\n function* handleDisableAndConfirmActivity(action) {\n yield put(setDisabled(true));\n\n yield take('DIRECT_LINE/POST_ACTIVITY_FULFILLED');\n\n yield put(setDisabled(false));\n\n const currentState = getState();\n currentState.store?.dispatch(setSendBox(''));\n\n yield put({\n type: 'SET_SENSITIVEDATAINPUT_MODE',\n payload: false\n });\n }\n\n function* handleDisableCardActionUntilConfirmActivity(action) {\n yield put({type: 'SET_DISABLE_CARD_ACTIONS', payload: true});\n\n yield take(incomingActivityAction => incomingActivityAction.type === 'DIRECT_LINE/INCOMING_ACTIVITY' && (!action.payload.fromBot || activityFromBot(incomingActivityAction.payload.activity)));\n \n yield put({type: 'SET_DISABLE_CARD_ACTIONS', payload: false});\n\n // [Update]: Should be fixed by \"possible fix for jumping scroll\" -- if this is removed, when clicking on a hero button, the chat scrolls to the card's previos clicked button.\n // DruidWebchat_v2.hooks.scrollToEnd();\n // DruidWebchat_v2.hooks.scrollTo({ scrollTop: '100%'}, 'auto');\n // setTimeout(() => DruidWebchat_v2.hooks.scrollTo({ scrollTop: '100%'}, 'auto'), 0);\n }\n function* handleSearchAssist(action) {\n const { text } = action.payload || {};\n const currentState = getState();\n if(text && currentState.mergedChatOptions.searchAssistEnabled) {\n const { cancelResult } = yield race({ delayResult: delay(1000), cancelResult: take(SUBMIT_SEND_BOX)});\n if(cancelResult) {\n return;\n }\n const response = yield call(() => (searchAssist({\n apcUrl: currentState.mergedChatOptions.apcUrl!,\n abpToken: (window as any).abpToken,\n searchText: text,\n botId: currentState.mergedChatOptions.botId!,\n withCredentials: currentState.mergedChatOptions.withCredentials ? \"include\" : \"omit\",\n languageCode: currentState.store?.getState()?.language\n })\n .then((response) => {\n return response.json();\n })\n .catch(ex => {\n return \"\";\n }))\n );\n \n \n if (response && response.result && Array.isArray(response.result) && (response.result[0].tuplesList?.length > 0 || response.result[0].topLabel)) {\n const responseResult = response.result[0];\n const tuplesList = responseResult.tuplesList?.map(tl => tl.item2);\n const datasource: any[] = tuplesList.length ? tuplesList : [responseResult.topLabel];\n if (!datasource.some(s => !s)) {\n\n\n currentState.store.dispatch(setSuggestedActions(datasource.map(ds => ({\n type: 'imBack',\n title: ds.split(\"=\")[1],\n value: ds.split(\"=\")[1],\n text: ds.split(\"=\")[1]\n }))\n ));\n yield take(incomingActivityAction => incomingActivityAction.type === POST_ACTIVITY_FULFILLED && (!action.payload.fromBot || !activityFromBot(incomingActivityAction.payload.activity)));\n\n currentState.store?.dispatch(setSendBox(''));\n }\n } else {\n currentState.store.dispatch(setSuggestedActions([]));\n }\n }\n}\n\n\n function* proccessSensitiveMessage(action) {\n\n const currentState = getState();\n\n const { originalSendMessage } = action.payload;\n\n const originalTextValue = originalSendMessage.payload.text.trim();\n\n if (!originalTextValue) {\n return;\n }\n\n const conversationId = (currentState.directlineInstance as any).conversationId;\n\n const enc_key = CryptoJsUTF8.parse(expandStringToLength(conversationId, 32));\n const enc_IV = CryptoJsUTF8.parse(expandStringToLength(conversationId, 16));\n const client_side_encrypted_data = AES.encrypt(originalTextValue, enc_key, { iv: enc_IV }).toString();\n // const dec = AES.decrypt(client_side_encrypted_plain_password, (currentState.directlineInstance as any).conversationId).toString(CryptoJsUTF8);\n\n yield put(setDisabled(true));\n\n const encryptedData = yield call(() => (encryptSensitiveData({\n baseUrl: currentState.mergedChatOptions.authorizationBaseUrl || currentState.mergedChatOptions.baseUrl!,\n conversationToken: currentState.directlineInstance?.getCurrentToken()!,\n dataToEncrypt: client_side_encrypted_data,\n // botId: currentState.mergedChatOptions.botId!,\n withCredentials: currentState.mergedChatOptions.withCredentials ? \"include\" : \"omit\"\n })\n .then((response) => {\n return response.json();\n })\n .catch(ex => {\n return \"\";\n }))\n );\n\n if (encryptedData) {\n yield currentState.store?.dispatch(dismissNotification('encrypt_message_request_error_notification'));\n\n originalSendMessage.payload.text = '******';\n originalSendMessage.payload.channelData = originalSendMessage.payload.channelData || {};\n originalSendMessage.payload.channelData.encryptedData = encryptedData;\n originalSendMessage.payload._druidInternal_passThrough_sensitiveDataInputMode = true;\n currentState.store?.dispatch(originalSendMessage); // watch carefuly. might not pass through BFStore middleware (don't send any message, except cancel and _druidInternal_passThrough_sensitiveDataInputMode)\n\n const { error, success } = yield race({\n success: take('DIRECT_LINE/POST_ACTIVITY_FULFILLED'),\n error: take('DIRECT_LINE/POST_ACTIVITY_REJECTED')\n });\n\n if (error) {\n yield currentState.store?.dispatch(setNotification({\n id: 'encrypt_message_request_error_notification',\n level: 'error',\n message: 'Failed to proccess. Please try again.',\n alt: '',\n data: {}\n }));\n } else {\n yield put({\n type: 'SET_SENSITIVEDATAINPUT_MODE',\n payload: false\n });\n }\n } else {\n\n yield currentState.store?.dispatch(setNotification({\n id: 'encrypt_message_request_error_notification',\n level: 'error',\n message: 'Failed to proccess. Please try again.',\n alt: '',\n data: {}\n }));\n }\n yield put(setDisabled(false));\n\n }\n\n function* handleIncomingActivity(action) {\n const { activity } = action.payload;\n const currentState = getState();\n if (activity && !activity.channelData?.isActivityStatusUpdate) {\n if(activity.type === \"message\") {\n if (activityFromBot(activity)) { \n const should_SENSITIVEDATAINPUT_MODE_be_enabled = shouldEnter_sensitiveDataInputMode(activity);\n if(currentState.sensitiveDataInputMode !== should_SENSITIVEDATAINPUT_MODE_be_enabled) {\n yield put({ type: 'SET_SENSITIVEDATAINPUT_MODE', payload: should_SENSITIVEDATAINPUT_MODE_be_enabled });\n }\n\n // const should_FILEUPLOADINPUT_MODE_be_enabled = shouldEnter_fileUploadInputMode(activity);\n // if(currentState.fileUploadInputMode !== should_FILEUPLOADINPUT_MODE_be_enabled) {\n // yield put({ type: 'SET_FILEUPLOADINPUT_MODE', payload: should_FILEUPLOADINPUT_MODE_be_enabled });\n // }\n }\n }\n }\n }\n\n function* processSetMiddlewareOrEventHandler(action) {\n const transformed = yield call(() => (babelTransformObject(action.payload.handler, action.payload.withDecorate)\n .then(transformed => {\n return transformed;\n })\n .catch(() => null)\n ));\n \n // if(transformed) {\n yield put({\n type: 'SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE',\n payload: { variablePath: [action.payload.handlerName], variableValue: transformed }\n });\n // }\n }\n\n function* handleWebchatLoaded(action) {\n const currentState = getState();\n if(currentState?.mergedChatOptions?.onLoadHandlerPromise) {\n currentState.mergedChatOptions.onLoadHandlerPromise(action.payload);\n }\n }\n\n function handleClearCookies(action) {\n removeAllCookies(getState());\n }\n\n function* processConversationHistoryActivities(action) {\n let currentState = getState();\n let currentBFStore = currentState.store;\n if(!currentBFStore) {\n const { payload: newBFStore } = yield take('SET_BF_WEBCHAT_STORE');\n currentBFStore = newBFStore;\n }\n const conversationHistoryActivities: any[] = action.payload;\n yield put({ type: 'SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE', payload: { variablePath: ['conversationHistoryActivities'], variableValue: conversationHistoryActivities } });\n conversationHistoryActivities?.map((ch, idx) => mapConversationHistoryActivityToActivity(ch, conversationHistoryActivities?.length - 11 <= idx))\n .forEach(cha => {\n currentBFStore.dispatch({type: 'DIRECT_LINE/INCOMING_ACTIVITY', payload: { activity : cha }})\n });\n\n }\n\n function* rootSaga() {\n yield all([\n // takeLatest(\"OPEN_WEBCHAT\", handleOpenWebchat),\n takeLatest(\"OPEN_WEBCHAT\", handleOpenWebchat),\n takeLatest(\"CLOSE_WEBCHAT\", handleCloseWebchat),\n takeLatest(\"SET_DRUID_COOKIES\", (action) => handleChangeDruidCookies(action)),\n takeLatest(\"SERVICESTATUS_CHANGE\", (action) => handleChangeStatus(action)),\n takeLatest(\"SET_LOADED\", (action) => handleWebchatLoaded(action)),\n\n takeLatest(\"SET_MERGEDCHATOPTIONS\", (action) => handleMergedChatOptions(action)),\n takeLatest<SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE_TYPE>(\"SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE\", (action) => handleSimpleVariableUpdate(action)),\n takeLatest(\"SET_SELECTEDLANGUAGE\", (action) => handleSetSelectedLanguage(action)),\n takeLatest(\"SET_IS_VOICEINPUT\", (action) => handleSetIsVoiceInput(action)),\n takeLatest(\"SET_CONTEXTMENU_TRANSLATIONS\", (action) => handleSetContextMenuTranslations(action)),\n takeLatest(\"RESET\", (action) => handleResetWithOptions(action)),\n takeLatest(\"SET_SENSITIVEDATAINPUT_MODE\", (action) => handleSensitiveDataInputMode(action)),\n takeLatest(\"INTERNAL/DISABLE_UNTIL_ANY_CONFIRMED_ACTIVITY\", (action) => handleDisableAndConfirmActivity(action)),\n takeLatest(\"DIRECT_LINE/INCOMING_ACTIVITY\", (action) => handleIncomingActivity(action)),\n takeLatest(\"INTERNAL/PROCCESS_SENSITIVE_MESSAGE\", (action) => proccessSensitiveMessage(action)),\n takeLatest(\"INTERNAL/DISABLE_CARDACTIONS_UNTIL_ANY_CONFIRMED_ACTIVITY\", (action) => handleDisableCardActionUntilConfirmActivity(action)),\n takeLatest(\"WEB_CHAT/SET_SEND_BOX\", handleSearchAssist),\n takeEvery(\"SET_MIDDLEWARE_OR_EVENT_HANDLER\", (action) => processSetMiddlewareOrEventHandler(action)),\n takeEvery(\"SET_CONVERSATIONHISTORY_ACTIVITIES\", (action) => processConversationHistoryActivities(action)),\n\n takeEvery(\"CLEAR_COOKIES\", (action) => handleClearCookies(action)),\n takeEvery(\"*\", (action) => { return DruidWebchat_v2.customGeneratorFunction && DruidWebchat_v2.customGeneratorFunction(action) })\n // takeEvery(\"*\", (action) => DruidWebchat_v2.customGeneratorFunction(action))\n\n // takeLatest(\"ON_LOADEDSAGA\", (action) => handleLoaded(action))\n ]);\n\n // yield takeLatest(\"OPEN_WEBCHAT\", handleOpenWebchat);\n\n // yield [\n // fork(\"OPEN_WEBCHAT\", handleOpenWebchat), // saga1 can also yield [ fork(actionOne), fork(actionTwo) ]\n // fork(\"CLOSE_WEBCHAT\", handleCloseWebchat),\n // ];\n }\n\n // logger(reducer)\n const [druidWebChatState, druidWebChatDispatch] = useSagaReducer<any, React.Reducer<WebChatState, DruidAction>, any>(rootSaga, process.env.NODE_ENV === 'development' ? logger(memoizedReducer) : memoizedReducer, initialState, undefined, {\n onError: (error: Error, errorInfo: any) => {\n console.error(error);\n getState().store?.dispatch({\n type: 'WEB_CHAT/SAGA_ERROR'\n });\n\n getState().store?.dispatch(disconnect());\n druidWebChatDispatch(setDisabled(true));\n }\n\n });\n\n const druidWebChatDispatchWithMiddleware = useCallback((action: DruidAction) => { // not an actual middleware. should rename to listener.\n let ret = true;\n try {\n // webChatEventHandler && webChatEventHandler(action);\n const currentState = getState();\n \n //handler for .init({}) provided\n // initialOptions.webChatEventHandler && initialOptions.webChatEventHandler(action, currentState);\n\n //handler for loadConfiguration provided\n if (!action.payload?.activity?.channelData?.isActivityStatusUpdate) {\n if (currentState.mergedChatOptions.webChatEventHandler) {\n ret = currentState.mergedChatOptions.webChatEventHandler(action, currentState);\n }\n }\n } catch {\n\n }\n if(ret !== false) {\n druidWebChatDispatch(action);\n }\n return;\n }, [druidWebChatDispatch, initialOptions]);\n\n return [druidWebChatState, druidWebChatDispatchWithMiddleware, getState, druidStyleToEmotionObject];\n}\n\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const SET_DICTATE_INTERIMS = 'WEB_CHAT/SET_DICTATE_INTERIMS';\n\nexport default function setDictateInterims(dictateInterims) {\n return {\n type: SET_DICTATE_INTERIMS,\n payload: { dictateInterims }\n };\n}\n\nexport { SET_DICTATE_INTERIMS };\n","// TODO: [P3] We should obsolete this action in favor of DIRECT_LINE/UPDATE_CONNECTION_STATUS.\n// But today, both actions behave differently, this one only dispatch after connected and not dispatched when disconnected.\nconst CONNECTION_STATUS_UPDATE = 'DIRECT_LINE/CONNECTION_STATUS_UPDATE';\n\nexport default function connectionStatusUpdate(connectionStatus) {\n return {\n type: CONNECTION_STATUS_UPDATE,\n payload: { connectionStatus }\n };\n}\n\nexport { CONNECTION_STATUS_UPDATE };\n","const SET_REFERENCE_GRAMMAR_ID = 'WEB_CHAT/SET_REFERENCE_GRAMMAR_ID';\n\nexport default function setReferenceGrammarID(referenceGrammarID) {\n return {\n type: SET_REFERENCE_GRAMMAR_ID,\n payload: { referenceGrammarID }\n };\n}\n\nexport { SET_REFERENCE_GRAMMAR_ID };\n","const SET_SEND_TIMEOUT = 'WEB_CHAT/SET_SEND_TIMEOUT';\n\nexport default function setSendTimeout(sendTimeout) {\n return {\n type: SET_SEND_TIMEOUT,\n payload: { sendTimeout }\n };\n}\n\nexport { SET_SEND_TIMEOUT };\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.aggregate-error.constructor');\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw $TypeError(tryToString(argument) + ' is not iterable');\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","module.exports = function () { /* empty */ };\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var AggregateError = getBuiltIn('AggregateError');\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","import { call } from 'redux-saga/effects';\n\nimport createPromiseQueue from '../../createPromiseQueue';\n\nexport default function observeEachEffect(observable, saga) {\n return call(function* observeEach() {\n const queue = createPromiseQueue();\n const subscription = observable.subscribe({ next: queue.push });\n\n try {\n for (;;) {\n const result = yield call(queue.shift);\n\n yield call(saga, result);\n }\n } finally {\n subscription.unsubscribe();\n }\n });\n}\n","// If true, the activity is in the queue and needs to be spoken.\n\nexport default function speakingActivity(activity) {\n return activity.channelData?.speak;\n}\n","const QUEUE_INCOMING_ACTIVITY = 'DIRECT_LINE/QUEUE_INCOMING_ACTIVITY';\n\nexport default function queueIncomingActivity(activity) {\n return {\n type: QUEUE_INCOMING_ACTIVITY,\n payload: { activity }\n };\n}\n\nexport { QUEUE_INCOMING_ACTIVITY };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const SEND_EVENT = 'WEB_CHAT/SEND_EVENT';\n\nexport default function sendEvent(name, value) {\n return {\n type: SEND_EVENT,\n payload: { name, value }\n };\n}\n\nexport { SEND_EVENT };\n","const SEND_MESSAGE_BACK = 'WEB_CHAT/SEND_MESSAGE_BACK';\n\nexport default function sendMessageback(value, text, displayText) {\n return {\n type: SEND_MESSAGE_BACK,\n payload: { displayText, text, value }\n };\n}\n\nexport { SEND_MESSAGE_BACK };\n","const SEND_POST_BACK = 'WEB_CHAT/SEND_POST_BACK';\n\nexport default function sendPostback(value) {\n return {\n type: SEND_POST_BACK,\n payload: { value }\n };\n}\n\nexport { SEND_POST_BACK };\n","import usePonyfillContext from './private/useContext';\n\nimport type { GlobalScopePonyfill } from 'botframework-webchat-core';\n\nexport default function usePonyfill(): readonly [GlobalScopePonyfill] {\n return usePonyfillContext().ponyfillState;\n}\n","import { createContext } from 'react';\n\nimport type { GlobalScopePonyfill } from 'botframework-webchat-core';\n\ntype PonyfillContextType = {\n ponyfillState: readonly [GlobalScopePonyfill];\n};\n\nexport default createContext<PonyfillContextType | undefined>(undefined);\n","import useActivityKeyerContext from './private/useContext';\n\nexport default function useActivityKeys(): readonly [readonly string[]] {\n return useActivityKeyerContext().activityKeysState;\n}\n","import { createContext } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\ntype ActivityKeyerContextType = {\n activityKeysState: readonly [readonly string[]];\n getActivityByKey: (key?: string) => undefined | WebChatActivity;\n getKeyByActivity: (activity?: WebChatActivity) => string | undefined;\n getKeyByActivityId: (activityKey?: string) => string | undefined;\n};\n\nexport default createContext<ActivityKeyerContextType>(undefined);\n\nexport type { ActivityKeyerContextType };\n","import { createContext } from 'react';\n\n// TODO: [P1] It seems acknowledgement is only for transcript scrolling and not very beneficial to everyone.\n// We should move acknowledgement logic to transcript.\ntype ActivityAcknowledgementContextType = {\n activityKeysByReadState: readonly [readonly string[], readonly string[]];\n getHasAcknowledgedByActivityKey: (activityKey: string) => boolean | undefined;\n lastAcknowledgedActivityKeyState: readonly [string];\n lastReadActivityKeyState: readonly [string];\n markActivityKeyAsRead: (activityKey: string) => void;\n markAllAsAcknowledged: () => void;\n};\n\nconst ActivityAcknowledgementContext = createContext<ActivityAcknowledgementContextType>(undefined);\n\nexport default ActivityAcknowledgementContext;\n\nexport type { ActivityAcknowledgementContextType };\n","import { isValidElement, useMemo } from 'react';\n\nimport { ActivityComponentFactory } from '../../types/ActivityMiddleware';\nimport { RenderAttachment } from '../../types/AttachmentMiddleware';\nimport useRenderAttachment from '../useRenderAttachment';\nimport useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useCreateActivityRendererInternal(\n renderAttachmentOverride?: RenderAttachment\n): ActivityComponentFactory {\n const { activityRenderer: createActivityRenderer } = useWebChatAPIContext();\n const defaultRenderAttachment = useRenderAttachment();\n\n const renderAttachment: RenderAttachment = renderAttachmentOverride || defaultRenderAttachment;\n\n return useMemo(\n () =>\n (...createActivityRendererOptions) => {\n const renderActivity = createActivityRenderer(...createActivityRendererOptions);\n\n if (!renderActivity) {\n return false;\n }\n\n return renderActivityOptions => {\n if (isValidElement(renderActivity)) {\n return renderActivity;\n }\n\n const activityElement = renderActivity(\n (...renderAttachmentArgs) => renderAttachment(...renderAttachmentArgs),\n renderActivityOptions\n );\n\n // \"activityElement\" cannot be false. If the middleware want to hide the \"activityElement\", it should return \"false\" when we call createActivityRenderer().\n activityElement ||\n console.warn(\n 'botframework-webchat: To hide an activity, the activity renderer should return false. It should not return a function that will return false when called.'\n );\n\n return activityElement;\n };\n },\n [createActivityRenderer, renderAttachment]\n );\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useRenderAttachment() {\n const { attachmentRenderer } = useWebChatAPIContext();\n\n return attachmentRenderer;\n}\n","/* eslint react/prop-types: \"off\" */\n/* eslint react/require-default-props: \"off\" */\n\nimport PropTypes from 'prop-types';\nimport React, { memo, useMemo } from 'react';\n\nimport { SENDING, SEND_FAILED, SENT } from '../types/internal/SendStatus';\nimport useGetKeyByActivity from '../hooks/useGetKeyByActivity';\nimport useSendStatusByActivityKey from '../hooks/useSendStatusByActivityKey';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nimport type { ReactNode, VFC } from 'react';\nimport type { RenderActivityStatus } from '../types/ActivityStatusMiddleware';\nimport type { SendStatus } from '../types/internal/SendStatus';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\ntype ActivityStatusContainerCoreProps = {\n activity: WebChatActivity;\n hideTimestamp: boolean;\n nextVisibleActivity: WebChatActivity;\n sendStatus: SendStatus;\n};\n\nconst ActivityStatusContainerCore: VFC<ActivityStatusContainerCoreProps> = memo(\n ({ activity, hideTimestamp, nextVisibleActivity, sendStatus }) => {\n const { activityStatusRenderer: createActivityStatusRenderer }: { activityStatusRenderer: RenderActivityStatus } =\n useWebChatAPIContext();\n\n return createActivityStatusRenderer({\n activity,\n hideTimestamp,\n nextVisibleActivity, // \"nextVisibleActivity\" is for backward compatibility, please remove this line on or after 2022-07-22.\n sameTimestampGroup: hideTimestamp, // \"sameTimestampGroup\" is for backward compatibility, please remove this line on or after 2022-07-22.\n sendState: sendStatus === SEND_FAILED || sendStatus === SENT ? sendStatus : SENDING\n });\n }\n);\n\nActivityStatusContainerCore.propTypes = {\n // PropTypes cannot fully capture TypeScript types.\n // @ts-ignore\n activity: PropTypes.shape({\n from: PropTypes.shape({ role: PropTypes.string }).isRequired,\n localTimestamp: PropTypes.string\n }).isRequired,\n hideTimestamp: PropTypes.bool.isRequired,\n nextVisibleActivity: PropTypes.any,\n sendStatus: PropTypes.oneOf([SENDING, SEND_FAILED, SENT])\n};\n\ntype ActivityStatusContainerProps = {\n activity: WebChatActivity;\n hideTimestamp: boolean;\n nextVisibleActivity: WebChatActivity;\n};\n\nconst ActivityStatusContainer: VFC<ActivityStatusContainerProps> = memo(\n ({ activity, hideTimestamp, nextVisibleActivity }) => {\n const [sendStatusByActivityKey] = useSendStatusByActivityKey();\n const getKeyByActivity = useGetKeyByActivity();\n\n const key = getKeyByActivity(activity);\n\n const sendStatus = (typeof key === 'string' && sendStatusByActivityKey.get(key)) || SENT;\n\n return (\n <ActivityStatusContainerCore\n activity={activity}\n hideTimestamp={hideTimestamp}\n nextVisibleActivity={nextVisibleActivity}\n sendStatus={sendStatus}\n />\n );\n }\n);\n\nActivityStatusContainer.defaultProps = {\n hideTimestamp: false,\n nextVisibleActivity: undefined\n};\n\nActivityStatusContainer.propTypes = {\n // PropTypes cannot fully capture TypeScript types.\n // @ts-ignore\n activity: PropTypes.shape({\n from: PropTypes.shape({ role: PropTypes.string }).isRequired,\n localTimestamp: PropTypes.string\n }).isRequired,\n hideTimestamp: PropTypes.bool,\n nextVisibleActivity: PropTypes.any\n};\n\ntype ActivityStatusRenderer = (renderOptions: {\n activity: WebChatActivity;\n nextVisibleActivity: WebChatActivity;\n}) => (props?: { hideTimestamp?: boolean }) => ReactNode;\n\nexport default function useCreateActivityStatusRenderer(): ActivityStatusRenderer {\n return useMemo<ActivityStatusRenderer>(\n () =>\n ({ activity, nextVisibleActivity }) =>\n ({ hideTimestamp } = {}) =>\n (\n <ActivityStatusContainer\n activity={activity}\n hideTimestamp={hideTimestamp}\n nextVisibleActivity={nextVisibleActivity}\n />\n ),\n []\n );\n}\n","import useGetKeyByActivity from '../providers/ActivityKeyer/useGetKeyByActivity';\n\nexport default useGetKeyByActivity;\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useActivityKeyerContext from './private/useContext';\n\nexport default function useGetKeyByActivity(): (activity?: WebChatActivity) => string | undefined {\n return useActivityKeyerContext().getKeyByActivity;\n}\n","import useSendStatusByActivityKey from '../providers/ActivitySendStatus/useSendStatusByActivityKey';\n\n// This JSDoc is copied from `/providers/ActivityStatus/useSendStatusByActivityKey`.\n/**\n * Returns a key/value map which stores the outgoing activity send status by activity key:\n *\n * - `\"sending\"`, the activity is currently in transit;\n * - `\"sent\"`, the activity is sent and acknowledged by the platform;\n * - `\"send failed\"`, the activity failed to send.\n *\n * If the send status is `\"send failed\"`, it could be due to (non-exhaustive):\n *\n * - Immediate or almost immediate failures, such as network error;\n * - It took longer than `styleOptions.sendTimeout` or `styleOptions.sendTimeoutForAttachments` to send.\n *\n * The send status of an activity could turn from `\"send failed\"` back to `\"sending\"` if (non-exhaustive):\n *\n * - The platform support resend and the activity is being resend;\n * - The `styleOptions.sendTimeout` or `styleOptions.sendTimeoutForAttachments` has increased past the expiry, overthrown the previous decision for timeout.\n *\n * If the activity key does not exists in this map, the activity is not an outgoing activity.\n */\nexport default useSendStatusByActivityKey;\n","import { createContext } from 'react';\n\nimport type { SendStatus } from '../../../types/internal/SendStatus';\n\ntype ActivitySendStatusContextType = {\n sendStatusByActivityKeyState: readonly [ReadonlyMap<string, SendStatus>];\n};\n\nconst ActivitySendStatusContext = createContext<ActivitySendStatusContextType>(\n // This is intentionally casted to `undefined`. We will do the checking in `useContext`.\n undefined as unknown as ActivitySendStatusContextType\n);\n\nexport default ActivitySendStatusContext;\n\nexport type { ActivitySendStatusContextType };\n","import { useMemo } from 'react';\nimport useStyleOptions from './useStyleOptions';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nimport type { AvatarComponentFactory } from '../types/AvatarMiddleware';\nimport type { ReactNode } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nexport default function useCreateAvatarRenderer(): ({\n activity\n}: {\n activity: WebChatActivity;\n}) => false | (() => Exclude<ReactNode, boolean | null | undefined>) {\n const [styleOptions] = useStyleOptions();\n const { avatarRenderer }: { avatarRenderer: AvatarComponentFactory } = useWebChatAPIContext();\n\n return useMemo(\n () =>\n ({ activity }) => {\n const { from: { role } = {} }: { from?: { role?: string } } = activity;\n\n const result = avatarRenderer({\n activity,\n fromUser: role === 'user',\n styleOptions\n });\n\n if (result !== false && typeof result !== 'function') {\n console.warn(\n 'botframework-webchat: avatarMiddleware should return a function to render the avatar, or return false if avatar should be hidden. Please refer to HOOKS.md for details.'\n );\n\n return () => result;\n }\n\n return result;\n },\n [avatarRenderer, styleOptions]\n );\n}\n","import { useMemo } from 'react';\n\nimport useLocalizedGlobalize from './internal/useLocalizedGlobalize';\nimport usePonyfill from './usePonyfill';\n\n// False positive: we are using `Date` as a type.\n// eslint-disable-next-line no-restricted-globals\nexport default function useDateFormatter(): (date: Date | number | string) => string {\n const [{ Date }] = usePonyfill();\n const [globalize] = useLocalizedGlobalize();\n\n const formatDate = useMemo(\n () => date => globalize.dateFormatter({ skeleton: 'MMMMdhm' })(new Date(date)),\n [Date, globalize]\n );\n\n return formatDate;\n}\n","import useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useLocalizedStrings() {\n const { localizedStrings } = useWebChatAPIContext();\n\n return localizedStrings;\n}\n","import { isForbiddenPropertyName } from 'botframework-webchat-core';\nimport { useCallback } from 'react';\n\nimport getAllLocalizedStrings from '../localization/getAllLocalizedStrings';\nimport useLocalizedGlobalize from './internal/useLocalizedGlobalize';\nimport useLocalizedStrings from './internal/useLocalizedStrings';\nimport isObject from '../utils/isObject';\n\nconst DEFAULT_STRINGS = getAllLocalizedStrings()['en-US'];\n\ntype Plural = {\n zero?: string;\n one?: string;\n two?: string;\n few?: string;\n many?: string;\n other: string;\n};\n\nexport default function useLocalizer({ plural }: { plural?: boolean } = {}) {\n const [globalize] = useLocalizedGlobalize();\n const localizedStrings = useLocalizedStrings();\n\n return useCallback(\n (id: string | Plural, ...args: [(number | string)?, ...string[]]) => {\n let stringId = id as string;\n\n if (plural) {\n const pluralId = id as Plural;\n\n if (!isObject(pluralId)) {\n throw new Error('useLocalizer: Plural string must pass \"id\" as a map instead of string.');\n } else if (typeof pluralId.other !== 'string') {\n throw new Error('useLocalizer: Plural string must have \"id.other\" of string.');\n } else if (typeof args[0] !== 'number') {\n throw new Error('useLocalizer: Plural string must have first argument as a number.');\n }\n\n for (const pluralForm of ['zero', 'one', 'two', 'few', 'many']) {\n // Mitigation through allowlisting.\n // eslint-disable-next-line security/detect-object-injection\n const type = typeof id[pluralForm];\n\n if (type !== 'string' && type !== 'undefined') {\n throw new Error(`useLocalizer: Plural string must have \"id.${pluralForm}\" of string or undefined.`);\n }\n }\n\n const unsupportedPluralForms = Object.keys(id).filter(\n pluralForm => !['zero', 'one', 'two', 'few', 'many', 'other'].includes(pluralForm)\n );\n\n if (unsupportedPluralForms.length) {\n throw new Error(\n `useLocalizer: Plural string \"id\" must be either \"zero\", \"one\", \"two\", \"few\", \"many\", \"other\". But not ${unsupportedPluralForms\n .map(pluralForm => `\"${pluralForm}\"`)\n .join(', ')}.`\n );\n }\n\n stringId = pluralId[globalize.plural(args[0])] || pluralId.other;\n } else if (typeof id !== 'string') {\n throw new Error('useLocalizer: \"id\" must be a string.');\n }\n\n return Object.entries(args).reduce(\n (str, [index, arg]) => str.replace(`$${+index + 1}`, arg),\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n isForbiddenPropertyName(stringId) ? '' : localizedStrings[stringId] || DEFAULT_STRINGS[stringId] || ''\n );\n },\n [globalize, localizedStrings, plural]\n );\n}\n","import useMarkAllAsAcknowledged from '../providers/ActivityAcknowledgement/useMarkAllAsAcknowledged';\n\nexport default useMarkAllAsAcknowledged;\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useTrackDimension(): (name: string, data: any) => void {\n const { trackDimension } = useWebChatAPIContext();\n\n return trackDimension;\n}\n","import { useEffect, useRef } from 'react';\n\nexport default function usePrevious<T>(value: T): T {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nconst RenderChildrenFunction = ({ children }) => (typeof children === 'function' ? children() : children);\n\nclass ErrorBoundary extends Component {\n constructor() {\n super();\n\n this.state = { hasError: false };\n }\n\n componentDidCatch(error) {\n const { onError } = this.props;\n\n this.setState({ hasError: true });\n\n onError(error);\n }\n\n render() {\n const { children } = this.props;\n const { hasError } = this.state;\n\n return !hasError && <RenderChildrenFunction>{children}</RenderChildrenFunction>;\n }\n}\n\nErrorBoundary.defaultProps = {\n children: undefined,\n onError: undefined\n};\n\nErrorBoundary.propTypes = {\n children: PropTypes.any,\n onError: PropTypes.func\n};\n\nexport default ErrorBoundary;\n","import { warnOnce } from 'botframework-webchat-core';\n\nimport defaultStyleOptions from './defaultStyleOptions';\nimport StyleOptions, { StrictStyleOptions } from './StyleOptions';\n\nconst hideScrollToEndButtonDeprecation = warnOnce(\n '\"styleOptions.hideScrollToEndButton\" has been deprecated. To hide scroll to end button, set \"scrollToEndBehavior\" to false. This deprecation migration will be removed on or after 2023-06-02.'\n);\n\nconst newMessagesButtonFontSizeDeprecation = warnOnce(\n '\"styleOptions.newMessagesButtonFontSize\" has been renamed to \"styleOptions.scrollToEndButtonFontSize\". This deprecation migration will be removed on or after 2023-06-02.'\n);\n\nconst suggestedActionBackgroundDeprecation = warnOnce(\n '\"styleOptions.suggestedActionBackground\" has been deprecated. Please use \"styleOptions.suggestedActionBackgroundColor\" instead. This deprecation migration will be removed on or after 2021-09-16.'\n);\n\nconst suggestedActionXXXBackgroundDeprecation = warnOnce(\n '\"styleOptions.suggestedActionXXXBackground\" has been deprecated. Please use \"styleOptions.suggestedActionBackgroundColorOnXXX\" instead. This deprecation migration will be removed on or after 2021-09-16.'\n);\n\nconst suggestedActionDisabledDeprecation = warnOnce(\n '\"styleOptions.suggestedActionDisabledXXX\" has been renamed to \"styleOptions.suggestedActionXXXOnDisabled\". This deprecation migration will be removed on or after 2021-09-16.'\n);\n\n// TODO: [P4] We should add a notice for people who want to use \"styleSet\" instead of \"styleOptions\".\n// \"styleSet\" is actually CSS stylesheet and it is based on the DOM tree.\n// DOM tree may change from time to time, thus, maintaining \"styleSet\" becomes a constant effort.\n\n// eslint-disable-next-line complexity\nexport default function normalizeStyleOptions({\n hideScrollToEndButton,\n newMessagesButtonFontSize,\n ...options\n}: StyleOptions = {}): StrictStyleOptions {\n const filledOptions: Required<StyleOptions> = { ...defaultStyleOptions, ...options };\n\n // Keep this list flat (no nested style) and serializable (no functions)\n const { bubbleFromUserNubOffset, bubbleNubOffset, emojiSet } = filledOptions;\n\n let normalizedBubbleFromUserNubOffset: number;\n let normalizedBubbleNubOffset: number;\n let normalizedEmojiSet: false | Record<string, string>;\n\n if (bubbleFromUserNubOffset === 'top') {\n normalizedBubbleFromUserNubOffset = 0;\n } else if (typeof bubbleFromUserNubOffset !== 'number') {\n normalizedBubbleFromUserNubOffset = -0;\n } else {\n normalizedBubbleFromUserNubOffset = bubbleFromUserNubOffset;\n }\n\n if (bubbleNubOffset === 'top') {\n normalizedBubbleNubOffset = 0;\n } else if (typeof bubbleNubOffset !== 'number') {\n normalizedBubbleNubOffset = -0;\n } else {\n normalizedBubbleNubOffset = bubbleNubOffset;\n }\n\n if (emojiSet === true) {\n normalizedEmojiSet = {\n ':)': '😊',\n ':-)': '😊',\n '(:': '😊',\n '(-:': '😊',\n ':-|': 'ðŸ˜',\n ':|': 'ðŸ˜',\n ':-(': '☹ï¸',\n ':(': '☹ï¸',\n ':-D': '😀',\n ':D': '😀',\n ':-p': '😛',\n ':p': '😛',\n ':-P': '😛',\n ':P': '😛',\n ':-o': '😲',\n ':o': '😲',\n ':O': '😲',\n ':-O': '😲',\n ':-0': '😲',\n ':0': '😲',\n ';-)': '😉',\n ';)': '😉',\n '<3': 'â¤ï¸',\n '</3': '💔',\n '<\\\\3': '💔'\n };\n } else if (Object.prototype.toString.call(emojiSet) !== '[object Object]') {\n console.warn('botframework-webchat: emojiSet must be a boolean or an object with emoticon: emojiValues');\n normalizedEmojiSet = false;\n } else {\n normalizedEmojiSet = emojiSet;\n }\n\n if (hideScrollToEndButton) {\n hideScrollToEndButtonDeprecation();\n\n // Only set if the \"scrollToEndButtonBehavior\" is not set.\n // If it has been set, the developer should know the older \"hideScrollToEndButton\" option is deprecated.\n filledOptions.scrollToEndButtonBehavior = options.scrollToEndButtonBehavior || false;\n }\n\n let patchedScrollToEndButtonBehavior = filledOptions.scrollToEndButtonBehavior;\n\n if (patchedScrollToEndButtonBehavior !== 'any' && patchedScrollToEndButtonBehavior !== false) {\n patchedScrollToEndButtonBehavior === 'unread' ||\n console.warn(\n 'Web Chat: \"scrollToEndButtonBehavior\" must be either \"unread\", \"any\", or false, will set to \"unread\".'\n );\n\n patchedScrollToEndButtonBehavior = 'unread';\n }\n\n if (newMessagesButtonFontSize) {\n newMessagesButtonFontSizeDeprecation();\n\n // Only set if the \"scrollToEndButtonFontSize\" is not set.\n filledOptions.scrollToEndButtonFontSize = options.scrollToEndButtonFontSize || newMessagesButtonFontSize;\n }\n\n options.suggestedActionBackground && suggestedActionBackgroundDeprecation();\n\n if (options.suggestedActionActiveBackground) {\n suggestedActionXXXBackgroundDeprecation();\n\n filledOptions.suggestedActionBackgroundColorOnActive =\n options.suggestedActionBackgroundColorOnActive || options.suggestedActionActiveBackground;\n }\n\n if (options.suggestedActionFocusBackground) {\n suggestedActionXXXBackgroundDeprecation();\n\n filledOptions.suggestedActionBackgroundColorOnFocus =\n options.suggestedActionBackgroundColorOnFocus || options.suggestedActionFocusBackground;\n }\n\n if (options.suggestedActionHoverBackground) {\n suggestedActionXXXBackgroundDeprecation();\n\n filledOptions.suggestedActionBackgroundColorOnHover =\n options.suggestedActionBackgroundColorOnHover || options.suggestedActionHoverBackground;\n }\n\n if (options.suggestedActionDisabledBackground) {\n suggestedActionXXXBackgroundDeprecation();\n\n filledOptions.suggestedActionBackgroundColorOnDisabled =\n options.suggestedActionBackgroundColorOnDisabled || options.suggestedActionDisabledBackground;\n }\n\n if (options.suggestedActionDisabledBorderColor) {\n suggestedActionDisabledDeprecation();\n\n filledOptions.suggestedActionBorderColorOnDisabled =\n options.suggestedActionBorderColorOnDisabled || options.suggestedActionDisabledBorderColor;\n }\n\n if (options.suggestedActionDisabledBorderStyle) {\n suggestedActionDisabledDeprecation();\n\n filledOptions.suggestedActionBorderStyleOnDisabled =\n options.suggestedActionBorderStyleOnDisabled || options.suggestedActionDisabledBorderStyle;\n }\n\n if (options.suggestedActionDisabledBorderWidth) {\n suggestedActionDisabledDeprecation();\n\n filledOptions.suggestedActionBorderWidthOnDisabled =\n options.suggestedActionBorderWidthOnDisabled || options.suggestedActionDisabledBorderWidth;\n }\n\n if (options.suggestedActionDisabledTextColor) {\n suggestedActionDisabledDeprecation();\n\n filledOptions.suggestedActionTextColorOnDisabled =\n options.suggestedActionTextColorOnDisabled || options.suggestedActionDisabledTextColor;\n }\n\n return {\n ...filledOptions,\n bubbleFromUserNubOffset: normalizedBubbleFromUserNubOffset,\n bubbleNubOffset: normalizedBubbleNubOffset,\n emojiSet: normalizedEmojiSet,\n scrollToEndButtonBehavior: patchedScrollToEndButtonBehavior\n };\n}\n","/* eslint no-magic-numbers: \"off\" */\nimport StyleOptions from './StyleOptions';\n\nfunction fontFamily(fonts) {\n return fonts.map(font => `'${font}'`).join(', ');\n}\n\nconst DEFAULT_ACCENT = '#0063B1';\nconst DEFAULT_SUBTLE = '#767676'; // With contrast 4.5:1 to white\nconst PADDING_REGULAR = 10;\n\nconst DEFAULT_OPTIONS: Required<StyleOptions> = {\n // Basic styling\n accent: DEFAULT_ACCENT,\n backgroundColor: 'White',\n subtle: DEFAULT_SUBTLE,\n paddingRegular: PADDING_REGULAR,\n paddingWide: PADDING_REGULAR * 2,\n fontSizeSmall: '80%',\n monospaceFont: fontFamily(['Consolas', 'Courier New', 'monospace']),\n primaryFont: fontFamily(['Calibri', 'Helvetica Neue', 'Arial', 'sans-serif']),\n\n // Root\n rootHeight: '100%',\n rootWidth: '100%',\n rootZIndex: 0, // \"z-index\" for the root container of Web Chat. This will form a new stacking context so \"z-index\" used in children won't pollute.\n\n transitionDuration: '0s',\n\n // Avatar\n avatarBorderRadius: '50%',\n avatarSize: 40,\n botAvatarBackgroundColor: undefined,\n botAvatarImage: undefined,\n botAvatarInitials: undefined,\n userAvatarBackgroundColor: undefined,\n userAvatarImage: undefined,\n userAvatarInitials: undefined,\n showAvatarInGroup: 'status',\n\n // Bubble\n // TODO: Should we make a bubbleFromBot*\n bubbleBackground: 'White',\n bubbleBorderColor: '#E6E6E6',\n bubbleBorderRadius: 2,\n bubbleBorderStyle: 'solid',\n bubbleBorderWidth: 1,\n bubbleFromUserBackground: 'White',\n bubbleFromUserBorderColor: '#E6E6E6',\n bubbleFromUserBorderRadius: 2,\n bubbleFromUserBorderStyle: 'solid',\n bubbleFromUserBorderWidth: 1,\n bubbleFromUserNubOffset: 0,\n bubbleFromUserNubSize: undefined,\n bubbleFromUserTextColor: 'Black',\n bubbleImageHeight: 240,\n bubbleMaxWidth: 480, // Based off screen width = 600px\n bubbleMinHeight: 40,\n bubbleMinWidth: 250, // min screen width = 300px; Microsoft Edge requires 372px (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/13621468/)\n bubbleNubOffset: 0,\n bubbleNubSize: undefined,\n bubbleTextColor: 'Black',\n messageActivityWordBreak: 'break-word',\n\n // Connectivity UI\n connectivityIconPadding: PADDING_REGULAR * 1.2,\n connectivityMarginLeftRight: PADDING_REGULAR * 1.4,\n connectivityMarginTopBottom: PADDING_REGULAR * 0.8,\n connectivityTextSize: '75%',\n failedConnectivity: '#C50F1F',\n slowConnectivity: '#EAA300',\n notificationText: '#5E5E5E',\n slowConnectionAfter: 15000,\n\n // Emoji\n emojiSet: true,\n\n // Live region - Accessibility\n internalLiveRegionFadeAfter: 1000,\n\n // Markdown\n markdownExternalLinkIconImage:\n 'url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuMjUwMSA0LjUwMDE3SDEwLjc0OTVDMTEuMTYzNyA0LjUwMDE3IDExLjQ5OTUgNC44MzU5NiAxMS40OTk1IDUuMjUwMTdDMTEuNDk5NSA1LjYyOTg2IDExLjIxNzMgNS45NDM2NiAxMC44NTEzIDUuOTkzMzJMMTAuNzQ5NSA2LjAwMDE3SDcuMjQ5NzRDNi4wNzA3OSA1Ljk5OTYxIDUuMTAzNDkgNi45MDY1NiA1LjAwNzg2IDguMDYxMTJMNS4wMDAyOCA4LjIyMDAzTDUuMDAzMTIgMTYuNzUwN0M1LjAwMzQzIDE3Ljk0MTUgNS45Mjg4NSAxOC45MTYxIDcuMDk5NjYgMTguOTk0OUw3LjI1MzcxIDE5LjAwMDFMMTUuNzUxOCAxOC45ODg0QzE2Ljk0MTUgMTguOTg2OCAxNy45MTQ1IDE4LjA2MiAxNy45OTM1IDE2Ljg5MjNMMTcuOTk4NyAxNi43Mzg0VjEzLjIzMjFDMTcuOTk4NyAxMi44MTc5IDE4LjMzNDUgMTIuNDgyMSAxOC43NDg3IDEyLjQ4MjFDMTkuMTI4NCAxMi40ODIxIDE5LjQ0MjIgMTIuNzY0MyAxOS40OTE4IDEzLjEzMDNMMTkuNDk4NyAxMy4yMzIxVjE2LjczODRDMTkuNDk4NyAxOC43NDA3IDE3LjkyOTMgMjAuMzc2OSAxNS45NTI4IDIwLjQ4MjlMMTUuNzUzOCAyMC40ODg0TDcuMjU4MjcgMjAuNTAwMUw3LjA1NDk1IDIwLjQ5NDlDNS4xNDIzOSAyMC4zOTU0IDMuNjA4OTUgMTguODYyNyAzLjUwODM3IDE2Ljk1MDJMMy41MDMxMiAxNi43NTExTDMuNTAwODkgOC4yNTI3TDMuNTA1MjkgOC4wNTAyQzMuNjA1MzkgNi4xMzc0OSA1LjEzODY3IDQuNjA0NDkgNy4wNTA5NiA0LjUwNTI3TDcuMjUwMSA0LjUwMDE3SDEwLjc0OTVINy4yNTAxWk0xMy43NDgxIDMuMDAxNDZMMjAuMzAxOCAzLjAwMTk3TDIwLjQwMTQgMy4wMTU3NUwyMC41MDIyIDMuMDQzOTNMMjAuNTU5IDMuMDY4MDNDMjAuNjEyMiAzLjA5MTIyIDIwLjY2MzQgMy4xMjE2MyAyMC43MTExIDMuMTU4ODVMMjAuNzgwNCAzLjIyMTU2TDIwLjg2NDEgMy4zMjAxNEwyMC45MTgzIDMuNDEwMjVMMjAuOTU3IDMuNTAwNTdMMjAuOTc2MiAzLjU2NDc2TDIwLjk4OTggMy42Mjg2MkwyMC45OTkyIDMuNzIyODJMMjAuOTk5NyAxMC4yNTU0QzIwLjk5OTcgMTAuNjY5NiAyMC42NjM5IDExLjAwNTQgMjAuMjQ5NyAxMS4wMDU0QzE5Ljg3IDExLjAwNTQgMTkuNTU2MiAxMC43MjMyIDE5LjUwNjUgMTAuMzU3MUwxOS40OTk3IDEwLjI1NTRMMTkuNDk4OSA1LjU2MTQ3TDEyLjI3OTcgMTIuNzg0N0MxMi4wMTM0IDEzLjA1MSAxMS41OTY4IDEzLjA3NTMgMTEuMzAzMSAxMi44NTc1TDExLjIxOSAxMi43ODQ5QzEwLjk1MjcgMTIuNTE4NyAxMC45Mjg0IDEyLjEwMjEgMTEuMTQ2MiAxMS44MDg0TDExLjIxODggMTEuNzI0M0wxOC40MzY5IDQuNTAxNDZIMTMuNzQ4MUMxMy4zNjg0IDQuNTAxNDYgMTMuMDU0NiA0LjIxOTMxIDEzLjAwNSAzLjg1MzI0TDEyLjk5ODEgMy43NTE0NkMxMi45OTgxIDMuMzcxNzcgMTMuMjgwMyAzLjA1Nzk3IDEzLjY0NjQgMy4wMDgzMUwxMy43NDgxIDMuMDAxNDZaIiBmaWxsPSIjMjEyMTIxIiAvPjwvc3ZnPg==)',\n markdownRespectCRLF: true,\n\n // Scroll behavior\n hideScrollToEndButton: undefined, // Deprecated as of 4.14.0. Use \"scrollToEndButtonBehavior\" instead. Remove on or after 2023-06-02.\n autoScrollSnapOnActivity: false,\n autoScrollSnapOnActivityOffset: 0,\n autoScrollSnapOnPage: false,\n autoScrollSnapOnPageOffset: 0, // TODO: Rename from \"autoScrollSnapOnPageoffset\".\n\n // Send box\n hideSendBox: false,\n hideUploadButton: false,\n microphoneButtonColorOnDictate: '#F33',\n sendBoxBackground: 'White',\n\n // Send box buttons\n sendBoxButtonColor: undefined,\n sendBoxButtonShadeColor: undefined,\n\n sendBoxButtonColorOnActive: undefined,\n sendBoxButtonShadeColorOnActive: '#EDEBE9',\n\n sendBoxButtonColorOnDisabled: '#A19F9D',\n sendBoxButtonShadeColorOnDisabled: '#F3F2F1',\n\n sendBoxButtonColorOnFocus: undefined,\n sendBoxButtonShadeColorOnFocus: undefined,\n\n sendBoxButtonColorOnHover: undefined,\n sendBoxButtonShadeColorOnHover: '#F3F2F1',\n\n sendBoxButtonShadeBorderRadius: 2,\n sendBoxButtonShadeInset: 2,\n\n sendBoxButtonKeyboardFocusIndicatorBorderColor: '#605E5C',\n sendBoxButtonKeyboardFocusIndicatorBorderRadius: 0,\n sendBoxButtonKeyboardFocusIndicatorBorderStyle: 'solid',\n sendBoxButtonKeyboardFocusIndicatorBorderWidth: 1,\n sendBoxButtonKeyboardFocusIndicatorInset: 4,\n\n sendBoxDisabledTextColor: undefined,\n sendBoxHeight: 40,\n sendBoxMaxHeight: 200,\n sendBoxTextColor: 'Black',\n // TODO: We should deprecate this because there isn't an easy way to make the width of the send box narrower than the transcript\n sendBoxBorderBottom: undefined,\n sendBoxBorderLeft: undefined,\n sendBoxBorderRight: undefined,\n sendBoxBorderTop: 'solid 1px #E6E6E6',\n sendBoxPlaceholderColor: undefined,\n sendBoxTextWrap: false,\n sendBoxButtonAlignment: 'stretch',\n\n // Visually show spoken text\n showSpokenText: false,\n\n spinnerAnimationBackgroundImage: undefined,\n spinnerAnimationHeight: 16,\n spinnerAnimationWidth: 16,\n spinnerAnimationPadding: 12,\n\n // Suggested actions\n suggestedActionBorderRadius: 0,\n suggestedActionHeight: 40,\n suggestedActionImageHeight: 20,\n suggestedActionLayout: 'carousel',\n\n suggestedActionBackgroundColor: 'White',\n suggestedActionBorderColor: undefined,\n suggestedActionBorderStyle: 'solid',\n suggestedActionBorderWidth: 2,\n suggestedActionTextColor: undefined,\n\n suggestedActionBackgroundColorOnActive: '#EDEBE9',\n suggestedActionBorderColorOnActive: undefined,\n suggestedActionBorderStyleOnActive: undefined,\n suggestedActionBorderWidthOnActive: undefined,\n suggestedActionTextColorOnActive: undefined,\n\n suggestedActionBackgroundColorOnDisabled: undefined,\n suggestedActionBorderColorOnDisabled: '#E6E6E6',\n suggestedActionBorderStyleOnDisabled: undefined,\n suggestedActionBorderWidthOnDisabled: undefined,\n suggestedActionTextColorOnDisabled: undefined,\n\n suggestedActionBackgroundColorOnFocus: undefined,\n suggestedActionBorderColorOnFocus: undefined,\n suggestedActionBorderStyleOnFocus: undefined,\n suggestedActionBorderWidthOnFocus: undefined,\n suggestedActionTextColorOnFocus: undefined,\n\n suggestedActionBackgroundColorOnHover: '#F3F2F1',\n suggestedActionBorderColorOnHover: undefined,\n suggestedActionBorderStyleOnHover: undefined,\n suggestedActionBorderWidthOnHover: undefined,\n suggestedActionTextColorOnHover: undefined,\n\n suggestedActionKeyboardFocusIndicatorBorderColor: '#605E5C',\n suggestedActionKeyboardFocusIndicatorBorderRadius: 0,\n suggestedActionKeyboardFocusIndicatorBorderStyle: 'dashed',\n suggestedActionKeyboardFocusIndicatorBorderWidth: 1,\n suggestedActionKeyboardFocusIndicatorInset: 2,\n\n suggestedActionActiveBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionDisabledBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionDisabledBorderColor: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionDisabledBorderStyle: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionDisabledBorderWidth: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionDisabledTextColor: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionFocusBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n suggestedActionHoverBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.\n\n // Suggested actions carousel layout\n suggestedActionsCarouselFlipperCursor: undefined,\n suggestedActionsCarouselFlipperBoxWidth: 40,\n suggestedActionsCarouselFlipperSize: 20,\n\n // Suggested actions flow layout\n suggestedActionsFlowMaxHeight: undefined,\n\n // Suggested actions stacked layout\n suggestedActionsStackedHeight: undefined,\n suggestedActionsStackedOverflow: undefined,\n suggestedActionsStackedLayoutButtonMaxHeight: undefined,\n suggestedActionsStackedLayoutButtonTextWrap: false,\n\n suggestedActionsVisualKeyboardIndicatorColor: 'Black',\n suggestedActionsVisualKeyboardIndicatorStyle: 'solid',\n suggestedActionsVisualKeyboardIndicatorWidth: 2,\n\n // Timestamp\n groupTimestamp: true,\n sendTimeout: 20000,\n sendTimeoutForAttachments: 120000,\n timestampColor: undefined,\n timestampFormat: 'relative',\n\n // Transcript overlay buttons\n scrollToEndButtonBehavior: 'unread',\n scrollToEndButtonFontSize: '85%',\n newMessagesButtonFontSize: undefined, // Deprecated as of 4.14.0, renamed to \"scrollToEndButtonFontSize\". Remove on or after 2023-06-02.\n transcriptOverlayButtonBackground: 'rgba(0, 0, 0, .6)',\n transcriptOverlayButtonBackgroundOnDisabled: 'rgba(0, 0, 0, .6)',\n transcriptOverlayButtonBackgroundOnFocus: 'rgba(0, 0, 0, .8)',\n transcriptOverlayButtonBackgroundOnHover: 'rgba(0, 0, 0, .8)',\n transcriptOverlayButtonColor: 'White',\n transcriptOverlayButtonColorOnDisabled: 'White',\n transcriptOverlayButtonColorOnFocus: undefined,\n transcriptOverlayButtonColorOnHover: undefined,\n\n // Toast UI\n\n notificationDebounceTimeout: 400,\n\n hideToaster: false,\n toasterHeight: 32,\n toasterMaxHeight: 32 * 5,\n toasterSingularMaxHeight: 50,\n toastFontSize: '87.5%',\n toastIconWidth: 36,\n toastSeparatorColor: '#E8EAEC',\n toastTextPadding: 6,\n\n toastErrorBackgroundColor: '#FDE7E9',\n toastErrorColor: '#A80000',\n toastInfoBackgroundColor: '#CEF1FF',\n toastInfoColor: '#105E7D',\n toastSuccessBackgroundColor: '#DFF6DD',\n toastSuccessColor: '#107C10',\n toastWarnBackgroundColor: '#FFF4CE',\n toastWarnColor: '#3B3A39',\n\n // Transcript\n transcriptTerminatorBackgroundColor: '#595959',\n transcriptTerminatorBorderRadius: 5,\n transcriptTerminatorColor: 'White',\n transcriptTerminatorFontSize: 12,\n\n transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,\n transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',\n transcriptActivityVisualKeyboardIndicatorWidth: 1,\n\n transcriptVisualKeyboardIndicatorColor: 'Black',\n transcriptVisualKeyboardIndicatorStyle: 'solid',\n transcriptVisualKeyboardIndicatorWidth: 2,\n\n // Typing animation\n typingAnimationBackgroundImage: undefined,\n typingAnimationDuration: 5000,\n typingAnimationHeight: 20,\n typingAnimationWidth: 64,\n\n // Upload thumbnail\n // TODO: [P0] #3322 This is only supported in HTML.\n enableUploadThumbnail: true,\n uploadThumbnailContentType: 'image/jpeg',\n uploadThumbnailHeight: 360,\n uploadThumbnailQuality: 0.6,\n uploadThumbnailWidth: 720,\n\n // Video\n videoHeight: 270 // based on bubbleMaxWidth: 480 / 16 * 9 = 270\n};\n\nexport default DEFAULT_OPTIONS;\n","/* eslint-disable no-console */\nimport { createElement, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport useErrorBoxClass from './useErrorBoxClass';\nimport useTrackException from '../useTrackException';\n\nconst ErrorBox = ({ error, type }) => {\n const [errorBoxClass] = useErrorBoxClass();\n const trackException = useTrackException();\n\n useEffect(() => {\n trackException(error, false);\n }, [error, trackException]);\n\n useEffect(() => {\n console.group(`botframework-webchat: ${type}`);\n console.error(error);\n console.groupEnd();\n }, [error, type]);\n\n return !!errorBoxClass && createElement(errorBoxClass, { error, type });\n};\n\nErrorBox.defaultProps = {\n type: undefined\n};\n\nErrorBox.propTypes = {\n error: PropTypes.any.isRequired,\n type: PropTypes.string\n};\n\nexport default ErrorBox;\n","type Work<T> = (...args: any[]) => T;\ntype Enhancer<T> = (next: Work<T>) => Work<T>;\ntype Middleware<Setup, Result> = (setup: Setup) => Enhancer<Result>;\n\nexport default function concatMiddleware<Setup, Result>(\n ...middleware: Middleware<Setup, Result>[]\n): Middleware<Setup, Result> {\n return setupArgs => {\n const setup = middleware.reduce(\n (setup, middleware) => (middleware ? [...setup, middleware(setupArgs)] : setup),\n []\n );\n\n return last => {\n const stack = setup.slice();\n const work =\n (index: number) =>\n (...runArgs) => {\n const next = stack[+index];\n\n return (next ? next(work(index + 1)) : last)(...runArgs);\n };\n\n return work(0);\n };\n };\n}\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import createCustomEvent from './createCustomEvent';\n\nexport default function createErrorEvent(error) {\n return createCustomEvent('error', { error });\n}\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\n\nimport migrateDeprecatedProps from './migrateDeprecatedProps';\nimport Say from './Say';\n\nconst SayButton = props => {\n const {\n children,\n disabled,\n lang,\n onBoundary,\n onEnd,\n onError,\n onStart,\n pitch,\n ponyfill,\n rate,\n text,\n voice,\n volume\n } = migrateDeprecatedProps(props, SayButton);\n\n const [busy, setBusy] = useState(false);\n const handleClick = useCallback(() => setBusy(true));\n const sayProps = {\n lang,\n onBoundary,\n onEnd: event => {\n setBusy(false);\n onEnd && onEnd(event);\n },\n onError,\n onStart,\n pitch,\n ponyfill,\n rate,\n text,\n voice,\n volume\n };\n\n return (\n <React.Fragment>\n <button\n disabled={ typeof disabled === 'boolean' ? disabled : busy }\n onClick={ handleClick }\n >\n { children }\n </button>\n { busy && <Say { ...sayProps } /> }\n </React.Fragment>\n );\n};\n\nSayButton.defaultProps = {\n children: undefined,\n disabled: undefined,\n lang: undefined,\n onBoundary: undefined,\n onEnd: undefined,\n onError: undefined,\n onStart: undefined,\n pitch: undefined,\n ponyfill: undefined,\n rate: undefined,\n text: undefined,\n voice: undefined,\n volume: undefined\n};\n\nSayButton.propTypes = {\n children: PropTypes.any,\n disabled: PropTypes.bool,\n lang: PropTypes.string,\n onBoundary: PropTypes.func,\n onEnd: PropTypes.func,\n onError: PropTypes.func,\n onStart: PropTypes.func,\n pitch: PropTypes.number,\n ponyfill: PropTypes.shape({\n speechSynthesis: PropTypes.any.isRequired,\n SpeechSynthesisUtterance: PropTypes.any.isRequired\n }),\n rate: PropTypes.number,\n text: PropTypes.string,\n voice: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n volume: PropTypes.number\n};\n\nexport default SayButton\n","export default function createNativeUtterance(\n {\n speechSynthesis,\n SpeechSynthesisUtterance\n },\n {\n lang,\n onBoundary,\n pitch,\n rate,\n text,\n voice,\n volume\n }\n) {\n const utterance = new SpeechSynthesisUtterance(text);\n let targetVoice;\n\n if (typeof voice === 'function') {\n targetVoice = voice.call(speechSynthesis, speechSynthesis.getVoices());\n } else {\n const { voiceURI } = voice || {};\n\n targetVoice = voiceURI && [].find.call([].slice.call(speechSynthesis.getVoices()), v => v.voiceURI === voiceURI);\n }\n\n // Edge will mute if \"lang\" is set to \"\"\n utterance.lang = lang || '';\n\n if (pitch || pitch === 0) {\n utterance.pitch = pitch;\n }\n\n if (rate || rate === 0) {\n utterance.rate = rate;\n }\n\n // Cognitive Services will error when \"voice\" is set to \"null\"\n // Edge will error when \"voice\" is set to \"undefined\"\n if (targetVoice) {\n utterance.voice = targetVoice;\n }\n\n if (volume || volume === 0) {\n utterance.volume = volume;\n }\n\n // Since browser quirks, start/error/end events are emulated for best compatibility\n // start/error/end events are emulated in QueuedUtterance\n\n onBoundary && utterance.addEventListener('boundary', onBoundary);\n // onEnd && utterance.addEventListener('end', onEnd);\n // onError && utterance.addEventListener('error', onError);\n // onStart && utterance.addEventListener('start', onStart);\n\n return utterance;\n}\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport Composer from './Composer';\nimport createCustomEvent from './createCustomEvent';\nimport createErrorEvent from './createErrorEvent';\nimport migrateDeprecatedProps from './migrateDeprecatedProps';\nimport useSynthesize from './useSynthesize';\n\nconst SayUtterance = props => {\n const {\n onEnd,\n onError,\n onStart,\n utterance\n } = migrateDeprecatedProps(props);\n\n const started = useRef(false);\n const synthesize = useSynthesize();\n\n // This useEffect() is essentially converting Promise-based useSynthesize() into events.\n useEffect(() => {\n // After synthesis started, if utterance has changed, the event will be fired by the wrong target.\n // Thus, we do not allow utterance to change after synthesis started.\n if (started.current) {\n // Since we have already cancelled the previous utterance, we are not starting a new one.\n // This is because if we start a new one, we could fire onStart event twice, which sound confusing to the developer.\n\n return console.warn('react-say: Should not change utterance after synthesis started.');\n }\n\n let cancelled;\n const { cancel, promise } = synthesize(utterance, () => {\n started.current = true;\n !cancelled && onStart && onStart(createCustomEvent('start'));\n });\n\n promise.then(\n () => !cancelled && onEnd && onEnd(createCustomEvent('end')),\n error => !cancelled && onError && onError(createErrorEvent(error))\n );\n\n return () => {\n cancelled = true;\n cancel();\n };\n }, []);\n\n return false;\n};\n\nSayUtterance.defaultProps = {\n onEnd: undefined,\n onError: undefined,\n onStart: undefined\n};\n\nSayUtterance.propTypes = {\n onEnd: PropTypes.func,\n onError: PropTypes.func,\n onStart: PropTypes.func\n};\n\nconst SayUtteranceWithContext = ({ ponyfill, ...props }) => (\n <Composer ponyfill={ ponyfill }>\n <SayUtterance { ...props } />\n </Composer>\n);\n\nSayUtteranceWithContext.defaultProps = {\n ...SayUtterance.defaultProps,\n ponyfill: undefined\n};\n\nSayUtteranceWithContext.propTypes = {\n ...SayUtterance.propTypes,\n ponyfill: PropTypes.shape({\n speechSynthesis: PropTypes.any.isRequired,\n SpeechSynthesisUtterance: PropTypes.any.isRequired\n })\n};\n\nexport default SayUtteranceWithContext\n","// HTML5 entities map: { name -> utf16string }\n//\n'use strict';\n\n/*eslint quotes:0*/\nmodule.exports = require('entities/lib/maps/entities.json');\n","// Regexps to match html elements\n\n'use strict';\n\nvar attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\n\nvar unquoted = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar single_quoted = \"'[^']*'\";\nvar double_quoted = '\"[^\"]*\"';\n\nvar attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';\n\nvar attribute = '(?:\\\\s+' + attr_name + '(?:\\\\s*=\\\\s*' + attr_value + ')?)';\n\nvar open_tag = '<[A-Za-z][A-Za-z0-9\\\\-]*' + attribute + '*\\\\s*\\\\/?>';\n\nvar close_tag = '<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>';\nvar comment = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->';\nvar processing = '<[?][\\\\s\\\\S]*?[?]>';\nvar declaration = '<![A-Z]+\\\\s+[^>]*>';\nvar cdata = '<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>';\n\nvar HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +\n '|' + processing + '|' + declaration + '|' + cdata + ')');\nvar HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');\n\nmodule.exports.HTML_TAG_RE = HTML_TAG_RE;\nmodule.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;\n","// ~~strike through~~\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function strikethrough(state, silent) {\n var i, scanned, token, len, ch,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x7E/* ~ */) { return false; }\n\n scanned = state.scanDelims(state.pos, true);\n len = scanned.length;\n ch = String.fromCharCode(marker);\n\n if (len < 2) { return false; }\n\n if (len % 2) {\n token = state.push('text', '', 0);\n token.content = ch;\n len--;\n }\n\n for (i = 0; i < len; i += 2) {\n token = state.push('text', '', 0);\n token.content = ch + ch;\n\n state.delimiters.push({\n marker: marker,\n length: 0, // disable \"rule of 3\" length checks meant for emphasis\n token: state.tokens.length - 1,\n end: -1,\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i, j,\n startDelim,\n endDelim,\n token,\n loneMarkers = [],\n max = delimiters.length;\n\n for (i = 0; i < max; i++) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x7E/* ~ */) {\n continue;\n }\n\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n token = state.tokens[startDelim.token];\n token.type = 's_open';\n token.tag = 's';\n token.nesting = 1;\n token.markup = '~~';\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = 's_close';\n token.tag = 's';\n token.nesting = -1;\n token.markup = '~~';\n token.content = '';\n\n if (state.tokens[endDelim.token - 1].type === 'text' &&\n state.tokens[endDelim.token - 1].content === '~') {\n\n loneMarkers.push(endDelim.token - 1);\n }\n }\n\n // If a marker sequence has an odd number of characters, it's splitted\n // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the\n // start of the sequence.\n //\n // So, we have to move all those markers after subsequent s_close tags.\n //\n while (loneMarkers.length) {\n i = loneMarkers.pop();\n j = i + 1;\n\n while (j < state.tokens.length && state.tokens[j].type === 's_close') {\n j++;\n }\n\n j--;\n\n if (i !== j) {\n token = state.tokens[j];\n state.tokens[j] = state.tokens[i];\n state.tokens[i] = token;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function strikethrough(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Process *this* and _that_\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function emphasis(state, silent) {\n var i, scanned, token,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { return false; }\n\n scanned = state.scanDelims(state.pos, marker === 0x2A);\n\n for (i = 0; i < scanned.length; i++) {\n token = state.push('text', '', 0);\n token.content = String.fromCharCode(marker);\n\n state.delimiters.push({\n // Char code of the starting marker (number).\n //\n marker: marker,\n\n // Total length of these series of delimiters.\n //\n length: scanned.length,\n\n // A position of the token this delimiter corresponds to.\n //\n token: state.tokens.length - 1,\n\n // If this delimiter is matched as a valid opener, `end` will be\n // equal to its position, otherwise it's `-1`.\n //\n end: -1,\n\n // Boolean flags that determine if this delimiter could open or close\n // an emphasis.\n //\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i,\n startDelim,\n endDelim,\n token,\n ch,\n isStrong,\n max = delimiters.length;\n\n for (i = max - 1; i >= 0; i--) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x5F/* _ */ && startDelim.marker !== 0x2A/* * */) {\n continue;\n }\n\n // Process only opening markers\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n // If the previous delimiter has the same marker and is adjacent to this one,\n // merge those into one strong delimiter.\n //\n // `<em><em>whatever</em></em>` -> `<strong>whatever</strong>`\n //\n isStrong = i > 0 &&\n delimiters[i - 1].end === startDelim.end + 1 &&\n // check that first two markers match and adjacent\n delimiters[i - 1].marker === startDelim.marker &&\n delimiters[i - 1].token === startDelim.token - 1 &&\n // check that last two markers are adjacent (we can safely assume they match)\n delimiters[startDelim.end + 1].token === endDelim.token + 1;\n\n ch = String.fromCharCode(startDelim.marker);\n\n token = state.tokens[startDelim.token];\n token.type = isStrong ? 'strong_open' : 'em_open';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = 1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = isStrong ? 'strong_close' : 'em_close';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = -1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n if (isStrong) {\n state.tokens[delimiters[i - 1].token].content = '';\n state.tokens[delimiters[startDelim.end + 1].token].content = '';\n i--;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function emphasis(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Since this is a bypass, we will relax some ESLint rules.\n// All classes/properties defined here are in W3C Web Speech API.\n\n/* eslint class-methods-use-this: \"off\" */\n/* eslint getter-return: \"off\" */\n/* eslint max-classes-per-file: [\"error\", 4] */\n/* eslint no-empty-function: \"off\" */\n\nimport EventTarget, { Event, getEventAttributeValue, setEventAttributeValue } from 'event-target-shim/es5';\n\nclass SpeechSynthesisEvent extends Event {\n constructor(type, utterance) {\n super(type);\n\n this._utterance = utterance;\n }\n\n get charIndex() {\n return 0;\n }\n\n get elapsedTime() {\n return 0;\n }\n\n get name() {\n // It is expected to return `undefined`, keeping the function empty to reduce footprint.\n }\n\n get utterance() {\n return this._utterance;\n }\n}\n\nclass SpeechSynthesisUtterance extends EventTarget {\n constructor(text) {\n super();\n\n this._lang = 'en-US';\n this._pitch = 1;\n this._rate = 1;\n this._text = text;\n this._voice = null;\n this._volume = 1;\n }\n\n get lang() {\n return this._lang;\n }\n\n set lang(value) {\n this._lang = value;\n }\n\n get pitch() {\n return this._pitch;\n }\n\n set pitch(value) {\n this._pitch = value;\n }\n\n get rate() {\n return this._rate;\n }\n\n set rate(value) {\n this._rate = value;\n }\n\n get text() {\n return this._text;\n }\n\n set text(value) {\n this._text = value;\n }\n\n get voice() {\n return this._voice;\n }\n\n set voice(value) {\n this._voice = value;\n }\n\n get volume() {\n return this._volume;\n }\n\n set volume(value) {\n this._volume = value;\n }\n\n get onboundary() {\n return getEventAttributeValue(this, 'boundary');\n }\n\n set onboundary(value) {\n setEventAttributeValue(this, 'boundary', value);\n }\n\n get onend() {\n return getEventAttributeValue(this, 'end');\n }\n\n set onend(value) {\n setEventAttributeValue(this, 'end', value);\n }\n\n get onerror() {\n return getEventAttributeValue(this, 'error');\n }\n\n set onerror(value) {\n setEventAttributeValue(this, 'error', value);\n }\n\n get onmark() {\n return getEventAttributeValue(this, 'mark');\n }\n\n set onmark(value) {\n setEventAttributeValue(this, 'mark', value);\n }\n\n get onpause() {\n return getEventAttributeValue(this, 'pause');\n }\n\n set onpause(value) {\n setEventAttributeValue(this, 'pause', value);\n }\n\n get onresume() {\n return getEventAttributeValue(this, 'resume');\n }\n\n set onresume(value) {\n setEventAttributeValue(this, 'resume', value);\n }\n\n get onstart() {\n return getEventAttributeValue(this, 'start');\n }\n\n set onstart(value) {\n setEventAttributeValue(this, 'start', value);\n }\n}\n\nclass SpeechSynthesisVoice {\n get default() {\n return true;\n }\n\n get lang() {\n return 'en-US';\n }\n\n get localService() {\n return true;\n }\n\n get name() {\n return 'English (US)';\n }\n\n get voiceURI() {\n return 'English (US)';\n }\n}\n\nclass SpeechSynthesis extends EventTarget {\n get paused() {\n return false;\n }\n\n get pending() {\n return false;\n }\n\n get speaking() {\n return false;\n }\n\n cancel() {}\n\n getVoices() {\n return [new SpeechSynthesisVoice()];\n }\n\n pause() {\n throw new Error('pause is not implemented.');\n }\n\n resume() {\n throw new Error('resume is not implemented.');\n }\n\n speak(utterance) {\n utterance.dispatchEvent(new SpeechSynthesisEvent('start', utterance));\n utterance.dispatchEvent(new SpeechSynthesisEvent('end', utterance));\n }\n\n get onvoiceschanged() {\n return getEventAttributeValue(this, 'voiceschanged');\n }\n\n set onvoiceschanged(value) {\n setEventAttributeValue(this, 'voiceschanged', value);\n }\n}\n\nconst speechSynthesis = new SpeechSynthesis();\n\nexport { speechSynthesis, SpeechSynthesisEvent, SpeechSynthesisUtterance, SpeechSynthesisVoice };\n","import { createContext } from 'react';\n\nimport type { ActivityWithRenderer, ReadonlyActivityTree } from './types';\n\ntype ActivityTreeContextType = {\n activityTreeWithRendererState: readonly [ReadonlyActivityTree];\n flattenedActivityTreeWithRendererState: readonly [readonly ActivityWithRenderer[]];\n};\n\nexport default createContext<ActivityTreeContextType>(undefined);\n\nexport type { ActivityTreeContextType };\n","export default function walkMarkdownTokens(tokens, walker) {\n return tokens.map(token => {\n if (token) {\n const nextToken = walker(token);\n\n if (nextToken.children) {\n nextToken.children = walkMarkdownTokens(nextToken.children, walker);\n }\n\n return nextToken;\n }\n\n return token;\n });\n}\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","module.exports = require(\"core-js-pure/features/instance/slice\");","module.exports = require(\"core-js-pure/features/instance/for-each\");","require('../../modules/web.dom-collections.iterator');\nvar classof = require('../../internals/classof');\nvar hasOwn = require('../../internals/has-own-property');\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/for-each');\n\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.forEach;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.forEach)\n || hasOwn(DOMIterables, classof(it)) ? method : own;\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar userAgent = require('../internals/engine-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar Function = global.Function;\n\nvar wrap = function (scheduler) {\n return MSIE ? function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = boundArgs ? arraySlice(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n apply(fn, this, args);\n } : fn, timeout);\n } : scheduler;\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\nmodule.exports = {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n};\n","module.exports = require(\"core-js-pure/features/promise\");","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport ScreenReaderText from '../../ScreenReaderText';\n\nconst { useDateFormatter, useLocalizer } = hooks;\n\nconst AbsoluteTime = ({ hide, value }) => {\n const localize = useLocalizer();\n const formatDate = useDateFormatter();\n\n const absoluteTime = formatDate(value);\n\n return (\n <React.Fragment>\n <ScreenReaderText text={localize('ACTIVITY_STATUS_SEND_STATUS_ALT_SENT_AT', absoluteTime)} />\n {!hide && <span aria-hidden={true}>{absoluteTime}</span>}\n </React.Fragment>\n );\n};\n\nAbsoluteTime.defaultProps = {\n hide: false\n};\n\nAbsoluteTime.propTypes = {\n hide: PropTypes.bool,\n value: PropTypes.string.isRequired\n};\n\nexport default AbsoluteTime;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\n\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst ROOT_STYLE = {\n overflow: 'hidden',\n position: 'relative',\n\n '& > img': {\n height: 'auto',\n left: '50%',\n position: 'absolute',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n width: '100%'\n }\n};\n\nconst CroppedImage = ({ alt, className, height, src, width }) => {\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n const sizeStyle = useMemo(() => ({ height, width }), [height, width]);\n\n return (\n <div className={classNames(rootClassName, (className || '') + '')} style={sizeStyle}>\n <img alt={alt} src={src} />\n </div>\n );\n};\n\nCroppedImage.defaultProps = {\n alt: '',\n className: ''\n};\n\nCroppedImage.propTypes = {\n alt: PropTypes.string,\n className: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n src: PropTypes.string.isRequired,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n};\n\nexport default CroppedImage;\n","var FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","import blobToArrayBuffer from './blobToArrayBuffer';\nimport workerFunction from './downscaleImageToDataURLUsingWorker.worker';\n\nfunction createWorker(fn) {\n const blob = new Blob([`(${fn})()`], { type: 'text/javascript' });\n const url = window.URL.createObjectURL(blob);\n\n return new Promise((resolve, reject) => {\n const worker = new Worker(url);\n\n worker.onerror = ({ error, message }) => reject(error || new Error(message));\n worker.onmessage = ({ data }) => data === 'ready' && resolve(worker);\n }).finally(() => {\n window.URL.revokeObjectURL(url);\n });\n}\n\nlet workerPromise;\n\nasync function getWorker() {\n let worker;\n\n if (workerPromise) {\n worker = await workerPromise;\n } else {\n workerPromise = createWorker(workerFunction);\n\n worker = await workerPromise;\n worker.addEventListener('error', () => {\n // Current worker errored out, will create a new worker next time.\n workerPromise = null;\n worker.terminate();\n });\n }\n\n return worker;\n}\n\n// We are using a lazy-check because:\n// 1. OffscreenCanvas.getContext has a toll\n// 2. Developers could bring polyfills\n\nconst checkSupportOffscreenCanvas = () => {\n const hasOffscreenCanvas =\n typeof window.OffscreenCanvas !== 'undefined' &&\n (typeof window.OffscreenCanvas.prototype.convertToBlob !== 'undefined' ||\n typeof window.OffscreenCanvas.prototype.toBlob !== 'undefined');\n let isOffscreenCanvasSupportGetContext2D;\n\n if (hasOffscreenCanvas) {\n try {\n new OffscreenCanvas(1, 1).getContext('2d');\n isOffscreenCanvasSupportGetContext2D = true;\n } catch (err) {\n isOffscreenCanvasSupportGetContext2D = false;\n }\n }\n\n return typeof window.createImageBitmap !== 'undefined' && hasOffscreenCanvas && isOffscreenCanvasSupportGetContext2D;\n};\n\nlet checkSupportWebWorkerPromise;\n\nfunction checkSupportWebWorker() {\n return (\n checkSupportWebWorkerPromise ||\n (checkSupportWebWorkerPromise = (async () => {\n if (typeof window.MessageChannel === 'undefined' || typeof window.Worker === 'undefined') {\n return false;\n }\n\n let worker;\n\n try {\n worker = await createWorker('function(){postMessage(\"ready\")}');\n } catch (err) {\n return false;\n }\n\n worker.terminate();\n\n return true;\n })())\n );\n}\n\nlet checkSupportPromise;\n\nfunction checkSupport() {\n return (\n checkSupportPromise ||\n (checkSupportPromise = (async () => {\n try {\n const results = await Promise.all([checkSupportOffscreenCanvas(), checkSupportWebWorker()]);\n\n return results.every(result => result);\n } catch (err) {\n return false;\n }\n })())\n );\n}\n\nexport default function downscaleImageToDataURLUsingWorker(blob, maxWidth, maxHeight, type, quality) {\n return new Promise((resolve, reject) => {\n const { port1, port2 } = new MessageChannel();\n\n port1.onmessage = ({ data: { error, result } }) => {\n if (error) {\n const err = new Error(error.message);\n\n err.stack = error.stack;\n\n reject(err);\n } else {\n resolve(result);\n }\n\n port1.close();\n port2.close();\n };\n\n Promise.all([blobToArrayBuffer(blob), getWorker()]).then(([arrayBuffer, worker]) =>\n worker.postMessage({ arrayBuffer, maxHeight, maxWidth, quality, type }, [arrayBuffer, port2])\n );\n });\n}\n\nexport { checkSupport };\n","module.exports = require(\"core-js-pure/stable/object/define-property\");","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.30.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","module.exports = {};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","import React, { useCallback, useEffect, useState } from \"react\";\n\nexport const useDraggableEffect = (draggableEnabled, ref: React.RefObject<HTMLElement>, withElementId?: string): any[] => {\n const [wasDragged, setWasDragged] = useState(false);\n useEffect(() => {\n const onDragOverHandler = (event) => {\n event.preventDefault();\n };\n const onDropHandler = (event) => {\n const elementId = event.dataTransfer?.getData(\"text\");\n if (elementId && elementId === (withElementId || ref.current?.id)) {\n const element = document.getElementById(elementId);\n if (element) {\n element.style.top = `${Math.max(0, event.y - 15)}px`;\n element.style.left = `${Math.max(0, event.x - 15)}px`;\n }\n }\n \n event.preventDefault();\n }\n if(draggableEnabled) {\n document.body.addEventListener(\"drop\", onDropHandler);\n document.body.addEventListener(\"dragover\", onDragOverHandler);\n }\n \n return () => {\n document.body.removeEventListener('dragover', onDragOverHandler);\n document.body.removeEventListener('drop', onDropHandler);\n setWasDragged(false);\n }\n }, [draggableEnabled, ref.current, setWasDragged, withElementId]);\n\n const onDragStarted = useCallback((event: any) => {\n \n if(event.dataTransfer && event.target){\n event.dataTransfer.effectAllowed = \"all\"\n event.dataTransfer.dropEffect = \"move\";\n event.dataTransfer.clearData();\n event.dataTransfer.setData(\"text/plain\", withElementId || (event.target as any).id);\n setWasDragged(true);\n }\n \n return event;\n }, [setWasDragged, withElementId]);\n\n return [ onDragStarted, wasDragged ];\n}","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var defineProperty = require(\"./defineProperty.js\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","export function isObject(x: any): x is Object {\n return x != null && typeof x === 'object';\n}\n","export interface NextObserver<T> {\n closed?: boolean;\n next: (value: T) => void;\n error?: (err: any) => void;\n complete?: () => void;\n}\n\nexport interface ErrorObserver<T> {\n closed?: boolean;\n next?: (value: T) => void;\n error: (err: any) => void;\n complete?: () => void;\n}\n\nexport interface CompletionObserver<T> {\n closed?: boolean;\n next?: (value: T) => void;\n error?: (err: any) => void;\n complete: () => void;\n}\n\nexport type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>;\n\nexport interface Observer<T> {\n closed?: boolean;\n next: (value: T) => void;\n error: (err: any) => void;\n complete: () => void;\n}\n\nexport const empty: Observer<any> = {\n closed: true,\n next(value: any): void { /* noop */},\n error(err: any): void { throw err; },\n complete(): void { /*noop*/ }\n};\n","import { Subject } from './Subject';\nimport { Observer } from './Observer';\nimport { Subscription } from './Subscription';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class SubjectSubscription<T> extends Subscription {\n closed: boolean = false;\n\n constructor(public subject: Subject<T>, public subscriber: Observer<T>) {\n super();\n }\n\n unsubscribe() {\n if (this.closed) {\n return;\n }\n\n this.closed = true;\n\n const subject = this.subject;\n const observers = subject.observers;\n\n this.subject = null;\n\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n\n const subscriberIndex = observers.indexOf(this.subscriber);\n\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","export const isArrayLike = (<T>(x: any): x is ArrayLike<T> => x && typeof x.length === 'number');","export function isPromise<T>(value: any | Promise<T>): value is Promise<T> {\n return value && typeof (<any>value).subscribe !== 'function' && typeof (value as any).then === 'function';\n}\n","import useRefFrom from './useRefFrom';\n\nexport { useRefFrom };\n",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var MD5 = C_algo.MD5;\n\n\t /**\n\t * This key derivation function is meant to conform with EVP_BytesToKey.\n\t * www.openssl.org/docs/crypto/EVP_BytesToKey.html\n\t */\n\t var EvpKDF = C_algo.EvpKDF = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hash algorithm to use. Default: MD5\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: MD5,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.EvpKDF.create();\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t var block;\n\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init hasher\n\t var hasher = cfg.hasher.create();\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t if (block) {\n\t hasher.update(block);\n\t }\n\t block = hasher.update(password).finalize(salt);\n\t hasher.reset();\n\n\t // Iterations\n\t for (var i = 1; i < iterations; i++) {\n\t block = hasher.finalize(block);\n\t hasher.reset();\n\t }\n\n\t derivedKey.concat(block);\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.EvpKDF(password, salt);\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.EvpKDF = function (password, salt, cfg) {\n\t return EvpKDF.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.EvpKDF;\n\n}));","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","module.exports = require(\"core-js-pure/stable/promise\");","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","module.exports = require(\"core-js-pure/stable/instance/fill\");","module.exports = require(\"core-js-pure/stable/object/from-entries\");","module.exports = require(\"core-js-pure/stable/object/entries\");","module.exports = require(\"core-js-pure/stable/instance/slice\");","module.exports = require(\"core-js-pure/stable/instance/reduce\");","module.exports = require(\"core-js-pure/stable/math/sign\");","module.exports = require(\"core-js-pure/stable/instance/for-each\");","module.exports = require(\"core-js-pure/stable/instance/index-of\");","module.exports = require(\"core-js-pure/stable/instance/splice\");","var _Promise = require(\"@babel/runtime-corejs3/core-js/promise\");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"core-js-pure/stable/promise\");","module.exports = require(\"core-js-pure/stable/instance/map\");","module.exports = require(\"core-js-pure/stable/object/entries\");","\"use strict\";\n\nfunction _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); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar React = require('react');\n\nvar ReactDOM = require('react-dom');\n\nvar PropTypes = require('prop-types');\n\nvar _require = require('focus-trap'),\n createFocusTrap = _require.createFocusTrap; // TODO: These issues are related to older React features which we'll likely need\n// to fix in order to move the code forward to the next major version of React.\n// @see https://github.com/davidtheclark/focus-trap-react/issues/77\n\n/* eslint-disable react/no-find-dom-node */\n\n\nvar FocusTrap = /*#__PURE__*/function (_React$Component) {\n _inherits(FocusTrap, _React$Component);\n\n var _super = _createSuper(FocusTrap);\n\n function FocusTrap(props) {\n var _this;\n\n _classCallCheck(this, FocusTrap);\n\n _this = _super.call(this, props); // We need to hijack the returnFocusOnDeactivate option,\n // because React can move focus into the element before we arrived at\n // this lifecycle hook (e.g. with autoFocus inputs). So the component\n // captures the previouslyFocusedElement in componentWillMount,\n // then (optionally) returns focus to it in componentWillUnmount.\n\n _this.tailoredFocusTrapOptions = {\n returnFocusOnDeactivate: false\n }; // because of the above, we maintain our own flag for this option, and\n // default it to `true` because that's focus-trap's default\n\n _this.returnFocusOnDeactivate = true;\n var focusTrapOptions = props.focusTrapOptions;\n\n for (var optionName in focusTrapOptions) {\n if (!Object.prototype.hasOwnProperty.call(focusTrapOptions, optionName)) {\n continue;\n }\n\n if (optionName === 'returnFocusOnDeactivate') {\n _this.returnFocusOnDeactivate = !!focusTrapOptions[optionName];\n continue;\n }\n\n if (optionName === 'onPostDeactivate') {\n _this.onPostDeactivate = focusTrapOptions[optionName];\n continue;\n }\n\n _this.tailoredFocusTrapOptions[optionName] = focusTrapOptions[optionName];\n } // elements from which to create the focus trap on mount; if a child is used\n // instead of the `containerElements` prop, we'll get the child's related\n // element when the trap renders and then is declared 'mounted'\n\n\n _this.focusTrapElements = props.containerElements || []; // now we remember what the currently focused element is, not relying on focus-trap\n\n _this.updatePreviousElement();\n\n return _this;\n }\n /**\n * Gets the configured document.\n * @returns {Document|undefined} Configured document, falling back to the main\n * document, if it exists. During SSR, `undefined` is returned since the\n * document doesn't exist.\n */\n\n\n _createClass(FocusTrap, [{\n key: \"getDocument\",\n value: function getDocument() {\n // SSR: careful to check if `document` exists before accessing it as a variable\n return this.props.focusTrapOptions.document || (typeof document !== 'undefined' ? document : undefined);\n } // TODO: Need more test coverage for this function\n\n }, {\n key: \"getNodeForOption\",\n value: function getNodeForOption(optionName) {\n var optionValue = this.tailoredFocusTrapOptions[optionName];\n\n if (!optionValue) {\n return null;\n }\n\n var node = optionValue;\n\n if (typeof optionValue === 'string') {\n var _this$getDocument;\n\n node = (_this$getDocument = this.getDocument()) === null || _this$getDocument === void 0 ? void 0 : _this$getDocument.querySelector(optionValue);\n\n if (!node) {\n throw new Error(\"`\".concat(optionName, \"` refers to no known node\"));\n }\n }\n\n if (typeof optionValue === 'function') {\n node = optionValue();\n\n if (!node) {\n throw new Error(\"`\".concat(optionName, \"` did not return a node\"));\n }\n }\n\n return node;\n }\n }, {\n key: \"getReturnFocusNode\",\n value: function getReturnFocusNode() {\n var node = this.getNodeForOption('setReturnFocus');\n return node ? node : this.previouslyFocusedElement;\n }\n /** Update the previously focused element with the currently focused element. */\n\n }, {\n key: \"updatePreviousElement\",\n value: function updatePreviousElement() {\n var currentDocument = this.getDocument();\n\n if (currentDocument) {\n this.previouslyFocusedElement = currentDocument.activeElement;\n }\n }\n }, {\n key: \"deactivateTrap\",\n value: function deactivateTrap() {\n var _this2 = this;\n\n var _this$tailoredFocusTr = this.tailoredFocusTrapOptions,\n checkCanReturnFocus = _this$tailoredFocusTr.checkCanReturnFocus,\n _this$tailoredFocusTr2 = _this$tailoredFocusTr.preventScroll,\n preventScroll = _this$tailoredFocusTr2 === void 0 ? false : _this$tailoredFocusTr2;\n\n if (this.focusTrap) {\n // NOTE: we never let the trap return the focus since we do that ourselves\n this.focusTrap.deactivate({\n returnFocus: false\n });\n }\n\n var finishDeactivation = function finishDeactivation() {\n var returnFocusNode = _this2.getReturnFocusNode();\n\n var canReturnFocus = (returnFocusNode === null || returnFocusNode === void 0 ? void 0 : returnFocusNode.focus) && _this2.returnFocusOnDeactivate;\n\n if (canReturnFocus) {\n /** Returns focus to the element that had focus when the trap was activated. */\n returnFocusNode.focus({\n preventScroll: preventScroll\n });\n }\n\n if (_this2.onPostDeactivate) {\n _this2.onPostDeactivate.call(null); // don't call it in context of \"this\"\n\n }\n };\n\n if (checkCanReturnFocus) {\n checkCanReturnFocus(this.getReturnFocusNode()).then(finishDeactivation, finishDeactivation);\n } else {\n finishDeactivation();\n }\n }\n }, {\n key: \"setupFocusTrap\",\n value: function setupFocusTrap() {\n if (!this.focusTrap) {\n var focusTrapElementDOMNodes = this.focusTrapElements.map( // NOTE: `findDOMNode()` does not support CSS selectors; it'll just return\n // a new text node with the text wrapped in it instead of treating the\n // string as a selector and resolving it to a node in the DOM\n ReactDOM.findDOMNode);\n var nodesExist = focusTrapElementDOMNodes.some(Boolean);\n\n if (nodesExist) {\n // eslint-disable-next-line react/prop-types -- _createFocusTrap is an internal prop\n this.focusTrap = this.props._createFocusTrap(focusTrapElementDOMNodes, this.tailoredFocusTrapOptions);\n\n if (this.props.active) {\n this.focusTrap.activate();\n }\n\n if (this.props.paused) {\n this.focusTrap.pause();\n }\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.active) {\n this.setupFocusTrap();\n } // else, wait for later activation in case the `focusTrapOptions` will be updated\n // again before the trap is activated (e.g. if waiting to know what the document\n // object will be, so the Trap must be rendered, but the consumer is waiting to\n // activate until they have obtained the document from a ref)\n // @see https://github.com/focus-trap/focus-trap-react/issues/539\n\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.focusTrap) {\n if (prevProps.containerElements !== this.props.containerElements) {\n this.focusTrap.updateContainerElements(this.props.containerElements);\n }\n\n var hasActivated = !prevProps.active && this.props.active;\n var hasDeactivated = prevProps.active && !this.props.active;\n var hasPaused = !prevProps.paused && this.props.paused;\n var hasUnpaused = prevProps.paused && !this.props.paused;\n\n if (hasActivated) {\n this.updatePreviousElement();\n this.focusTrap.activate();\n }\n\n if (hasDeactivated) {\n this.deactivateTrap();\n return; // un/pause does nothing on an inactive trap\n }\n\n if (hasPaused) {\n this.focusTrap.pause();\n }\n\n if (hasUnpaused) {\n this.focusTrap.unpause();\n }\n } else {\n // NOTE: if we're in `componentDidUpdate` and we don't have a trap yet,\n // it either means it shouldn't be active, or it should be but none of\n // of given `containerElements` were present in the DOM the last time\n // we tried to create the trap\n if (prevProps.containerElements !== this.props.containerElements) {\n this.focusTrapElements = this.props.containerElements;\n } // don't create the trap unless it should be active in case the consumer\n // is still updating `focusTrapOptions`\n // @see https://github.com/focus-trap/focus-trap-react/issues/539\n\n\n if (this.props.active) {\n this.updatePreviousElement();\n this.setupFocusTrap();\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.deactivateTrap();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var child = this.props.children ? React.Children.only(this.props.children) : undefined;\n\n if (child) {\n if (child.type && child.type === React.Fragment) {\n throw new Error('A focus-trap cannot use a Fragment as its child container. Try replacing it with a <div> element.');\n }\n\n var composedRefCallback = function composedRefCallback(element) {\n var containerElements = _this3.props.containerElements;\n\n if (child) {\n if (typeof child.ref === 'function') {\n child.ref(element);\n } else if (child.ref) {\n child.ref.current = element;\n }\n }\n\n _this3.focusTrapElements = containerElements ? containerElements : [element];\n };\n\n var childWithRef = React.cloneElement(child, {\n ref: composedRefCallback\n });\n return childWithRef;\n }\n\n return null;\n }\n }]);\n\n return FocusTrap;\n}(React.Component); // support server-side rendering where `Element` will not be defined\n\n\nvar ElementType = typeof Element === 'undefined' ? Function : Element;\nFocusTrap.propTypes = {\n active: PropTypes.bool,\n paused: PropTypes.bool,\n focusTrapOptions: PropTypes.shape({\n document: PropTypes.object,\n onActivate: PropTypes.func,\n onPostActivate: PropTypes.func,\n checkCanFocusTrap: PropTypes.func,\n onDeactivate: PropTypes.func,\n onPostDeactivate: PropTypes.func,\n checkCanReturnFocus: PropTypes.func,\n initialFocus: PropTypes.oneOfType([PropTypes.instanceOf(ElementType), PropTypes.string, PropTypes.func, PropTypes.bool]),\n fallbackFocus: PropTypes.oneOfType([PropTypes.instanceOf(ElementType), PropTypes.string, PropTypes.func]),\n escapeDeactivates: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n clickOutsideDeactivates: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n returnFocusOnDeactivate: PropTypes.bool,\n setReturnFocus: PropTypes.oneOfType([PropTypes.instanceOf(ElementType), PropTypes.string, PropTypes.func]),\n allowOutsideClick: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n preventScroll: PropTypes.bool\n }),\n containerElements: PropTypes.arrayOf(PropTypes.instanceOf(ElementType)),\n children: PropTypes.oneOfType([PropTypes.element, // React element\n PropTypes.instanceOf(ElementType) // DOM element\n ]) // NOTE: _createFocusTrap is internal, for testing purposes only, so we don't\n // specify it here. It's expected to be set to the function returned from\n // require('focus-trap'), or one with a compatible interface.\n\n};\nFocusTrap.defaultProps = {\n active: true,\n paused: false,\n focusTrapOptions: {},\n _createFocusTrap: createFocusTrap\n};\nmodule.exports = FocusTrap;","export const babelTransformObject = async (toTransform: any, withDecorate?: boolean): Promise<any> => {\n if (toTransform && typeof toTransform === \"string\") {\n const babel = await import(\n /* webpackChunkName: \"babel_standalone\" */\n '@babel/standalone'\n );\n try {\n const babelEval = eval(babel.transform((toTransform as string), { presets: ['es2015', 'react', 'stage-3'] }).code || \"\");\n if(withDecorate) {\n return (...args) => {\n try {\n return babelEval(...args);\n } catch (ex) {\n console.error(`Failed to execute babel transformed object: with exception: ${ex}`);\n }\n };\n } else {\n return babelEval;\n }\n \n } catch (ex) {\n console.error(`Failed to babel transform object: with exception: ${ex}`);\n Promise.reject();\n }\n } else {\n return toTransform;\n }\n \n}",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Lookup tables\n\t var SBOX = [];\n\t var INV_SBOX = [];\n\t var SUB_MIX_0 = [];\n\t var SUB_MIX_1 = [];\n\t var SUB_MIX_2 = [];\n\t var SUB_MIX_3 = [];\n\t var INV_SUB_MIX_0 = [];\n\t var INV_SUB_MIX_1 = [];\n\t var INV_SUB_MIX_2 = [];\n\t var INV_SUB_MIX_3 = [];\n\n\t // Compute lookup tables\n\t (function () {\n\t // Compute double table\n\t var d = [];\n\t for (var i = 0; i < 256; i++) {\n\t if (i < 128) {\n\t d[i] = i << 1;\n\t } else {\n\t d[i] = (i << 1) ^ 0x11b;\n\t }\n\t }\n\n\t // Walk GF(2^8)\n\t var x = 0;\n\t var xi = 0;\n\t for (var i = 0; i < 256; i++) {\n\t // Compute sbox\n\t var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);\n\t sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;\n\t SBOX[x] = sx;\n\t INV_SBOX[sx] = x;\n\n\t // Compute multiplication\n\t var x2 = d[x];\n\t var x4 = d[x2];\n\t var x8 = d[x4];\n\n\t // Compute sub bytes, mix columns tables\n\t var t = (d[sx] * 0x101) ^ (sx * 0x1010100);\n\t SUB_MIX_0[x] = (t << 24) | (t >>> 8);\n\t SUB_MIX_1[x] = (t << 16) | (t >>> 16);\n\t SUB_MIX_2[x] = (t << 8) | (t >>> 24);\n\t SUB_MIX_3[x] = t;\n\n\t // Compute inv sub bytes, inv mix columns tables\n\t var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);\n\t INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);\n\t INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);\n\t INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);\n\t INV_SUB_MIX_3[sx] = t;\n\n\t // Compute next counter\n\t if (!x) {\n\t x = xi = 1;\n\t } else {\n\t x = x2 ^ d[d[d[x8 ^ x2]]];\n\t xi ^= d[d[xi]];\n\t }\n\t }\n\t }());\n\n\t // Precomputed Rcon lookup\n\t var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\n\t /**\n\t * AES block cipher algorithm.\n\t */\n\t var AES = C_algo.AES = BlockCipher.extend({\n\t _doReset: function () {\n\t var t;\n\n\t // Skip reset of nRounds has been set before and key did not change\n\t if (this._nRounds && this._keyPriorReset === this._key) {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var key = this._keyPriorReset = this._key;\n\t var keyWords = key.words;\n\t var keySize = key.sigBytes / 4;\n\n\t // Compute number of rounds\n\t var nRounds = this._nRounds = keySize + 6;\n\n\t // Compute number of key schedule rows\n\t var ksRows = (nRounds + 1) * 4;\n\n\t // Compute key schedule\n\t var keySchedule = this._keySchedule = [];\n\t for (var ksRow = 0; ksRow < ksRows; ksRow++) {\n\t if (ksRow < keySize) {\n\t keySchedule[ksRow] = keyWords[ksRow];\n\t } else {\n\t t = keySchedule[ksRow - 1];\n\n\t if (!(ksRow % keySize)) {\n\t // Rot word\n\t t = (t << 8) | (t >>> 24);\n\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\n\t // Mix Rcon\n\t t ^= RCON[(ksRow / keySize) | 0] << 24;\n\t } else if (keySize > 6 && ksRow % keySize == 4) {\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\t }\n\n\t keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;\n\t }\n\t }\n\n\t // Compute inv key schedule\n\t var invKeySchedule = this._invKeySchedule = [];\n\t for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n\t var ksRow = ksRows - invKsRow;\n\n\t if (invKsRow % 4) {\n\t var t = keySchedule[ksRow];\n\t } else {\n\t var t = keySchedule[ksRow - 4];\n\t }\n\n\t if (invKsRow < 4 || ksRow <= 4) {\n\t invKeySchedule[invKsRow] = t;\n\t } else {\n\t invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^\n\t INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];\n\t }\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t // Swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\n\t this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);\n\n\t // Inv swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\t },\n\n\t _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {\n\t // Shortcut\n\t var nRounds = this._nRounds;\n\n\t // Get input, add round key\n\t var s0 = M[offset] ^ keySchedule[0];\n\t var s1 = M[offset + 1] ^ keySchedule[1];\n\t var s2 = M[offset + 2] ^ keySchedule[2];\n\t var s3 = M[offset + 3] ^ keySchedule[3];\n\n\t // Key schedule row counter\n\t var ksRow = 4;\n\n\t // Rounds\n\t for (var round = 1; round < nRounds; round++) {\n\t // Shift rows, sub bytes, mix columns, add round key\n\t var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];\n\t var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];\n\t var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];\n\t var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];\n\n\t // Update state\n\t s0 = t0;\n\t s1 = t1;\n\t s2 = t2;\n\t s3 = t3;\n\t }\n\n\t // Shift rows, sub bytes, add round key\n\t var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\n\t // Set output\n\t M[offset] = t0;\n\t M[offset + 1] = t1;\n\t M[offset + 2] = t2;\n\t M[offset + 3] = t3;\n\t },\n\n\t keySize: 256/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.AES = BlockCipher._createHelper(AES);\n\t}());\n\n\n\treturn CryptoJS.AES;\n\n}));","const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n","import { Subject } from '../Subject';\nimport { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { ConnectableObservable, connectableObservableDescriptor } from '../observable/ConnectableObservable';\nimport { FactoryOrValue, MonoTypeOperatorFunction, OperatorFunction, UnaryFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function multicast<T>(subjectOrSubjectFactory: FactoryOrValue<Subject<T>>): UnaryFunction<Observable<T>, ConnectableObservable<T>>;\nexport function multicast<T>(SubjectFactory: (this: Observable<T>) => Subject<T>, selector?: MonoTypeOperatorFunction<T>): MonoTypeOperatorFunction<T>;\nexport function multicast<T, R>(SubjectFactory: (this: Observable<T>) => Subject<T>, selector?: OperatorFunction<T, R>): OperatorFunction<T, R>;\n/* tslint:enable:max-line-length */\n\n/**\n * Returns an Observable that emits the results of invoking a specified selector on items\n * emitted by a ConnectableObservable that shares a single subscription to the underlying stream.\n *\n * <img src=\"./img/multicast.png\" width=\"100%\">\n *\n * @param {Function|Subject} subjectOrSubjectFactory - Factory function to create an intermediate subject through\n * which the source sequence's elements will be multicast to the selector function\n * or Subject to push source elements into.\n * @param {Function} [selector] - Optional selector function that can use the multicasted source stream\n * as many times as needed, without causing multiple subscriptions to the source stream.\n * Subscribers to the given source will receive all notifications of the source from the\n * time of the subscription forward.\n * @return {Observable} An Observable that emits the results of invoking the selector\n * on the items emitted by a `ConnectableObservable` that shares a single subscription to\n * the underlying stream.\n * @method multicast\n * @owner Observable\n */\nexport function multicast<T, R>(subjectOrSubjectFactory: Subject<T> | (() => Subject<T>),\n selector?: (source: Observable<T>) => Observable<R>): OperatorFunction<T, R> {\n return function multicastOperatorFunction(source: Observable<T>): Observable<R> {\n let subjectFactory: () => Subject<T>;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = <() => Subject<T>>subjectOrSubjectFactory;\n } else {\n subjectFactory = function subjectFactory() {\n return <Subject<T>>subjectOrSubjectFactory;\n };\n }\n\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n\n const connectable: any = Object.create(source, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n\n return <ConnectableObservable<R>> connectable;\n };\n}\n\nexport class MulticastOperator<T, R> implements Operator<T, R> {\n constructor(private subjectFactory: () => Subject<T>,\n private selector: (source: Observable<T>) => Observable<R>) {\n }\n call(subscriber: Subscriber<R>, source: any): any {\n const { selector } = this;\n const subject = this.subjectFactory();\n const subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n }\n}\n","export default function removeInline(array, ...items) {\n items.forEach(item => {\n let index;\n\n while (~(index = array.indexOf(item))) {\n array.splice(index, 1);\n }\n });\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * An error thrown when an element was queried at a certain index of an\n * Observable, but no such index or position exists in that sequence.\n *\n * @see {@link elementAt}\n * @see {@link take}\n * @see {@link takeLast}\n *\n * @class ArgumentOutOfRangeError\n */\nexport class ArgumentOutOfRangeError extends Error {\n constructor() {\n const err: any = super('argument out of range');\n (<any> this).name = err.name = 'ArgumentOutOfRangeError';\n (<any> this).stack = err.stack;\n (<any> this).message = err.message;\n }\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nimport defineProperty from \"./defineProperty.js\";\n\nfunction set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = superPropBase(target, property);\n var desc;\n\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n return false;\n }\n }\n\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n\n if (desc) {\n if (!desc.writable) {\n return false;\n }\n\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n defineProperty(receiver, property, value);\n }\n\n return true;\n };\n }\n\n return set(target, property, value, receiver);\n}\n\nexport default function _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n\n if (!s && isStrict) {\n throw new Error('failed to set property');\n }\n\n return value;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _set from '@babel/runtime/helpers/esm/set';\nimport _get from '@babel/runtime/helpers/esm/get';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction 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; }\n\nfunction _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; }\n\n/**\n * Assert a condition.\n * @param condition The condition that it should satisfy.\n * @param message The error message.\n * @param args The arguments for replacing placeholders in the message.\n */\nfunction assertType(condition, message) {\n if (!condition) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n throw new TypeError(format(message, args));\n }\n}\n/**\n * Convert a text and arguments to one string.\n * @param message The formating text\n * @param args The arguments.\n */\n\n\nfunction format(message, args) {\n var i = 0;\n return message.replace(/%[os]/g, function () {\n return anyToString(args[i++]);\n });\n}\n/**\n * Convert a value to a string representation.\n * @param x The value to get the string representation.\n */\n\n\nfunction anyToString(x) {\n if (_typeof(x) !== \"object\" || x === null) {\n return String(x);\n }\n\n return Object.prototype.toString.call(x);\n}\n\nvar currentErrorHandler;\n/**\n * Set the error handler.\n * @param value The error handler to set.\n */\n\nfunction setErrorHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The error handler must be a function or undefined, but got %o.\", value);\n currentErrorHandler = value;\n}\n/**\n * Print a error message.\n * @param maybeError The error object.\n */\n\n\nfunction reportError(maybeError) {\n try {\n var error = maybeError instanceof Error ? maybeError : new Error(anyToString(maybeError)); // Call the user-defined error handler if exists.\n\n if (currentErrorHandler) {\n currentErrorHandler(error);\n return;\n } // Dispatch an `error` event if this is on a browser.\n\n\n if (typeof dispatchEvent === \"function\" && typeof ErrorEvent === \"function\") {\n dispatchEvent(new ErrorEvent(\"error\", {\n error: error,\n message: error.message\n }));\n } // Emit an `uncaughtException` event if this is on Node.js.\n //istanbul ignore else\n else if (typeof process !== \"undefined\" && typeof process.emit === \"function\") {\n process.emit(\"uncaughtException\", error);\n return;\n } // Otherwise, print the error.\n\n\n console.error(error);\n } catch (_a) {// ignore.\n }\n}\n/**\n * The global object.\n */\n//istanbul ignore next\n\n\nvar Global = typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : typeof global !== \"undefined\" ? global : typeof globalThis !== \"undefined\" ? globalThis : undefined;\nvar currentWarnHandler;\n/**\n * Set the warning handler.\n * @param value The warning handler to set.\n */\n\nfunction setWarningHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The warning handler must be a function or undefined, but got %o.\", value);\n currentWarnHandler = value;\n}\n/**\n * The warning information.\n */\n\n\nvar Warning = /*#__PURE__*/function () {\n function Warning(code, message) {\n _classCallCheck(this, Warning);\n\n this.code = code;\n this.message = message;\n }\n /**\n * Report this warning.\n * @param args The arguments of the warning.\n */\n\n\n _createClass(Warning, [{\n key: \"warn\",\n value: function warn() {\n var _a;\n\n try {\n var _console;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // Call the user-defined warning handler if exists.\n if (currentWarnHandler) {\n currentWarnHandler(_objectSpread(_objectSpread({}, this), {}, {\n args: args\n }));\n return;\n } // Otherwise, print the warning.\n\n\n var stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : \"\").replace(/^(?:(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+?\\n){2}/g, \"\\n\");\n\n (_console = console).warn.apply(_console, [this.message].concat(args, [stack]));\n } catch (_b) {// Ignore.\n }\n }\n }]);\n\n return Warning;\n}();\n\nvar InitEventWasCalledWhileDispatching = new Warning(\"W01\", \"Unable to initialize event under dispatching.\");\nvar FalsyWasAssignedToCancelBubble = new Warning(\"W02\", \"Assigning any falsy value to 'cancelBubble' property has no effect.\");\nvar TruthyWasAssignedToReturnValue = new Warning(\"W03\", \"Assigning any truthy value to 'returnValue' property has no effect.\");\nvar NonCancelableEventWasCanceled = new Warning(\"W04\", \"Unable to preventDefault on non-cancelable events.\");\nvar CanceledInPassiveListener = new Warning(\"W05\", \"Unable to preventDefault inside passive event listener invocation.\");\nvar EventListenerWasDuplicated = new Warning(\"W06\", \"An event listener wasn't added because it has been added already: %o, %o\");\nvar OptionWasIgnored = new Warning(\"W07\", \"The %o option value was abandoned because the event listener wasn't added as duplicated.\");\nvar InvalidEventListener = new Warning(\"W08\", \"The 'callback' argument must be a function or an object that has 'handleEvent' method: %o\");\nvar InvalidAttributeHandler = new Warning(\"W09\", \"Event attribute handler must be a function: %o\");\n/*eslint-disable class-methods-use-this */\n\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * `EventTarget` shim can control the internal state of this `Event` objects.\n * @see https://dom.spec.whatwg.org/#event\n */\n\nvar Event = /*#__PURE__*/function () {\n _createClass(Event, null, [{\n key: \"NONE\",\n\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n get: function get() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n\n }, {\n key: \"CAPTURING_PHASE\",\n get: function get() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n\n }, {\n key: \"AT_TARGET\",\n get: function get() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n\n }, {\n key: \"BUBBLING_PHASE\",\n get: function get() {\n return BUBBLING_PHASE;\n }\n /**\n * Initialize this event instance.\n * @param type The type of this event.\n * @param eventInitDict Options to initialize.\n * @see https://dom.spec.whatwg.org/#dom-event-event\n */\n\n }]);\n\n function Event(type, eventInitDict) {\n _classCallCheck(this, Event);\n\n Object.defineProperty(this, \"isTrusted\", {\n value: false,\n enumerable: true\n });\n var opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {};\n internalDataMap.set(this, {\n type: String(type),\n bubbles: Boolean(opts.bubbles),\n cancelable: Boolean(opts.cancelable),\n composed: Boolean(opts.composed),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n inPassiveListenerFlag: false,\n dispatchFlag: false,\n timeStamp: Date.now()\n });\n }\n /**\n * The type of this event.\n * @see https://dom.spec.whatwg.org/#dom-event-type\n */\n\n\n _createClass(Event, [{\n key: \"composedPath\",\n\n /**\n * The event target of the current dispatching.\n * This doesn't support node tree.\n * @see https://dom.spec.whatwg.org/#dom-event-composedpath\n */\n value: function composedPath() {\n var currentTarget = $(this).currentTarget;\n\n if (currentTarget) {\n return [currentTarget];\n }\n\n return [];\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n\n }, {\n key: \"stopPropagation\",\n\n /**\n * Stop event bubbling.\n * Because this shim doesn't support node tree, this merely changes the `cancelBubble` property value.\n * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation\n */\n value: function stopPropagation() {\n $(this).stopPropagationFlag = true;\n }\n /**\n * `true` if event bubbling was stopped.\n * @deprecated\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n\n /**\n * Stop event bubbling and subsequent event listener callings.\n * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation\n */\n value: function stopImmediatePropagation() {\n var data = $(this);\n data.stopPropagationFlag = data.stopImmediatePropagationFlag = true;\n }\n /**\n * `true` if this event will bubble.\n * @see https://dom.spec.whatwg.org/#dom-event-bubbles\n */\n\n }, {\n key: \"preventDefault\",\n\n /**\n * Cancel the default behavior.\n * @see https://dom.spec.whatwg.org/#dom-event-preventdefault\n */\n value: function preventDefault() {\n setCancelFlag($(this));\n }\n /**\n * `true` if the default behavior was canceled.\n * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented\n */\n\n }, {\n key: \"initEvent\",\n\n /**\n * @deprecated Don't use this method. The constructor did initialization.\n */\n value: function initEvent(type) {\n var bubbles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cancelable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var data = $(this);\n\n if (data.dispatchFlag) {\n InitEventWasCalledWhileDispatching.warn();\n return;\n }\n\n internalDataMap.set(this, _objectSpread(_objectSpread({}, data), {}, {\n type: String(type),\n bubbles: Boolean(bubbles),\n cancelable: Boolean(cancelable),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false\n }));\n }\n }, {\n key: \"type\",\n get: function get() {\n return $(this).type;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-target\n */\n\n }, {\n key: \"target\",\n get: function get() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @deprecated Use the `target` property instead.\n * @see https://dom.spec.whatwg.org/#dom-event-srcelement\n */\n\n }, {\n key: \"srcElement\",\n get: function get() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-currenttarget\n */\n\n }, {\n key: \"currentTarget\",\n get: function get() {\n return $(this).currentTarget;\n }\n }, {\n key: \"NONE\",\n get: function get() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n\n }, {\n key: \"CAPTURING_PHASE\",\n get: function get() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n\n }, {\n key: \"AT_TARGET\",\n get: function get() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n\n }, {\n key: \"BUBBLING_PHASE\",\n get: function get() {\n return BUBBLING_PHASE;\n }\n /**\n * The current event phase.\n * @see https://dom.spec.whatwg.org/#dom-event-eventphase\n */\n\n }, {\n key: \"eventPhase\",\n get: function get() {\n return $(this).dispatchFlag ? 2 : 0;\n }\n }, {\n key: \"cancelBubble\",\n get: function get() {\n return $(this).stopPropagationFlag;\n }\n /**\n * Stop event bubbling if `true` is set.\n * @deprecated Use the `stopPropagation()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n ,\n set: function set(value) {\n if (value) {\n $(this).stopPropagationFlag = true;\n } else {\n FalsyWasAssignedToCancelBubble.warn();\n }\n }\n }, {\n key: \"bubbles\",\n get: function get() {\n return $(this).bubbles;\n }\n /**\n * `true` if this event can be canceled by the `preventDefault()` method.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelable\n */\n\n }, {\n key: \"cancelable\",\n get: function get() {\n return $(this).cancelable;\n }\n /**\n * `true` if the default behavior will act.\n * @deprecated Use the `defaultPrevented` proeprty instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n\n }, {\n key: \"returnValue\",\n get: function get() {\n return !$(this).canceledFlag;\n }\n /**\n * Cancel the default behavior if `false` is set.\n * @deprecated Use the `preventDefault()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n ,\n set: function set(value) {\n if (!value) {\n setCancelFlag($(this));\n } else {\n TruthyWasAssignedToReturnValue.warn();\n }\n }\n }, {\n key: \"defaultPrevented\",\n get: function get() {\n return $(this).canceledFlag;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n\n }, {\n key: \"composed\",\n get: function get() {\n return $(this).composed;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-istrusted\n */\n //istanbul ignore next\n\n }, {\n key: \"isTrusted\",\n get: function get() {\n return false;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-timestamp\n */\n\n }, {\n key: \"timeStamp\",\n get: function get() {\n return $(this).timeStamp;\n }\n }]);\n\n return Event;\n}(); //------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n\n\nvar NONE = 0;\nvar CAPTURING_PHASE = 1;\nvar AT_TARGET = 2;\nvar BUBBLING_PHASE = 3;\n/**\n * Private data for event wrappers.\n */\n\nvar internalDataMap = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\n\nfunction $(event) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"this\";\n var retv = internalDataMap.get(event);\n assertType(retv != null, \"'%s' must be an object that Event constructor created, but got another one: %o\", name, event);\n return retv;\n}\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data private data.\n */\n\n\nfunction setCancelFlag(data) {\n if (data.inPassiveListenerFlag) {\n CanceledInPassiveListener.warn();\n return;\n }\n\n if (!data.cancelable) {\n NonCancelableEventWasCanceled.warn();\n return;\n }\n\n data.canceledFlag = true;\n} // Set enumerable\n\n\nObject.defineProperty(Event, \"NONE\", {\n enumerable: true\n});\nObject.defineProperty(Event, \"CAPTURING_PHASE\", {\n enumerable: true\n});\nObject.defineProperty(Event, \"AT_TARGET\", {\n enumerable: true\n});\nObject.defineProperty(Event, \"BUBBLING_PHASE\", {\n enumerable: true\n});\nvar keys = Object.getOwnPropertyNames(Event.prototype);\n\nfor (var i = 0; i < keys.length; ++i) {\n if (keys[i] === \"constructor\") {\n continue;\n }\n\n Object.defineProperty(Event.prototype, keys[i], {\n enumerable: true\n });\n} // Ensure `event instanceof window.Event` is `true`.\n\n\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, Global.Event.prototype);\n}\n/**\n * Create a new InvalidStateError instance.\n * @param message The error message.\n */\n\n\nfunction createInvalidStateError(message) {\n if (Global.DOMException) {\n return new Global.DOMException(message, \"InvalidStateError\");\n }\n\n if (DOMException == null) {\n DOMException = /*#__PURE__*/function (_Error) {\n _inherits(DOMException, _Error);\n\n var _super = _createSuper(DOMException);\n\n function DOMException(msg) {\n var _this;\n\n _classCallCheck(this, DOMException);\n\n _this = _super.call(this, msg);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), DOMException);\n }\n\n return _this;\n } // eslint-disable-next-line class-methods-use-this\n\n\n _createClass(DOMException, [{\n key: \"code\",\n get: function get() {\n return 11;\n } // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"name\",\n get: function get() {\n return \"InvalidStateError\";\n }\n }]);\n\n return DOMException;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n Object.defineProperties(DOMException.prototype, {\n code: {\n enumerable: true\n },\n name: {\n enumerable: true\n }\n });\n defineErrorCodeProperties(DOMException);\n defineErrorCodeProperties(DOMException.prototype);\n }\n\n return new DOMException(message);\n} //------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n\n\nvar DOMException;\nvar ErrorCodeMap = {\n INDEX_SIZE_ERR: 1,\n DOMSTRING_SIZE_ERR: 2,\n HIERARCHY_REQUEST_ERR: 3,\n WRONG_DOCUMENT_ERR: 4,\n INVALID_CHARACTER_ERR: 5,\n NO_DATA_ALLOWED_ERR: 6,\n NO_MODIFICATION_ALLOWED_ERR: 7,\n NOT_FOUND_ERR: 8,\n NOT_SUPPORTED_ERR: 9,\n INUSE_ATTRIBUTE_ERR: 10,\n INVALID_STATE_ERR: 11,\n SYNTAX_ERR: 12,\n INVALID_MODIFICATION_ERR: 13,\n NAMESPACE_ERR: 14,\n INVALID_ACCESS_ERR: 15,\n VALIDATION_ERR: 16,\n TYPE_MISMATCH_ERR: 17,\n SECURITY_ERR: 18,\n NETWORK_ERR: 19,\n ABORT_ERR: 20,\n URL_MISMATCH_ERR: 21,\n QUOTA_EXCEEDED_ERR: 22,\n TIMEOUT_ERR: 23,\n INVALID_NODE_TYPE_ERR: 24,\n DATA_CLONE_ERR: 25\n};\n\nfunction defineErrorCodeProperties(obj) {\n var keys = Object.keys(ErrorCodeMap);\n\n var _loop = function _loop(_i) {\n var key = keys[_i];\n var value = ErrorCodeMap[key];\n Object.defineProperty(obj, key, {\n get: function get() {\n return value;\n },\n configurable: true,\n enumerable: true\n });\n };\n\n for (var _i = 0; _i < keys.length; ++_i) {\n _loop(_i);\n }\n}\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * This class controls the internal state of `Event`.\n * @see https://dom.spec.whatwg.org/#interface-event\n */\n\n\nvar EventWrapper = /*#__PURE__*/function (_Event) {\n _inherits(EventWrapper, _Event);\n\n var _super2 = _createSuper(EventWrapper);\n\n _createClass(EventWrapper, null, [{\n key: \"wrap\",\n\n /**\n * Wrap a given event object to control states.\n * @param event The event-like object to wrap.\n */\n value: function wrap(event) {\n return new (getWrapperClassOf(event))(event);\n }\n }]);\n\n function EventWrapper(event) {\n var _thisSuper, _thisSuper2, _this2;\n\n _classCallCheck(this, EventWrapper);\n\n _this2 = _super2.call(this, event.type, {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed\n });\n\n if (event.cancelBubble) {\n _get((_thisSuper = _assertThisInitialized(_this2), _getPrototypeOf(EventWrapper.prototype)), \"stopPropagation\", _thisSuper).call(_thisSuper);\n }\n\n if (event.defaultPrevented) {\n _get((_thisSuper2 = _assertThisInitialized(_this2), _getPrototypeOf(EventWrapper.prototype)), \"preventDefault\", _thisSuper2).call(_thisSuper2);\n }\n\n internalDataMap$1.set(_assertThisInitialized(_this2), {\n original: event\n }); // Define accessors\n\n var keys = Object.keys(event);\n\n for (var _i2 = 0; _i2 < keys.length; ++_i2) {\n var key = keys[_i2];\n\n if (!(key in _assertThisInitialized(_this2))) {\n Object.defineProperty(_assertThisInitialized(_this2), key, defineRedirectDescriptor(event, key));\n }\n }\n\n return _this2;\n }\n\n _createClass(EventWrapper, [{\n key: \"stopPropagation\",\n value: function stopPropagation() {\n _get(_getPrototypeOf(EventWrapper.prototype), \"stopPropagation\", this).call(this);\n\n var _$$ = $$1(this),\n original = _$$.original;\n\n if (\"stopPropagation\" in original) {\n original.stopPropagation();\n }\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n _get(_getPrototypeOf(EventWrapper.prototype), \"stopImmediatePropagation\", this).call(this);\n\n var _$$2 = $$1(this),\n original = _$$2.original;\n\n if (\"stopImmediatePropagation\" in original) {\n original.stopImmediatePropagation();\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n _get(_getPrototypeOf(EventWrapper.prototype), \"preventDefault\", this).call(this);\n\n var _$$3 = $$1(this),\n original = _$$3.original;\n\n if (\"preventDefault\" in original) {\n original.preventDefault();\n }\n }\n }, {\n key: \"cancelBubble\",\n get: function get() {\n return _get(_getPrototypeOf(EventWrapper.prototype), \"cancelBubble\", this);\n },\n set: function set(value) {\n _set(_getPrototypeOf(EventWrapper.prototype), \"cancelBubble\", value, this, true);\n\n var _$$4 = $$1(this),\n original = _$$4.original;\n\n if (\"cancelBubble\" in original) {\n original.cancelBubble = value;\n }\n }\n }, {\n key: \"returnValue\",\n get: function get() {\n return _get(_getPrototypeOf(EventWrapper.prototype), \"returnValue\", this);\n },\n set: function set(value) {\n _set(_getPrototypeOf(EventWrapper.prototype), \"returnValue\", value, this, true);\n\n var _$$5 = $$1(this),\n original = _$$5.original;\n\n if (\"returnValue\" in original) {\n original.returnValue = value;\n }\n }\n }, {\n key: \"timeStamp\",\n get: function get() {\n var _$$6 = $$1(this),\n original = _$$6.original;\n\n if (\"timeStamp\" in original) {\n return original.timeStamp;\n }\n\n return _get(_getPrototypeOf(EventWrapper.prototype), \"timeStamp\", this);\n }\n }]);\n\n return EventWrapper;\n}(Event);\n/**\n * Private data for event wrappers.\n */\n\n\nvar internalDataMap$1 = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @returns The private data of the event.\n */\n\nfunction $$1(event) {\n var retv = internalDataMap$1.get(event);\n assertType(retv != null, \"'this' is expected an Event object, but got\", event);\n return retv;\n}\n/**\n * Cache for wrapper classes.\n * @type {WeakMap<Object, Function>}\n * @private\n */\n\n\nvar wrapperClassCache = new WeakMap(); // Make association for wrappers.\n\nwrapperClassCache.set(Object.prototype, EventWrapper);\n\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n wrapperClassCache.set(Global.Event.prototype, EventWrapper);\n}\n/**\n * Get the wrapper class of a given prototype.\n * @param originalEvent The event object to wrap.\n */\n\n\nfunction getWrapperClassOf(originalEvent) {\n var prototype = Object.getPrototypeOf(originalEvent);\n\n if (prototype == null) {\n return EventWrapper;\n }\n\n var wrapper = wrapperClassCache.get(prototype);\n\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapperClassOf(prototype), prototype);\n wrapperClassCache.set(prototype, wrapper);\n }\n\n return wrapper;\n}\n/**\n * Define new wrapper class.\n * @param BaseEventWrapper The base wrapper class.\n * @param originalPrototype The prototype of the original event.\n */\n\n\nfunction defineWrapper(BaseEventWrapper, originalPrototype) {\n var CustomEventWrapper = /*#__PURE__*/function (_BaseEventWrapper) {\n _inherits(CustomEventWrapper, _BaseEventWrapper);\n\n var _super3 = _createSuper(CustomEventWrapper);\n\n function CustomEventWrapper() {\n _classCallCheck(this, CustomEventWrapper);\n\n return _super3.apply(this, arguments);\n }\n\n return CustomEventWrapper;\n }(BaseEventWrapper);\n\n var keys = Object.keys(originalPrototype);\n\n for (var _i3 = 0; _i3 < keys.length; ++_i3) {\n Object.defineProperty(CustomEventWrapper.prototype, keys[_i3], defineRedirectDescriptor(originalPrototype, keys[_i3]));\n }\n\n return CustomEventWrapper;\n}\n/**\n * Get the property descriptor to redirect a given property.\n */\n\n\nfunction defineRedirectDescriptor(obj, key) {\n var d = Object.getOwnPropertyDescriptor(obj, key);\n return {\n get: function get() {\n var original = $$1(this).original;\n var value = original[key];\n\n if (typeof value === \"function\") {\n return value.bind(original);\n }\n\n return value;\n },\n set: function set(value) {\n var original = $$1(this).original;\n original[key] = value;\n },\n configurable: d.configurable,\n enumerable: d.enumerable\n };\n}\n/**\n * Create a new listener.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n * @param signalListener The abort event listener for the abort signal.\n */\n\n\nfunction createListener(callback, capture, passive, once, signal, signalListener) {\n return {\n callback: callback,\n flags: (capture ? 1\n /* Capture */\n : 0) | (passive ? 2\n /* Passive */\n : 0) | (once ? 4\n /* Once */\n : 0),\n signal: signal,\n signalListener: signalListener\n };\n}\n/**\n * Set the `removed` flag to the given listener.\n * @param listener The listener to check.\n */\n\n\nfunction setRemoved(listener) {\n listener.flags |= 8\n /* Removed */\n ;\n}\n/**\n * Check if the given listener has the `capture` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isCapture(listener) {\n return (listener.flags & 1\n /* Capture */\n ) === 1\n /* Capture */\n ;\n}\n/**\n * Check if the given listener has the `passive` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isPassive(listener) {\n return (listener.flags & 2\n /* Passive */\n ) === 2\n /* Passive */\n ;\n}\n/**\n * Check if the given listener has the `once` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isOnce(listener) {\n return (listener.flags & 4\n /* Once */\n ) === 4\n /* Once */\n ;\n}\n/**\n * Check if the given listener has the `removed` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isRemoved(listener) {\n return (listener.flags & 8\n /* Removed */\n ) === 8\n /* Removed */\n ;\n}\n/**\n * Call an event listener.\n * @param listener The listener to call.\n * @param target The event target object for `thisArg`.\n * @param event The event object for the first argument.\n * @param attribute `true` if this callback is an event attribute handler.\n */\n\n\nfunction invokeCallback(_ref, target, event) {\n var callback = _ref.callback;\n\n try {\n if (typeof callback === \"function\") {\n callback.call(target, event);\n } else if (typeof callback.handleEvent === \"function\") {\n callback.handleEvent(event);\n }\n } catch (thrownError) {\n reportError(thrownError);\n }\n}\n/**\n * Find the index of given listener.\n * This returns `-1` if not found.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n */\n\n\nfunction findIndexOfListener(_ref2, callback, capture) {\n var listeners = _ref2.listeners;\n\n for (var _i4 = 0; _i4 < listeners.length; ++_i4) {\n if (listeners[_i4].callback === callback && isCapture(listeners[_i4]) === capture) {\n return _i4;\n }\n }\n\n return -1;\n}\n/**\n * Add the given listener.\n * Does copy-on-write if needed.\n * @param list The listener list.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n */\n\n\nfunction addListener(list, callback, capture, passive, once, signal) {\n var signalListener;\n\n if (signal) {\n signalListener = removeListener.bind(null, list, callback, capture);\n signal.addEventListener(\"abort\", signalListener);\n }\n\n var listener = createListener(callback, capture, passive, once, signal, signalListener);\n\n if (list.cow) {\n list.cow = false;\n list.listeners = [].concat(_toConsumableArray(list.listeners), [listener]);\n } else {\n list.listeners.push(listener);\n }\n\n return listener;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n * @returns `true` if it mutated the list directly.\n */\n\n\nfunction removeListener(list, callback, capture) {\n var index = findIndexOfListener(list, callback, capture);\n\n if (index !== -1) {\n return removeListenerAt(list, index);\n }\n\n return false;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param index The index of the target listener.\n * @param disableCow Disable copy-on-write if true.\n * @returns `true` if it mutated the `listeners` array directly.\n */\n\n\nfunction removeListenerAt(list, index) {\n var disableCow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var listener = list.listeners[index]; // Set the removed flag.\n\n setRemoved(listener); // Dispose the abort signal listener if exists.\n\n if (listener.signal) {\n listener.signal.removeEventListener(\"abort\", listener.signalListener);\n } // Remove it from the array.\n\n\n if (list.cow && !disableCow) {\n list.cow = false;\n list.listeners = list.listeners.filter(function (_, i) {\n return i !== index;\n });\n return false;\n }\n\n list.listeners.splice(index, 1);\n return true;\n}\n/**\n * Create a new `ListenerListMap` object.\n */\n\n\nfunction createListenerListMap() {\n return Object.create(null);\n}\n/**\n * Get the listener list of the given type.\n * If the listener list has not been initialized, initialize and return it.\n * @param listenerMap The listener list map.\n * @param type The event type to get.\n */\n\n\nfunction ensureListenerList(listenerMap, type) {\n var _a;\n\n return (_a = listenerMap[type]) !== null && _a !== void 0 ? _a : listenerMap[type] = {\n attrCallback: undefined,\n attrListener: undefined,\n cow: false,\n listeners: []\n };\n}\n/**\n * An implementation of the `EventTarget` interface.\n * @see https://dom.spec.whatwg.org/#eventtarget\n */\n\n\nvar EventTarget = /*#__PURE__*/function () {\n /**\n * Initialize this instance.\n */\n function EventTarget() {\n _classCallCheck(this, EventTarget);\n\n internalDataMap$2.set(this, createListenerListMap());\n } // Implementation\n\n\n _createClass(EventTarget, [{\n key: \"addEventListener\",\n value: function addEventListener(type0, callback0, options0) {\n var listenerMap = $$2(this);\n\n var _normalizeAddOptions = normalizeAddOptions(type0, callback0, options0),\n callback = _normalizeAddOptions.callback,\n capture = _normalizeAddOptions.capture,\n once = _normalizeAddOptions.once,\n passive = _normalizeAddOptions.passive,\n signal = _normalizeAddOptions.signal,\n type = _normalizeAddOptions.type;\n\n if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) {\n return;\n }\n\n var list = ensureListenerList(listenerMap, type); // Find existing listener.\n\n var i = findIndexOfListener(list, callback, capture);\n\n if (i !== -1) {\n warnDuplicate(list.listeners[i], passive, once, signal);\n return;\n } // Add the new listener.\n\n\n addListener(list, callback, capture, passive, once, signal);\n } // Implementation\n\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type0, callback0, options0) {\n var listenerMap = $$2(this);\n\n var _normalizeOptions = normalizeOptions(type0, callback0, options0),\n callback = _normalizeOptions.callback,\n capture = _normalizeOptions.capture,\n type = _normalizeOptions.type;\n\n var list = listenerMap[type];\n\n if (callback != null && list) {\n removeListener(list, callback, capture);\n }\n } // Implementation\n\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(e) {\n var list = $$2(this)[String(e.type)];\n\n if (list == null) {\n return true;\n }\n\n var event = e instanceof Event ? e : EventWrapper.wrap(e);\n var eventData = $(event, \"event\");\n\n if (eventData.dispatchFlag) {\n throw createInvalidStateError(\"This event has been in dispatching.\");\n }\n\n eventData.dispatchFlag = true;\n eventData.target = eventData.currentTarget = this;\n\n if (!eventData.stopPropagationFlag) {\n var cow = list.cow,\n listeners = list.listeners; // Set copy-on-write flag.\n\n list.cow = true; // Call listeners.\n\n for (var _i5 = 0; _i5 < listeners.length; ++_i5) {\n var listener = listeners[_i5]; // Skip if removed.\n\n if (isRemoved(listener)) {\n continue;\n } // Remove this listener if has the `once` flag.\n\n\n if (isOnce(listener) && removeListenerAt(list, _i5, !cow)) {\n // Because this listener was removed, the next index is the\n // same as the current value.\n _i5 -= 1;\n } // Call this listener with the `passive` flag.\n\n\n eventData.inPassiveListenerFlag = isPassive(listener);\n invokeCallback(listener, this, event);\n eventData.inPassiveListenerFlag = false; // Stop if the `event.stopImmediatePropagation()` method was called.\n\n if (eventData.stopImmediatePropagationFlag) {\n break;\n }\n } // Restore copy-on-write flag.\n\n\n if (!cow) {\n list.cow = false;\n }\n }\n\n eventData.target = null;\n eventData.currentTarget = null;\n eventData.stopImmediatePropagationFlag = false;\n eventData.stopPropagationFlag = false;\n eventData.dispatchFlag = false;\n return !eventData.canceledFlag;\n }\n }]);\n\n return EventTarget;\n}();\n/**\n * Internal data.\n */\n\n\nvar internalDataMap$2 = new WeakMap();\n/**\n * Get private data.\n * @param target The event target object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\n\nfunction $$2(target) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"this\";\n var retv = internalDataMap$2.get(target);\n assertType(retv != null, \"'%s' must be an object that EventTarget constructor created, but got another one: %o\", name, target);\n return retv;\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\n\n\nfunction normalizeAddOptions(type, callback, options) {\n var _a;\n\n assertCallback(callback);\n\n if (_typeof(options) === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture),\n passive: Boolean(options.passive),\n once: Boolean(options.once),\n signal: (_a = options.signal) !== null && _a !== void 0 ? _a : undefined\n };\n }\n\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options),\n passive: false,\n once: false,\n signal: undefined\n };\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\n\n\nfunction normalizeOptions(type, callback, options) {\n assertCallback(callback);\n\n if (_typeof(options) === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture)\n };\n }\n\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options)\n };\n}\n/**\n * Assert the type of 'callback' argument.\n * @param callback The callback to check.\n */\n\n\nfunction assertCallback(callback) {\n if (typeof callback === \"function\" || _typeof(callback) === \"object\" && callback !== null && typeof callback.handleEvent === \"function\") {\n return;\n }\n\n if (callback == null || _typeof(callback) === \"object\") {\n InvalidEventListener.warn(callback);\n return;\n }\n\n throw new TypeError(format(InvalidEventListener.message, [callback]));\n}\n/**\n * Print warning for duplicated.\n * @param listener The current listener that is duplicated.\n * @param passive The passive flag of the new duplicated listener.\n * @param once The once flag of the new duplicated listener.\n * @param signal The signal object of the new duplicated listener.\n */\n\n\nfunction warnDuplicate(listener, passive, once, signal) {\n EventListenerWasDuplicated.warn(isCapture(listener) ? \"capture\" : \"bubble\", listener.callback);\n\n if (isPassive(listener) !== passive) {\n OptionWasIgnored.warn(\"passive\");\n }\n\n if (isOnce(listener) !== once) {\n OptionWasIgnored.warn(\"once\");\n }\n\n if (listener.signal !== signal) {\n OptionWasIgnored.warn(\"signal\");\n }\n} // Set enumerable\n\n\nvar keys$1 = Object.getOwnPropertyNames(EventTarget.prototype);\n\nfor (var _i6 = 0; _i6 < keys$1.length; ++_i6) {\n if (keys$1[_i6] === \"constructor\") {\n continue;\n }\n\n Object.defineProperty(EventTarget.prototype, keys$1[_i6], {\n enumerable: true\n });\n} // Ensure `eventTarget instanceof window.EventTarget` is `true`.\n\n\nif (typeof Global !== \"undefined\" && typeof Global.EventTarget !== \"undefined\") {\n Object.setPrototypeOf(EventTarget.prototype, Global.EventTarget.prototype);\n}\n/**\n * Get the current value of a given event attribute.\n * @param target The `EventTarget` object to get.\n * @param type The event type.\n */\n\n\nfunction getEventAttributeValue(target, type) {\n var _a, _b;\n\n var listMap = $$2(target, \"target\");\n return (_b = (_a = listMap[type]) === null || _a === void 0 ? void 0 : _a.attrCallback) !== null && _b !== void 0 ? _b : null;\n}\n/**\n * Set an event listener to a given event attribute.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\n\n\nfunction setEventAttributeValue(target, type, callback) {\n if (callback != null && typeof callback !== \"function\") {\n InvalidAttributeHandler.warn(callback);\n }\n\n if (typeof callback === \"function\" || _typeof(callback) === \"object\" && callback !== null) {\n upsertEventAttributeListener(target, type, callback);\n } else {\n removeEventAttributeListener(target, type);\n }\n} //------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n\n/**\n * Update or insert the given event attribute handler.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\n\n\nfunction upsertEventAttributeListener(target, type, callback) {\n var list = ensureListenerList($$2(target, \"target\"), String(type));\n list.attrCallback = callback;\n\n if (list.attrListener == null) {\n list.attrListener = addListener(list, defineEventAttributeCallback(list), false, false, false, undefined);\n }\n}\n/**\n * Remove the given event attribute handler.\n * @param target The `EventTarget` object to remove.\n * @param type The event type.\n * @param callback The event listener.\n */\n\n\nfunction removeEventAttributeListener(target, type) {\n var listMap = $$2(target, \"target\");\n var list = listMap[String(type)];\n\n if (list && list.attrListener) {\n removeListener(list, list.attrListener.callback, false);\n list.attrCallback = list.attrListener = undefined;\n }\n}\n/**\n * Define the callback function for the given listener list object.\n * It calls `attrCallback` property if the property value is a function.\n * @param list The `ListenerList` object.\n */\n\n\nfunction defineEventAttributeCallback(list) {\n return function (event) {\n var callback = list.attrCallback;\n\n if (typeof callback === \"function\") {\n callback.call(this, event);\n }\n };\n}\n/**\n * Define an `EventTarget` class that has event attibutes.\n * @param types The types to define event attributes.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\n\n\nfunction defineCustomEventTarget() {\n var CustomEventTarget = /*#__PURE__*/function (_EventTarget) {\n _inherits(CustomEventTarget, _EventTarget);\n\n var _super4 = _createSuper(CustomEventTarget);\n\n function CustomEventTarget() {\n _classCallCheck(this, CustomEventTarget);\n\n return _super4.apply(this, arguments);\n }\n\n return CustomEventTarget;\n }(EventTarget);\n\n for (var _i7 = 0; _i7 < arguments.length; ++_i7) {\n defineEventAttribute(CustomEventTarget.prototype, _i7 < 0 || arguments.length <= _i7 ? undefined : arguments[_i7]);\n }\n\n return CustomEventTarget;\n}\n/**\n * Define an event attribute.\n * @param target The `EventTarget` object to define an event attribute.\n * @param type The event type to define.\n * @param _eventClass Unused, but to infer `Event` class type.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\n\n\nfunction defineEventAttribute(target, type, _eventClass) {\n Object.defineProperty(target, \"on\".concat(type), {\n get: function get() {\n return getEventAttributeValue(this, type);\n },\n set: function set(value) {\n setEventAttributeValue(this, type, value);\n },\n configurable: true,\n enumerable: true\n });\n}\n\nexport default EventTarget;\nexport { Event, EventTarget, defineCustomEventTarget, defineEventAttribute, getEventAttributeValue, setErrorHandler, setEventAttributeValue, setWarningHandler };\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import _Promise from \"@babel/runtime-corejs3/core-js-stable/promise\";\n// ../p-defer/index.js\nfunction pDefer() {\n var deferred = {};\n deferred.promise = new _Promise(function (resolve, reject) {\n deferred.resolve = resolve;\n deferred.reject = reject;\n });\n return deferred;\n}\n\n// src/index.mjs\nvar src_default = pDefer;\nexport { src_default as default };\n","import { hooks, StrictStyleOptions } from 'botframework-webchat-api';\nimport { useMemo } from 'react';\n\nimport useWebChatUIContext from './internal/useWebChatUIContext';\n\nconst { useLocalizer, useStyleOptions } = hooks;\n\nexport default function useRenderMarkdownAsHTML(): (\n markdown: string,\n styleOptions?: StrictStyleOptions,\n options?: { externalLinkAlt: string }\n) => string {\n const { renderMarkdown } = useWebChatUIContext();\n const [styleOptions] = useStyleOptions();\n const localize = useLocalizer();\n\n const externalLinkAlt = localize('MARKDOWN_EXTERNAL_LINK_ALT');\n\n return useMemo(\n () => renderMarkdown && (markdown => renderMarkdown(markdown, styleOptions, { externalLinkAlt })),\n [externalLinkAlt, renderMarkdown, styleOptions]\n );\n}\n","const { userAgent } = navigator;\n\n// not DRY so that list can be alphabetical\nconst android = /Linux; Android/u.test(userAgent);\nconst chromium = !/Edge\\//u.test(userAgent) && /Chrome\\//u.test(userAgent);\nconst edgeAnaheim = /Edg\\//u.test(userAgent);\nconst edgeUWP = /Edge\\//u.test(userAgent);\nconst firefox = /Firefox\\//u.test(userAgent);\nconst ie11 = /Trident\\/7.0/u.test(userAgent);\n\nconst chrome = chromium && !edgeAnaheim;\nconst safari = !(chrome || edgeUWP || ie11 || firefox);\n\nexport { android, chrome, chromium, edgeAnaheim, edgeUWP, firefox, ie11, safari };\n","import { Observable, ObservableInput } from '../Observable';\nimport { ArrayObservable } from '../observable/ArrayObservable';\nimport { isArray } from '../util/isArray';\nimport { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OperatorFunction } from '../interfaces';\n\nconst none = {};\n\n/* tslint:disable:max-line-length */\nexport function combineLatest<T, R>(project: (v1: T) => R): OperatorFunction<T, R>;\nexport function combineLatest<T, T2, R>(v2: ObservableInput<T2>, project: (v1: T, v2: T2) => R): OperatorFunction<T, R>;\nexport function combineLatest<T, T2, T3, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, project: (v1: T, v2: T2, v3: T3) => R): OperatorFunction<T, R>;\nexport function combineLatest<T, T2, T3, T4, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, project: (v1: T, v2: T2, v3: T3, v4: T4) => R): OperatorFunction<T, R>;\nexport function combineLatest<T, T2, T3, T4, T5, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => R): OperatorFunction<T, R>;\nexport function combineLatest<T, T2, T3, T4, T5, T6, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => R): OperatorFunction<T, R> ;\nexport function combineLatest<T, T2>(v2: ObservableInput<T2>): OperatorFunction<T, [T, T2]>;\nexport function combineLatest<T, T2, T3>(v2: ObservableInput<T2>, v3: ObservableInput<T3>): OperatorFunction<T, [T, T2, T3]>;\nexport function combineLatest<T, T2, T3, T4>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>): OperatorFunction<T, [T, T2, T3, T4]>;\nexport function combineLatest<T, T2, T3, T4, T5>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>): OperatorFunction<T, [T, T2, T3, T4, T5]>;\nexport function combineLatest<T, T2, T3, T4, T5, T6>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>): OperatorFunction<T, [T, T2, T3, T4, T5, T6]> ;\nexport function combineLatest<T, R>(...observables: Array<ObservableInput<T> | ((...values: Array<T>) => R)>): OperatorFunction<T, R>;\nexport function combineLatest<T, R>(array: ObservableInput<T>[]): OperatorFunction<T, Array<T>>;\nexport function combineLatest<T, TOther, R>(array: ObservableInput<TOther>[], project: (v1: T, ...values: Array<TOther>) => R): OperatorFunction<T, R>;\n/* tslint:enable:max-line-length */\n\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nexport function combineLatest<T, R>(...observables: Array<ObservableInput<any> |\n Array<ObservableInput<any>> |\n ((...values: Array<any>) => R)>): OperatorFunction<T, R> {\n let project: (...values: Array<any>) => R = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = <(...values: Array<any>) => R>observables.pop();\n }\n\n // if the first and only other argument besides the resultSelector is an array\n // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n if (observables.length === 1 && isArray(observables[0])) {\n observables = (<any>observables[0]).slice();\n }\n\n return (source: Observable<T>) => source.lift.call(new ArrayObservable([source, ...observables]), new CombineLatestOperator(project));\n}\n\nexport class CombineLatestOperator<T, R> implements Operator<T, R> {\n constructor(private project?: (...values: Array<any>) => R) {\n }\n\n call(subscriber: Subscriber<R>, source: any): any {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.project));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class CombineLatestSubscriber<T, R> extends OuterSubscriber<T, R> {\n private active: number = 0;\n private values: any[] = [];\n private observables: any[] = [];\n private toRespond: number;\n\n constructor(destination: Subscriber<R>, private project?: (...values: Array<any>) => R) {\n super(destination);\n }\n\n protected _next(observable: any) {\n this.values.push(none);\n this.observables.push(observable);\n }\n\n protected _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n } else {\n this.active = len;\n this.toRespond = len;\n for (let i = 0; i < len; i++) {\n const observable = observables[i];\n this.add(subscribeToResult(this, observable, observable, i));\n }\n }\n }\n\n notifyComplete(unused: Subscriber<R>): void {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n }\n\n notifyNext(outerValue: T, innerValue: R,\n outerIndex: number, innerIndex: number,\n innerSub: InnerSubscriber<T, R>): void {\n const values = this.values;\n const oldVal = values[outerIndex];\n const toRespond = !this.toRespond\n ? 0\n : oldVal === none ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n\n if (toRespond === 0) {\n if (this.project) {\n this._tryProject(values);\n } else {\n this.destination.next(values.slice());\n }\n }\n }\n\n private _tryProject(values: any[]) {\n let result: any;\n try {\n result = this.project.apply(this, values);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","\nimport { ObservableInput } from '../Observable';\nimport { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n * Converts a higher-order Observable into a first-order Observable which\n * concurrently delivers all values that are emitted on the inner Observables.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables.</span>\n *\n * <img src=\"./img/mergeAll.png\" width=\"100%\">\n *\n * `mergeAll` subscribes to an Observable that emits Observables, also known as\n * a higher-order Observable. Each time it observes one of these emitted inner\n * Observables, it subscribes to that and delivers all the values from the\n * inner Observable on the output Observable. The output Observable only\n * completes once all inner Observables have completed. Any error delivered by\n * a inner Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Spawn a new interval Observable for each click event, and blend their outputs as one Observable</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var firstOrder = higherOrder.mergeAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * @example <caption>Count from 0 to 9 every second for each click, but only allow 2 concurrent timers</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10));\n * var firstOrder = higherOrder.mergeAll(2);\n * firstOrder.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link exhaust}\n * @see {@link merge}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits values coming from all the\n * inner Observables emitted by the source Observable.\n * @method mergeAll\n * @owner Observable\n */\nexport function mergeAll<T>(concurrent: number = Number.POSITIVE_INFINITY): MonoTypeOperatorFunction<T> {\n return mergeMap(identity as (value: T, index: number) => ObservableInput<{}>, null, concurrent);\n}","'use strict';\n\nexports.Any = require('./properties/Any/regex');\nexports.Cc = require('./categories/Cc/regex');\nexports.Cf = require('./categories/Cf/regex');\nexports.P = require('./categories/P/regex');\nexports.Z = require('./categories/Z/regex');\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","import useWebChatUIContext from './useWebChatUIContext';\n\nexport default function useNonce() {\n const { nonce } = useWebChatUIContext();\n\n return [nonce];\n}\n","import { useCallback } from 'react';\n\nimport useWebChatUIContext from './internal/useWebChatUIContext';\n\nexport default function useScrollToEnd(): () => void {\n const { scrollToEndCallbacksRef } = useWebChatUIContext();\n\n return useCallback(\n () => scrollToEndCallbacksRef.current.forEach(callback => callback({ behavior: 'smooth' })),\n [scrollToEndCallbacksRef]\n );\n}\n","import { noop } from './noop';\nimport { UnaryFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function pipe<T>(): UnaryFunction<T, T>;\nexport function pipe<T, A>(op1: UnaryFunction<T, A>): UnaryFunction<T, A>;\nexport function pipe<T, A, B>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>): UnaryFunction<T, B>;\nexport function pipe<T, A, B, C>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>, op3: UnaryFunction<B, C>): UnaryFunction<T, C>;\nexport function pipe<T, A, B, C, D>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>, op3: UnaryFunction<B, C>, op4: UnaryFunction<C, D>): UnaryFunction<T, D>;\nexport function pipe<T, A, B, C, D, E>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>, op3: UnaryFunction<B, C>, op4: UnaryFunction<C, D>, op5: UnaryFunction<D, E>): UnaryFunction<T, E>;\nexport function pipe<T, A, B, C, D, E, F>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>, op3: UnaryFunction<B, C>, op4: UnaryFunction<C, D>, op5: UnaryFunction<D, E>, op6: UnaryFunction<E, F>): UnaryFunction<T, F>;\nexport function pipe<T, A, B, C, D, E, F, G>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>, op3: UnaryFunction<B, C>, op4: UnaryFunction<C, D>, op5: UnaryFunction<D, E>, op6: UnaryFunction<E, F>, op7: UnaryFunction<F, G>): UnaryFunction<T, G>;\nexport function pipe<T, A, B, C, D, E, F, G, H>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>, op3: UnaryFunction<B, C>, op4: UnaryFunction<C, D>, op5: UnaryFunction<D, E>, op6: UnaryFunction<E, F>, op7: UnaryFunction<F, G>, op8: UnaryFunction<G, H>): UnaryFunction<T, H>;\nexport function pipe<T, A, B, C, D, E, F, G, H, I>(op1: UnaryFunction<T, A>, op2: UnaryFunction<A, B>, op3: UnaryFunction<B, C>, op4: UnaryFunction<C, D>, op5: UnaryFunction<D, E>, op6: UnaryFunction<E, F>, op7: UnaryFunction<F, G>, op8: UnaryFunction<G, H>, op9: UnaryFunction<H, I>): UnaryFunction<T, I>;\n/* tslint:enable:max-line-length */\n\nexport function pipe<T, R>(...fns: Array<UnaryFunction<T, R>>): UnaryFunction<T, R> {\n return pipeFromArray(fns);\n}\n\n/* @internal */\nexport function pipeFromArray<T, R>(fns: Array<UnaryFunction<T, R>>): UnaryFunction<T, R> {\n if (!fns) {\n return noop as UnaryFunction<any, any>;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction<T, R>) => fn(prev), input);\n };\n}\n","/* tslint:disable:no-empty */\nexport function noop() { }\n","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { TeardownLogic } from '../Subscription';\nimport { OperatorFunction, MonoTypeOperatorFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function filter<T, S extends T>(predicate: (value: T, index: number) => value is S,\n thisArg?: any): OperatorFunction<T, S>;\nexport function filter<T>(predicate: (value: T, index: number) => boolean,\n thisArg?: any): MonoTypeOperatorFunction<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Filter items emitted by the source Observable by only emitting those that\n * satisfy a specified predicate.\n *\n * <span class=\"informal\">Like\n * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\n * it only emits a value from the source if it passes a criterion function.</span>\n *\n * <img src=\"./img/filter.png\" width=\"100%\">\n *\n * Similar to the well-known `Array.prototype.filter` method, this operator\n * takes values from the source Observable, passes them through a `predicate`\n * function and only emits those values that yielded `true`.\n *\n * @example <caption>Emit only click events whose target was a DIV element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV');\n * clicksOnDivs.subscribe(x => console.log(x));\n *\n * @see {@link distinct}\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n * @see {@link ignoreElements}\n * @see {@link partition}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted, if `false` the value is not passed to the output\n * Observable. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number\n * `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of values from the source that were\n * allowed by the `predicate` function.\n * @method filter\n * @owner Observable\n */\nexport function filter<T>(predicate: (value: T, index: number) => boolean,\n thisArg?: any): MonoTypeOperatorFunction<T> {\n return function filterOperatorFunction(source: Observable<T>): Observable<T> {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\n\nclass FilterOperator<T> implements Operator<T, T> {\n constructor(private predicate: (value: T, index: number) => boolean,\n private thisArg?: any) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass FilterSubscriber<T> extends Subscriber<T> {\n\n count: number = 0;\n\n constructor(destination: Subscriber<T>,\n private predicate: (value: T, index: number) => boolean,\n private thisArg: any) {\n super(destination);\n }\n\n // the try catch block below is left specifically for\n // optimization and perf reasons. a tryCatcher is not necessary here.\n protected _next(value: T) {\n let result: any;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n }\n}","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { Observable } from '../Observable';\nimport { TeardownLogic } from '../Subscription';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function distinctUntilChanged<T>(compare?: (x: T, y: T) => boolean): MonoTypeOperatorFunction<T>;\nexport function distinctUntilChanged<T, K>(compare: (x: K, y: K) => boolean, keySelector: (x: T) => K): MonoTypeOperatorFunction<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example <caption>A simple example with numbers</caption>\n * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4)\n * .distinctUntilChanged()\n * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4\n *\n * @example <caption>An example using a compare function</caption>\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of<Person>(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * { age: 6, name: 'Foo'})\n * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinctUntilChanged\n * @owner Observable\n */\nexport function distinctUntilChanged<T, K>(compare?: (x: K, y: K) => boolean, keySelector?: (x: T) => K): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => source.lift(new DistinctUntilChangedOperator<T, K>(compare, keySelector));\n}\n\nclass DistinctUntilChangedOperator<T, K> implements Operator<T, T> {\n constructor(private compare: (x: K, y: K) => boolean,\n private keySelector: (x: T) => K) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass DistinctUntilChangedSubscriber<T, K> extends Subscriber<T> {\n private key: K;\n private hasKey: boolean = false;\n\n constructor(destination: Subscriber<T>,\n compare: (x: K, y: K) => boolean,\n private keySelector: (x: T) => K) {\n super(destination);\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n\n private compare(x: any, y: any): boolean {\n return x === y;\n }\n\n protected _next(value: T): void {\n\n const keySelector = this.keySelector;\n let key: any = value;\n\n if (keySelector) {\n key = tryCatch(this.keySelector)(value);\n if (key === errorObject) {\n return this.destination.error(errorObject.e);\n }\n }\n\n let result: any = false;\n\n if (this.hasKey) {\n result = tryCatch(this.compare)(this.key, key);\n if (result === errorObject) {\n return this.destination.error(errorObject.e);\n }\n } else {\n this.hasKey = true;\n }\n\n if (Boolean(result) === false) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n","import { applyMiddleware, createStore as createReduxStore, Store } from 'redux';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport createSagaMiddleware from 'redux-saga';\n\nimport createReducer from './createReducer';\nimport createSagas from './createSagas';\nimport sagaError from './actions/sagaError';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\n\ntype CreateStoreOptions = {\n /**\n * True, to enable Redux development tools, otherwise, false.\n *\n * Because Web Chat use sagas for business logics, some store state are keep at JavaScript heaps.\n * Time-travelling and saving/restoring store state are not supported.\n */\n devTools?: boolean;\n\n /**\n * Ponyfill to overrides specific global scope members.\n *\n * This option is for development use only. Not all features in Web Chat are ponyfilled.\n *\n * To fake timers, `setTimeout` and related functions can be passed to overrides the original global scope members.\n *\n * Please see [#4662](https://github.com/microsoft/BotFramework-WebChat/pull/4662) for details.\n */\n ponyfill?: Partial<GlobalScopePonyfill>;\n};\n\nfunction createEnhancerAndSagaMiddleware(getStore, ...middlewares) {\n const sagaMiddleware = createSagaMiddleware({\n onError: (...args) => {\n const [err] = args;\n\n console.error(err);\n\n const store = getStore();\n\n store && store.dispatch(sagaError());\n }\n });\n\n return {\n enhancer: applyMiddleware(...middlewares, sagaMiddleware),\n sagaMiddleware\n };\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\n\n// The complexity is introduced by the check of ponyfill.\n// eslint-disable-next-line complexity\nexport function withOptions(options: CreateStoreOptions, initialState?, ...middlewares): Store {\n // IE Mode does not have `globalThis`.\n const globalThisOrWindow = typeof globalThis === 'undefined' ? window : globalThis;\n const ponyfillFromOptions: Partial<GlobalScopePonyfill> = options.ponyfill || {};\n\n // TODO: [P2] Dedupe: when we have an utility package, move this code there and mark it as internal use.\n const ponyfill: GlobalScopePonyfill = {\n cancelAnimationFrame:\n ponyfillFromOptions.cancelAnimationFrame ||\n // Using clock functions from global if not provided.\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame.bind(globalThisOrWindow) : undefined),\n cancelIdleCallback:\n ponyfillFromOptions.cancelIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelIdleCallback === 'function' ? cancelIdleCallback.bind(globalThisOrWindow) : undefined),\n clearImmediate:\n ponyfillFromOptions.clearImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearImmediate === 'function' ? clearImmediate.bind(globalThisOrWindow) : undefined),\n clearInterval:\n ponyfillFromOptions.clearInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearInterval === 'function' ? clearInterval.bind(globalThisOrWindow) : undefined),\n clearTimeout:\n ponyfillFromOptions.clearTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearTimeout === 'function' ? clearTimeout.bind(globalThisOrWindow) : undefined),\n // eslint-disable-next-line no-restricted-globals\n Date: ponyfillFromOptions.Date || Date,\n requestAnimationFrame:\n ponyfillFromOptions.requestAnimationFrame ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestAnimationFrame === 'function' ? requestAnimationFrame.bind(globalThisOrWindow) : undefined),\n requestIdleCallback:\n ponyfillFromOptions.requestIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestIdleCallback === 'function' ? requestIdleCallback.bind(globalThisOrWindow) : undefined),\n setImmediate:\n ponyfillFromOptions.setImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setImmediate === 'function' ? setImmediate.bind(globalThisOrWindow) : undefined),\n setInterval:\n ponyfillFromOptions.setInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setInterval === 'function' ? setInterval.bind(globalThisOrWindow) : undefined),\n setTimeout:\n ponyfillFromOptions.setTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setTimeout === 'function' ? setTimeout.bind(globalThisOrWindow) : undefined)\n };\n\n // We are sure the \"getStore\" (first argument) is not called on \"createEnhancerAndSagaMiddleware()\".\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const { enhancer, sagaMiddleware } = createEnhancerAndSagaMiddleware(() => store, ...middlewares);\n const store = createReduxStore(\n createReducer(ponyfill),\n initialState || {},\n options.devTools ? composeWithDevTools(enhancer) : enhancer\n );\n\n sagaMiddleware.run(createSagas({ ponyfill }));\n\n return store;\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\nexport default function createStore(initialState?, ...middlewares): Store {\n return withOptions({}, initialState, ...middlewares);\n}\n\n/**\n * Creates a Redux store internally used by Web Chat, with Redux development tools.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n *\n * @deprecated Use `withOptions` instead and pass `{ devTools: true }`\n */\nexport function withDevTools(initialState?, ...middlewares): Store {\n return withOptions({ devTools: true }, initialState, ...middlewares);\n}\n","import AdaptiveCardsStyleOptions, { StrictAdaptiveCardsStyleOptions } from './AdaptiveCardsStyleOptions';\nimport defaultStyleOptions from './defaultStyleOptions';\n\nexport default function normalizeStyleOptions(\n styleOptions: AdaptiveCardsStyleOptions\n): StrictAdaptiveCardsStyleOptions {\n return { ...defaultStyleOptions, ...styleOptions };\n}\n","const candidateSelectors = [\n 'input',\n 'select',\n 'textarea',\n 'a[href]',\n 'button',\n '[tabindex]',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n];\nconst candidateSelector = /* #__PURE__ */ candidateSelectors.join(',');\n\nconst matches =\n typeof Element === 'undefined'\n ? function () {}\n : Element.prototype.matches ||\n Element.prototype.msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n\nconst getCandidates = function (el, includeContainer, filter) {\n let candidates = Array.prototype.slice.apply(\n el.querySelectorAll(candidateSelector)\n );\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\nconst isContentEditable = function (node) {\n return node.contentEditable === 'true';\n};\n\nconst getTabindex = function (node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);\n\n if (!isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if (isContentEditable(node)) {\n return 0;\n }\n\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n if (\n (node.nodeName === 'AUDIO' ||\n node.nodeName === 'VIDEO' ||\n node.nodeName === 'DETAILS') &&\n node.getAttribute('tabindex') === null\n ) {\n return 0;\n }\n\n return node.tabIndex;\n};\n\nconst sortOrderedTabbables = function (a, b) {\n return a.tabIndex === b.tabIndex\n ? a.documentOrder - b.documentOrder\n : a.tabIndex - b.tabIndex;\n};\n\nconst isInput = function (node) {\n return node.tagName === 'INPUT';\n};\n\nconst isHiddenInput = function (node) {\n return isInput(node) && node.type === 'hidden';\n};\n\nconst isDetailsWithSummary = function (node) {\n const r =\n node.tagName === 'DETAILS' &&\n Array.prototype.slice\n .apply(node.children)\n .some((child) => child.tagName === 'SUMMARY');\n return r;\n};\n\nconst getCheckedRadio = function (nodes, form) {\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\n\nconst isTabbableRadio = function (node) {\n if (!node.name) {\n return true;\n }\n const radioScope = node.form || node.ownerDocument;\n\n const queryRadios = function (name) {\n return radioScope.querySelectorAll(\n 'input[type=\"radio\"][name=\"' + name + '\"]'\n );\n };\n\n let radioSet;\n if (\n typeof window !== 'undefined' &&\n typeof window.CSS !== 'undefined' &&\n typeof window.CSS.escape === 'function'\n ) {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error(\n 'Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s',\n err.message\n );\n return false;\n }\n }\n\n const checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\n\nconst isRadio = function (node) {\n return isInput(node) && node.type === 'radio';\n};\n\nconst isNonTabbableRadio = function (node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\n\nconst isHidden = function (node, displayCheck) {\n if (getComputedStyle(node).visibility === 'hidden') {\n return true;\n }\n\n const isDirectSummary = matches.call(node, 'details>summary:first-of-type');\n const nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {\n return true;\n }\n if (!displayCheck || displayCheck === 'full') {\n while (node) {\n if (getComputedStyle(node).display === 'none') {\n return true;\n }\n node = node.parentElement;\n }\n } else if (displayCheck === 'non-zero-area') {\n const { width, height } = node.getBoundingClientRect();\n return width === 0 && height === 0;\n }\n\n return false;\n};\n\n// form fields (nested) inside a disabled fieldset are not focusable/tabbable\n// unless they are in the _first_ <legend> element of the top-most disabled\n// fieldset\nconst isDisabledFromFieldset = function (node) {\n if (\n isInput(node) ||\n node.tagName === 'SELECT' ||\n node.tagName === 'TEXTAREA' ||\n node.tagName === 'BUTTON'\n ) {\n let parentNode = node.parentElement;\n while (parentNode) {\n if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {\n // look for the first <legend> as an immediate child of the disabled\n // <fieldset>: if the node is in that legend, it'll be enabled even\n // though the fieldset is disabled; otherwise, the node is in a\n // secondary/subsequent legend, or somewhere else within the fieldset\n // (however deep nested) and it'll be disabled\n for (let i = 0; i < parentNode.children.length; i++) {\n const child = parentNode.children.item(i);\n if (child.tagName === 'LEGEND') {\n if (child.contains(node)) {\n return false;\n }\n\n // the node isn't in the first legend (in doc order), so no matter\n // where it is now, it'll be disabled\n return true;\n }\n }\n\n // the node isn't in a legend, so no matter where it is now, it'll be disabled\n return true;\n }\n\n parentNode = parentNode.parentElement;\n }\n }\n\n // else, node's tabbable/focusable state should not be affected by a fieldset's\n // enabled/disabled state\n return false;\n};\n\nconst isNodeMatchingSelectorFocusable = function (options, node) {\n if (\n node.disabled ||\n isHiddenInput(node) ||\n isHidden(node, options.displayCheck) ||\n // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) ||\n isDisabledFromFieldset(node)\n ) {\n return false;\n }\n return true;\n};\n\nconst isNodeMatchingSelectorTabbable = function (options, node) {\n if (\n !isNodeMatchingSelectorFocusable(options, node) ||\n isNonTabbableRadio(node) ||\n getTabindex(node) < 0\n ) {\n return false;\n }\n return true;\n};\n\nconst tabbable = function (el, options) {\n options = options || {};\n\n const regularTabbables = [];\n const orderedTabbables = [];\n\n const candidates = getCandidates(\n el,\n options.includeContainer,\n isNodeMatchingSelectorTabbable.bind(null, options)\n );\n\n candidates.forEach(function (candidate, i) {\n const candidateTabindex = getTabindex(candidate);\n if (candidateTabindex === 0) {\n regularTabbables.push(candidate);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n node: candidate,\n });\n }\n });\n\n const tabbableNodes = orderedTabbables\n .sort(sortOrderedTabbables)\n .map((a) => a.node)\n .concat(regularTabbables);\n\n return tabbableNodes;\n};\n\nconst focusable = function (el, options) {\n options = options || {};\n\n const candidates = getCandidates(\n el,\n options.includeContainer,\n isNodeMatchingSelectorFocusable.bind(null, options)\n );\n\n return candidates;\n};\n\nconst isTabbable = function (node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\n\nconst focusableCandidateSelector = /* #__PURE__ */ candidateSelectors\n .concat('iframe')\n .join(',');\n\nconst isFocusable = function (node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n\nexport { tabbable, focusable, isTabbable, isFocusable };\n","import { normalizeStyleOptions, StyleOptions } from 'botframework-webchat-api';\n\nimport createActivitiesStyle from './StyleSet/Activities';\nimport createAudioAttachmentStyle from './StyleSet/AudioAttachment';\nimport createAudioContentStyle from './StyleSet/AudioContent';\nimport createAutoResizeTextAreaStyle from './StyleSet/AutoResizeTextArea';\nimport createAvatarStyle from './StyleSet/Avatar';\nimport createBasicTranscriptStyle from './StyleSet/BasicTranscript';\nimport createBubbleStyle from './StyleSet/Bubble';\nimport createCarouselFilmStrip from './StyleSet/CarouselFilmStrip';\nimport createCarouselFilmStripAttachment from './StyleSet/CarouselFilmStripAttachment';\nimport createCarouselFlipper from './StyleSet/CarouselFlipper';\nimport createConnectivityNotification from './StyleSet/ConnectivityNotification';\nimport createDictationInterimsStyle from './StyleSet/DictationInterims';\nimport createErrorBoxStyle from './StyleSet/ErrorBox';\nimport createErrorNotificationStyle from './StyleSet/ErrorNotification';\nimport createFileContentStyle from './StyleSet/FileContent';\nimport createImageAvatarStyle from './StyleSet/ImageAvatar';\nimport createInitialsAvatarStyle from './StyleSet/InitialsAvatar';\nimport createKeyboardHelpStyle from './StyleSet/KeyboardHelp';\nimport createMicrophoneButtonStyle from './StyleSet/MicrophoneButton';\nimport createRootStyle from './StyleSet/Root';\nimport createScrollToEndButtonStyle from './StyleSet/ScrollToEndButton';\nimport createSendBoxButtonStyle from './StyleSet/SendBoxButton';\nimport createSendBoxStyle from './StyleSet/SendBox';\nimport createSendBoxTextBoxStyle from './StyleSet/SendBoxTextBox';\nimport createSendStatusStyle from './StyleSet/SendStatus';\nimport createSingleAttachmentActivityStyle from './StyleSet/SingleAttachmentActivity';\nimport createSpinnerAnimationStyle from './StyleSet/SpinnerAnimation';\nimport createStackedLayoutStyle from './StyleSet/StackedLayout';\nimport createSuggestedActionsStyle from './StyleSet/SuggestedActions';\nimport createSuggestedActionStyle from './StyleSet/SuggestedAction';\nimport createTextContentStyle from './StyleSet/TextContent';\nimport createToasterStyle from './StyleSet/Toaster';\nimport createToastStyle from './StyleSet/Toast';\nimport createTypingAnimationStyle from './StyleSet/TypingAnimation';\nimport createTypingIndicatorStyle from './StyleSet/TypingIndicator';\nimport createUploadButtonStyle from './StyleSet/UploadButton';\nimport createVideoAttachmentStyle from './StyleSet/VideoAttachment';\nimport createVideoContentStyle from './StyleSet/VideoContent';\nimport createVimeoContentStyle from './StyleSet/VimeoContent';\nimport createWarningNotificationStyle from './StyleSet/WarningNotification';\nimport createYouTubeContentStyle from './StyleSet/YouTubeContent';\n\n// TODO: [P4] We should add a notice for people who want to use \"styleSet\" instead of \"styleOptions\".\n// \"styleSet\" is actually CSS stylesheet and it is based on the DOM tree.\n// DOM tree may change from time to time, thus, maintaining \"styleSet\" becomes a constant effort.\n\nexport default function createStyleSet(styleOptions: StyleOptions) {\n const strictStyleOptions = normalizeStyleOptions(styleOptions);\n\n return {\n activities: createActivitiesStyle(),\n audioAttachment: createAudioAttachmentStyle(strictStyleOptions),\n audioContent: createAudioContentStyle(),\n autoResizeTextArea: createAutoResizeTextAreaStyle(strictStyleOptions),\n avatar: createAvatarStyle(strictStyleOptions),\n basicTranscript: createBasicTranscriptStyle(strictStyleOptions),\n bubble: createBubbleStyle(strictStyleOptions),\n carouselFilmStrip: createCarouselFilmStrip(strictStyleOptions),\n carouselFilmStripAttachment: createCarouselFilmStripAttachment(strictStyleOptions),\n carouselFlipper: createCarouselFlipper(strictStyleOptions),\n connectivityNotification: createConnectivityNotification(strictStyleOptions),\n dictationInterims: createDictationInterimsStyle(strictStyleOptions),\n errorBox: createErrorBoxStyle(strictStyleOptions),\n errorNotification: createErrorNotificationStyle(strictStyleOptions),\n fileContent: createFileContentStyle(strictStyleOptions),\n imageAvatar: createImageAvatarStyle(strictStyleOptions),\n initialsAvatar: createInitialsAvatarStyle(strictStyleOptions),\n keyboardHelp: createKeyboardHelpStyle(strictStyleOptions),\n microphoneButton: createMicrophoneButtonStyle(strictStyleOptions),\n options: { ...strictStyleOptions }, // Cloned to make sure no additional modifications will propagate up.\n root: createRootStyle(strictStyleOptions),\n scrollToEndButton: createScrollToEndButtonStyle(strictStyleOptions),\n sendBox: createSendBoxStyle(strictStyleOptions),\n sendBoxButton: createSendBoxButtonStyle(strictStyleOptions),\n sendBoxTextBox: createSendBoxTextBoxStyle(strictStyleOptions),\n sendStatus: createSendStatusStyle(strictStyleOptions),\n singleAttachmentActivity: createSingleAttachmentActivityStyle(strictStyleOptions),\n spinnerAnimation: createSpinnerAnimationStyle(strictStyleOptions),\n stackedLayout: createStackedLayoutStyle(strictStyleOptions),\n suggestedAction: createSuggestedActionStyle(strictStyleOptions),\n suggestedActions: createSuggestedActionsStyle(strictStyleOptions),\n textContent: createTextContentStyle(strictStyleOptions),\n toast: createToastStyle(strictStyleOptions),\n toaster: createToasterStyle(strictStyleOptions),\n typingAnimation: createTypingAnimationStyle(strictStyleOptions),\n typingIndicator: createTypingIndicatorStyle(strictStyleOptions),\n uploadButton: createUploadButtonStyle(strictStyleOptions),\n videoAttachment: createVideoAttachmentStyle(),\n videoContent: createVideoContentStyle(strictStyleOptions),\n vimeoContent: createVimeoContentStyle(strictStyleOptions),\n warningNotification: createWarningNotificationStyle(strictStyleOptions),\n youTubeContent: createYouTubeContentStyle(strictStyleOptions)\n };\n}\n","import { useContext } from 'react';\n\nimport ActivityTreeContext from './Context';\n\nimport type { ActivityTreeContextType } from './Context';\n\nexport default function useActivityTreeContext(thrownOnUndefined = true): ActivityTreeContextType {\n const contextValue = useContext(ActivityTreeContext);\n\n if (thrownOnUndefined && !contextValue) {\n throw new Error('botframework-webchat internal: This hook can only be used under <ActivityTreeComposer>.');\n }\n\n return contextValue;\n}\n","import { ActivityMiddleware } from 'botframework-webchat-api';\nimport React from 'react';\n\nimport CarouselLayout from '../../Activity/CarouselLayout';\nimport StackedLayout from '../../Activity/StackedLayout';\n\nexport default function createCoreMiddleware(): ActivityMiddleware[] {\n return [\n () =>\n next =>\n (...args) => {\n const [{ activity }] = args;\n\n // TODO: [P4] Can we simplify these if-statement to something more readable?\n\n const { type } = activity;\n\n // Filter out activities that should not be visible\n if (type === 'conversationUpdate' || type === 'event' || type === 'invoke' || type === 'typing') {\n return false;\n } else if (type === 'message') {\n const { attachments, channelData, text } = activity;\n\n if (\n // Do not show postback\n channelData?.postBack ||\n // Do not show messageBack if displayText is undefined\n (channelData?.messageBack && !channelData.messageBack.displayText) ||\n // Do not show empty bubbles (no text and attachments, and not \"typing\")\n !(text || attachments?.length)\n ) {\n return false;\n }\n }\n\n if (type === 'message' || type === 'typing') {\n if (\n type === 'message' &&\n (activity.attachments?.length || 0) > 1 &&\n activity.attachmentLayout === 'carousel'\n ) {\n // The following line is not a React functional component, it's a render function called by useCreateActivityRenderer() hook.\n // The function signature need to be compatible with older version of activity middleware, which was:\n //\n // renderActivity(\n // renderAttachment: ({ activity, attachment }) => React.Element\n // ) => React.Element\n\n return function renderCarouselLayout(renderAttachment, props) {\n typeof props === 'undefined' &&\n console.warn(\n 'botframework-webchat: One or more arguments were missing after passing through the activity middleware. Please check your custom activity middleware to make sure it passes all arguments.'\n );\n\n return <CarouselLayout activity={activity} renderAttachment={renderAttachment} {...props} />;\n };\n }\n\n // The following line is not a React functional component, it's a render function called by useCreateActivityRenderer() hook.\n return function renderStackedLayout(renderAttachment, props) {\n typeof props === 'undefined' &&\n console.warn(\n 'botframework-webchat: One or more arguments were missing after passing through the activity middleware. Please check your custom activity middleware to make sure it passes all arguments.'\n );\n\n return <StackedLayout activity={activity} renderAttachment={renderAttachment} {...props} />;\n };\n }\n\n return next(...args);\n }\n ];\n}\n","import { hooks } from 'botframework-webchat-api';\nimport {\n Composer as FilmComposer,\n createBasicStyleSet as createBasicStyleSetForReactFilm,\n Flipper,\n useScrollBarWidth,\n useScrolling,\n useStyleSetClassNames as useReactFilmStyleSetClassNames\n} from 'react-film';\n\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\n\nimport CarouselFilmStrip from './CarouselFilmStrip';\nimport useNonce from '../hooks/internal/useNonce';\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst { useDirection, useLocalizer } = hooks;\n\nconst ROOT_STYLE = {\n '&.webchat__carousel-layout': {\n overflow: 'hidden',\n position: 'relative'\n }\n};\n\nconst CarouselLayoutCore = ({\n activity,\n hideTimestamp,\n renderActivityStatus,\n renderAttachment,\n renderAvatar,\n showCallout\n}) => {\n const [{ carouselFlipper: carouselFlipperStyleSet }] = useStyleSet();\n const [{ root: filmRootClassName }] = useReactFilmStyleSetClassNames();\n const [direction] = useDirection();\n const [scrollBarWidth] = useScrollBarWidth();\n const [scrolling] = useScrolling();\n const leftSideFlipper = direction === 'rtl' ? '>' : '<';\n const localize = useLocalizer();\n const rightSideFlipper = direction === 'rtl' ? '<' : '>';\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n const nextAlt = localize('CAROUSEL_FLIPPER_NEXT_ALT');\n const previousAlt = localize('CAROUSEL_FLIPPER_PREVIOUS_ALT');\n\n const leftFlipperAriaLabel = direction === 'rtl' ? nextAlt : previousAlt;\n const rightFlipperAriaLabel = direction === 'rtl' ? previousAlt : nextAlt;\n\n return (\n <div\n className={classNames('webchat__carousel-layout', rootClassName, carouselFlipperStyleSet + '', filmRootClassName)}\n >\n <div className={classNames('react-film__main', { 'react-film__main--scrolling': scrolling })}>\n <CarouselFilmStrip\n activity={activity}\n hideTimestamp={hideTimestamp}\n renderActivityStatus={renderActivityStatus}\n renderAttachment={renderAttachment}\n renderAvatar={renderAvatar}\n showCallout={showCallout}\n />\n {scrollBarWidth !== '100%' && (\n <React.Fragment>\n <Flipper aria-label={leftFlipperAriaLabel} blurFocusOnClick={true} mode=\"left\">\n {leftSideFlipper}\n </Flipper>\n <Flipper aria-label={rightFlipperAriaLabel} blurFocusOnClick={true} mode=\"right\">\n {rightSideFlipper}\n </Flipper>\n </React.Fragment>\n )}\n </div>\n </div>\n );\n};\n\nCarouselLayoutCore.defaultProps = {\n hideTimestamp: false,\n renderActivityStatus: false,\n renderAvatar: false,\n showCallout: true\n};\n\nCarouselLayoutCore.propTypes = {\n activity: PropTypes.shape({\n attachments: PropTypes.array\n }).isRequired,\n hideTimestamp: PropTypes.bool,\n renderActivityStatus: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.func]),\n renderAttachment: PropTypes.func.isRequired,\n renderAvatar: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.func]),\n showCallout: PropTypes.bool\n};\n\nconst CarouselLayout = props => {\n const { activity: { attachments = [] } = {} } = props;\n const [direction] = useDirection();\n const [nonce] = useNonce();\n const filmStyleSet = useMemo(() => createBasicStyleSetForReactFilm({ cursor: null }), []);\n\n return (\n <FilmComposer dir={direction} nonce={nonce} numItems={attachments.length} styleSet={filmStyleSet}>\n <CarouselLayoutCore {...props} />\n </FilmComposer>\n );\n};\n\nCarouselLayout.defaultProps = {\n ...CarouselLayoutCore.defaultProps\n};\n\nCarouselLayout.propTypes = {\n ...CarouselLayoutCore.propTypes\n};\n\nexport default CarouselLayout;\n","module.exports = require('../../full/array/is-array');\n","module.exports = require('../../full/symbol');\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","module.exports = require('../full/get-iterator-method');\n","module.exports = require('../../full/instance/slice');\n","module.exports = require('../../full/array/from');\n","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","module.exports = require('../../full/symbol/iterator');\n","var parent = require('../../es/instance/index-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/splice');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-prototype-of');\n\nmodule.exports = parent;\n","/* eslint complexity: [\"error\", 50] */\n\nimport { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Bubble from './Bubble';\nimport connectToWebChat from '../connectToWebChat';\nimport isZeroOrPositive from '../Utils/isZeroOrPositive';\nimport ScreenReaderText from '../ScreenReaderText';\nimport textFormatToContentType from '../Utils/textFormatToContentType';\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\nimport useUniqueId from '../hooks/internal/useUniqueId';\n\nimport type { FC, ReactNode } from 'react';\nimport type { RenderAttachment } from 'botframework-webchat-api';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nconst { useAvatarForBot, useAvatarForUser, useLocalizer, useStyleOptions } = hooks;\n\nconst ROOT_STYLE = {\n '&.webchat__stacked-layout': {\n position: 'relative', // This is to keep screen reader text in the destinated area.\n\n '& .webchat__stacked-layout__attachment-row, & .webchat__stacked-layout__main, & .webchat__stacked-layout__message-row, & .webchat__stacked-layout__status':\n {\n display: 'flex'\n },\n\n '& .webchat__stacked-layout__alignment-pad': {\n flexShrink: 0\n },\n\n '& .webchat__stacked-layout__attachment': {\n width: '100%'\n },\n\n '& .webchat__stacked-layout__avatar-gutter': {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0\n },\n\n '&.webchat__stacked-layout--from-user': {\n '& .webchat__stacked-layout__attachment-row, & .webchat__stacked-layout__main, & .webchat__stacked-layout__message-row, & .webchat__stacked-layout__status':\n {\n flexDirection: 'row-reverse'\n }\n },\n\n '& .webchat__stacked-layout__content': {\n flex: 1,\n\n // This is for bottom aligning an avatar with a message bubble shorter than the avatar.\n // Related to the test at activityGrouping.avatarMiddleware.atBottom.js.\n display: 'flex',\n flexDirection: 'column',\n\n // This \"overflow: hidden\" is to make sure text overflow will get clipped correctly.\n // Related to the test at basic.js \"long URLs with keep-all\".\n overflow: 'hidden'\n },\n\n '& .webchat__stacked-layout__nub-pad': {\n flexShrink: 0\n }\n }\n};\n\nconst connectStackedLayout = (...selectors) =>\n connectToWebChat(\n (\n {\n language,\n styleSet: {\n options: { botAvatarInitials, userAvatarInitials }\n }\n },\n { activity: { from: { role = undefined } = {} } = {} }\n ) => ({\n avatarInitials: role === 'user' ? userAvatarInitials : botAvatarInitials,\n language,\n\n // TODO: [P4] We want to deprecate botAvatarInitials/userAvatarInitials because they are not as helpful as avatarInitials\n botAvatarInitials,\n userAvatarInitials\n }),\n ...selectors\n );\n\ntype StackedLayoutProps = {\n activity: WebChatActivity;\n hideTimestamp?: boolean;\n renderActivityStatus?: (options: { hideTimestamp: boolean }) => ReactNode;\n renderAttachment?: RenderAttachment;\n renderAvatar?: false | (() => Exclude<ReactNode, boolean | null | undefined>);\n showCallout?: boolean;\n};\n\nconst StackedLayout: FC<StackedLayoutProps> = ({\n activity,\n hideTimestamp,\n renderActivityStatus,\n renderAttachment,\n renderAvatar,\n showCallout\n}) => {\n const [styleOptions] = useStyleOptions();\n const [{ initials: botInitials }] = useAvatarForBot();\n const [{ initials: userInitials }] = useAvatarForUser();\n const [{ stackedLayout: stackedLayoutStyleSet }] = useStyleSet();\n const ariaLabelId = useUniqueId('webchat__stacked-layout__id');\n const localize = useLocalizer();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n const { bubbleNubOffset, bubbleNubSize, bubbleFromUserNubOffset, bubbleFromUserNubSize } = styleOptions;\n\n const isMessage = activity.type === 'message';\n\n const attachments = (isMessage && activity.attachments) || [];\n const fromUser = activity.from.role === 'user';\n const messageBackDisplayText: string = (isMessage && activity.channelData?.messageBack?.displayText) || '';\n\n const activityDisplayText = isMessage ? messageBackDisplayText || activity.text : '';\n const attachedAlt = localize(fromUser ? 'ACTIVITY_YOU_ATTACHED_ALT' : 'ACTIVITY_BOT_ATTACHED_ALT');\n const greetingAlt = (\n fromUser ? localize('ACTIVITY_YOU_SAID_ALT') : localize('ACTIVITY_BOT_SAID_ALT', botInitials || '')\n ).replace(/\\s{2,}/gu, ' ');\n\n const initials = fromUser ? userInitials : botInitials;\n const nubOffset = fromUser ? bubbleFromUserNubOffset : bubbleNubOffset;\n const nubSize = fromUser ? bubbleFromUserNubSize : bubbleNubSize;\n const otherInitials = fromUser ? botInitials : userInitials;\n const otherNubSize = fromUser ? bubbleNubSize : bubbleFromUserNubSize;\n\n const hasAvatar = initials || typeof initials === 'string';\n const hasOtherAvatar = otherInitials || typeof otherInitials === 'string';\n const hasNub = typeof nubSize === 'number';\n const hasOtherNub = typeof otherNubSize === 'number';\n const topAlignedCallout = isZeroOrPositive(nubOffset);\n\n const extraTrailing = !hasOtherAvatar && hasOtherNub; // This is for bot message with user nub and no user avatar. And vice versa.\n\n const showAvatar = showCallout && hasAvatar && !!renderAvatar;\n const showNub = showCallout && hasNub && (topAlignedCallout || !attachments?.length);\n\n return (\n <div\n aria-labelledby={activityDisplayText ? ariaLabelId : undefined}\n className={classNames('webchat__stacked-layout', rootClassName, stackedLayoutStyleSet + '', {\n 'webchat__stacked-layout--extra-trailing': extraTrailing,\n 'webchat__stacked-layout--from-user': fromUser,\n 'webchat__stacked-layout--hide-avatar': hasAvatar && !showAvatar,\n 'webchat__stacked-layout--hide-nub': hasNub && !showNub,\n 'webchat__stacked-layout--no-message': !activityDisplayText,\n 'webchat__stacked-layout--show-avatar': showAvatar,\n 'webchat__stacked-layout--show-nub': showNub,\n 'webchat__stacked-layout--top-callout': topAlignedCallout\n })}\n >\n <div className=\"webchat__stacked-layout__main\">\n <div className=\"webchat__stacked-layout__avatar-gutter\">{showAvatar && renderAvatar()}</div>\n <div className=\"webchat__stacked-layout__content\">\n {!!activityDisplayText && (\n <div\n aria-roledescription=\"message\"\n className=\"webchat__stacked-layout__message-row\"\n // Disable \"Prop `id` is forbidden on DOM Nodes\" rule because we are using the ID prop for accessibility.\n /* eslint-disable-next-line react/forbid-dom-props */\n id={ariaLabelId}\n role=\"group\"\n >\n <ScreenReaderText text={greetingAlt} />\n <Bubble\n className=\"webchat__stacked-layout__message\"\n fromUser={fromUser}\n nub={showNub || (hasAvatar || hasNub ? 'hidden' : false)}\n >\n {renderAttachment({\n activity,\n attachment: isMessage\n ? {\n content: activityDisplayText,\n contentType: textFormatToContentType(activity.textFormat)\n }\n : undefined\n })}\n </Bubble>\n </div>\n )}\n {attachments.map((attachment, index) => (\n <div\n aria-roledescription=\"attachment\"\n className={classNames('webchat__stacked-layout__attachment-row', {\n 'webchat__stacked-layout__attachment-row--first': !index\n })}\n /* attachments do not have an ID, it is always indexed by number */\n /* eslint-disable-next-line react/no-array-index-key */\n key={index}\n role=\"group\"\n >\n <ScreenReaderText text={attachedAlt} />\n <Bubble\n className=\"webchat__stacked-layout__attachment\"\n fromUser={fromUser}\n /* eslint-disable-next-line react/no-array-index-key */\n key={index}\n nub={hasAvatar || hasNub ? 'hidden' : false}\n >\n {renderAttachment({ activity, attachment })}\n </Bubble>\n </div>\n ))}\n </div>\n <div className=\"webchat__stacked-layout__alignment-pad\" />\n </div>\n {typeof renderActivityStatus === 'function' && (\n <div className=\"webchat__stacked-layout__status\">\n <div className=\"webchat__stacked-layout__avatar-gutter\" />\n <div className=\"webchat__stacked-layout__nub-pad\" />\n {renderActivityStatus({ hideTimestamp })}\n <div className=\"webchat__stacked-layout__alignment-pad\" />\n </div>\n )}\n </div>\n );\n};\n\nStackedLayout.defaultProps = {\n hideTimestamp: false,\n renderActivityStatus: () => false,\n renderAvatar: undefined,\n showCallout: true\n};\n\nStackedLayout.propTypes = {\n // PropTypes cannot fully capture TypeScript types.\n // @ts-ignore\n activity: PropTypes.shape({\n attachments: PropTypes.array,\n channelData: PropTypes.shape({\n messageBack: PropTypes.shape({\n displayText: PropTypes.string\n })\n }),\n from: PropTypes.shape({\n role: PropTypes.string.isRequired\n }).isRequired,\n text: PropTypes.string,\n textFormat: PropTypes.oneOf(['markdown', 'plain', 'xml']),\n timestamp: PropTypes.string,\n type: PropTypes.string.isRequired\n }).isRequired,\n hideTimestamp: PropTypes.bool,\n\n // PropTypes cannot validate precisely with its TypeScript counterpart.\n // @ts-ignore\n renderActivityStatus: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.func]),\n renderAttachment: PropTypes.func.isRequired,\n\n // PropTypes cannot validate precisely with its TypeScript counterpart.\n // @ts-ignore\n renderAvatar: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.func]),\n showCallout: PropTypes.bool\n};\n\nexport default StackedLayout;\n\nexport { connectStackedLayout };\n","import createSendStatusMiddleware from './createSendStatusMiddleware';\nimport createTimestampMiddleware from './createTimestampMiddleware';\n\nimport type { ActivityStatusMiddleware } from 'botframework-webchat-api';\n\nexport default function createCoreMiddleware(): ActivityStatusMiddleware[] {\n return [createSendStatusMiddleware(), createTimestampMiddleware()];\n}\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React, { FC, useCallback } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nimport { SENDING, SEND_FAILED, SENT } from '../../../types/internal/SendStatus';\nimport connectToWebChat from '../../../connectToWebChat';\nimport SendFailedRetry from './SendFailedRetry';\nimport useFocus from '../../../hooks/useFocus';\nimport useStyleSet from '../../../hooks/useStyleSet';\n\nimport type { SendStatus as SendStatusType } from '../../../types/internal/SendStatus';\n\nconst { useLocalizer, usePostActivity } = hooks;\n\nconst connectSendStatus = (...selectors) =>\n connectToWebChat(\n ({ focusSendBox, language, postActivity }, { activity }) => ({\n language,\n retrySend: evt => {\n evt.preventDefault();\n\n postActivity(activity);\n\n // After clicking on \"retry\", the button will be removed from the DOM and focus will be lost (back to document.body)\n // This ensures that focus will stay within Web Chat\n focusSendBox();\n }\n }),\n ...selectors\n );\n\ntype SendStatusProps = {\n activity: WebChatActivity;\n sendStatus: SendStatusType;\n};\n\nconst SendStatus: FC<SendStatusProps> = ({ activity, sendStatus }) => {\n const [{ sendStatus: sendStatusStyleSet }] = useStyleSet();\n const focus = useFocus();\n const localize = useLocalizer();\n const postActivity = usePostActivity();\n\n const handleRetryClick = useCallback(() => {\n postActivity(activity);\n\n // After clicking on \"retry\", the button will be gone and focus will be lost (back to document.body)\n // We want to make sure the user stay inside Web Chat\n focus('sendBoxWithoutKeyboard');\n }, [activity, focus, postActivity]);\n const sendingText = localize('ACTIVITY_STATUS_SEND_STATUS_ALT_SENDING');\n\n return (\n <React.Fragment>\n <span className={sendStatusStyleSet}>\n {sendStatus === SENDING ? (\n sendingText\n ) : sendStatus === SEND_FAILED ? (\n <SendFailedRetry onRetryClick={handleRetryClick} />\n ) : (\n false\n )}\n </span>\n </React.Fragment>\n );\n};\n\nSendStatus.propTypes = {\n activity: PropTypes.any.isRequired,\n // PropTypes cannot fully capture TypeScript types.\n // @ts-ignore\n sendStatus: PropTypes.oneOf([SENDING, SEND_FAILED, SENT]).isRequired\n};\n\nexport default SendStatus;\n\nexport { connectSendStatus };\n","import { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nimport AbsoluteTime from './AbsoluteTime';\nimport RelativeTime from './RelativeTime';\nimport useStyleSet from '../../hooks/useStyleSet';\n\nconst { useStyleOptions } = hooks;\n\ntype TimestampProps = {\n activity: WebChatActivity;\n className?: string;\n};\n\nconst Timestamp: FC<TimestampProps> = ({ activity: { timestamp }, className }) => {\n const [{ timestampFormat }] = useStyleOptions();\n const [{ timestamp: timestampStyleSet, sendStatus: sendStatusStyleSet }] = useStyleSet();\n\n timestampStyleSet &&\n console.warn(\n 'botframework-webchat: \"styleSet.timestamp\" is deprecated. Please use \"styleSet.sendStatus\". This deprecation migration will be removed on or after December 31, 2021.'\n );\n\n return (\n !!timestamp && (\n <span\n className={classNames((timestampStyleSet || '') + '', (sendStatusStyleSet || '') + '', (className || '') + '')}\n >\n {timestampFormat === 'relative' ? <RelativeTime value={timestamp} /> : <AbsoluteTime value={timestamp} />}\n </span>\n )\n );\n};\n\nTimestamp.defaultProps = {\n className: ''\n};\n\nTimestamp.propTypes = {\n // PropTypes cannot fully capture TypeScript types.\n // @ts-ignore\n activity: PropTypes.shape({\n timestamp: PropTypes.string\n }).isRequired,\n className: PropTypes.string\n};\n\nexport default Timestamp;\n","import { useEffect } from 'react';\n\nimport usePonyfill from '../../providers/Ponyfill/usePonyfill';\n\n/**\n * Calls a callback function at a specific time.\n */\nexport default function useTimer(at: number, fn: () => void): void {\n const [{ clearTimeout, Date, setTimeout }] = usePonyfill();\n\n useEffect(() => {\n if (typeof at === 'number') {\n const ms = Math.max(0, at - Date.now());\n\n // useEffect() is running after yielding to sync code via setImmediate (IE), MessageChannel (4ms), or setTimeout.\n // Thus, when calling setTimeout(..., 0), under Lolex, it will be waited for another loop.\n // In other words, setTimeout(..., 0) won't fire right away. It will be fired after clock.tick(<any number>).\n if (ms) {\n const timeout = setTimeout(fn, ms);\n\n return () => clearTimeout(timeout);\n }\n\n fn();\n }\n }, [at, clearTimeout, Date, fn, setTimeout]);\n}\n","import { AttachmentMiddleware } from 'botframework-webchat-api';\nimport React from 'react';\n\nimport AudioAttachment from '../../Attachment/AudioAttachment';\nimport FileAttachment from '../../Attachment/FileAttachment';\nimport ImageAttachment from '../../Attachment/ImageAttachment';\nimport TextAttachment from '../../Attachment/TextAttachment';\nimport VideoAttachment from '../../Attachment/VideoAttachment';\n\n// TODO: [P4] Rename this file or the whole middleware, it looks either too simple or too comprehensive now\nexport default function createCoreMiddleware(): AttachmentMiddleware[] {\n return [\n () =>\n next =>\n (...args) => {\n const [\n {\n activity = {},\n activity: { from: { role = undefined } = {} } = {},\n attachment,\n attachment: { contentType = undefined, contentUrl = undefined, thumbnailUrl = undefined } = {}\n }\n ] = args;\n\n const isText = /^text\\//u.test(contentType);\n\n return (isText ? !attachment.content : role === 'user' && !thumbnailUrl) ? (\n <FileAttachment activity={activity} attachment={attachment} />\n ) : /^audio\\//u.test(contentType) ? (\n <AudioAttachment attachment={attachment} />\n ) : /^image\\//u.test(contentType) ? (\n <ImageAttachment attachment={attachment} />\n ) : /^video\\//u.test(contentType) ? (\n <VideoAttachment attachment={attachment} />\n ) : contentUrl || contentType === 'application/octet-stream' ? (\n <FileAttachment activity={activity} attachment={attachment} />\n ) : isText ? (\n <TextAttachment attachment={attachment} />\n ) : (\n next(...args)\n );\n }\n ];\n}\n","import PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport useStyleSet from '../hooks/useStyleSet';\n\ntype AudioContentProps = {\n alt?: string;\n autoPlay?: boolean;\n loop?: boolean;\n poster?: string;\n src: string;\n};\n\nconst AudioContent: FC<AudioContentProps> = ({ alt, autoPlay, loop, src }) => {\n const [{ audioContent: audioContentStyleSet }] = useStyleSet();\n\n return (\n <audio\n aria-label={alt}\n autoPlay={autoPlay}\n className={audioContentStyleSet}\n controls={true}\n loop={loop}\n src={src}\n />\n );\n};\n\nAudioContent.defaultProps = {\n alt: '',\n autoPlay: false,\n loop: false,\n poster: ''\n};\n\nAudioContent.propTypes = {\n alt: PropTypes.string,\n autoPlay: PropTypes.bool,\n loop: PropTypes.bool,\n // We will keep the \"poster\" prop for #3315.\n // eslint-disable-next-line react/no-unused-prop-types\n poster: PropTypes.string,\n src: PropTypes.string.isRequired\n};\n\nexport default AudioContent;\n","import { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport DownloadIcon from './Assets/DownloadIcon';\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst { useByteFormatter, useDirection, useLocalizer } = hooks;\n\nconst ROOT_STYLE = {\n display: 'flex',\n\n '& .webchat__fileContent__buttonLink': {\n display: 'flex',\n flex: 1\n },\n\n '& .webchat__fileContent__badge': {\n display: 'flex',\n flex: 1,\n flexDirection: 'column'\n }\n};\n\nconst ALLOWED_PROTOCOLS = ['blob:', 'data:', 'http:', 'https:'];\n\nfunction isAllowedProtocol(url) {\n try {\n return ALLOWED_PROTOCOLS.includes(new URL(url).protocol);\n } catch (err) {\n return false;\n }\n}\n\nconst FileContentBadge = ({ downloadIcon, fileName, size }) => {\n const [direction] = useDirection();\n const formatByte = useByteFormatter();\n\n const localizedSize = typeof size === 'number' && formatByte(size);\n\n return (\n <React.Fragment>\n <div aria-hidden={true} className=\"webchat__fileContent__badge\">\n <div className=\"webchat__fileContent__fileName\">{fileName}</div>\n {!!localizedSize && <div className=\"webchat__fileContent__size\">{localizedSize}</div>}\n </div>\n {downloadIcon && (\n <DownloadIcon\n className={classNames(\n 'webchat__fileContent__downloadIcon',\n direction === 'rtl' && 'webchat__fileContent__downloadIcon--rtl'\n )}\n size={1.5}\n />\n )}\n </React.Fragment>\n );\n};\n\nFileContentBadge.defaultProps = {\n downloadIcon: false,\n size: undefined\n};\n\nFileContentBadge.propTypes = {\n downloadIcon: PropTypes.bool,\n fileName: PropTypes.string.isRequired,\n size: PropTypes.number\n};\n\ntype FileContentProps = {\n className?: string;\n fileName: string;\n href?: string;\n size?: number;\n};\n\nconst FileContent: FC<FileContentProps> = ({ className, href, fileName, size }) => {\n const [{ fileContent: fileContentStyleSet }] = useStyleSet();\n const localize = useLocalizer();\n const localizeBytes = useByteFormatter();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n const localizedSize = typeof size === 'number' && localizeBytes(size);\n\n href = href && isAllowedProtocol(href) ? href : undefined;\n\n const alt = localize(\n href\n ? localizedSize\n ? 'FILE_CONTENT_DOWNLOADABLE_WITH_SIZE_ALT'\n : 'FILE_CONTENT_DOWNLOADABLE_ALT'\n : localizedSize\n ? 'FILE_CONTENT_WITH_SIZE_ALT'\n : 'FILE_CONTENT_ALT',\n fileName,\n localizedSize\n );\n\n return (\n <div\n className={classNames('webchat__fileContent', rootClassName, fileContentStyleSet + '', (className || '') + '')}\n >\n {href ? (\n <a\n aria-label={alt}\n className=\"webchat__fileContent__buttonLink\"\n download={fileName}\n href={href}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <FileContentBadge downloadIcon={true} fileName={fileName} size={size} />\n </a>\n ) : (\n <FileContentBadge downloadIcon={false} fileName={fileName} size={size} />\n )}\n </div>\n );\n};\n\nFileContent.defaultProps = {\n className: '',\n href: undefined,\n size: undefined\n};\n\nFileContent.propTypes = {\n className: PropTypes.string,\n fileName: PropTypes.string.isRequired,\n href: PropTypes.string,\n size: PropTypes.number\n};\n\nexport default FileContent;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport ImageContent from './ImageContent';\nimport readDataURIToBlob from '../Utils/readDataURIToBlob';\n\nconst ImageAttachment = ({ attachment }) => {\n let imageURL = attachment.thumbnailUrl || attachment.contentUrl;\n\n // To support Content Security Policy, data URI cannot be used.\n // We need to parse the data URI into a blob: URL.\n const blob = readDataURIToBlob(imageURL);\n\n if (blob) {\n imageURL = URL.createObjectURL(blob);\n }\n\n return <ImageContent alt={attachment.name} src={imageURL} />;\n};\n\nImageAttachment.propTypes = {\n // Either attachment.contentUrl or attachment.thumbnailUrl must be specified.\n attachment: PropTypes.oneOfType([\n PropTypes.shape({\n contentUrl: PropTypes.string.isRequired,\n name: PropTypes.string,\n thumbnailUrl: PropTypes.string\n }),\n PropTypes.shape({\n contentUrl: PropTypes.string,\n name: PropTypes.string,\n thumbnailUrl: PropTypes.string.isRequired\n })\n ]).isRequired\n};\n\nexport default ImageAttachment;\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport CroppedImage from '../Utils/CroppedImage';\n\nconst { useStyleOptions } = hooks;\n\ntype ImageContentProps = {\n alt?: string;\n src: string;\n};\n\nconst ImageContent: FC<ImageContentProps> = ({ alt, src }) => {\n const [{ bubbleImageHeight }] = useStyleOptions();\n\n return <CroppedImage alt={alt} height={bubbleImageHeight} src={src} width=\"100%\" />;\n};\n\nImageContent.defaultProps = {\n alt: ''\n};\n\nImageContent.propTypes = {\n alt: PropTypes.string,\n src: PropTypes.string.isRequired\n};\n\nexport default ImageContent;\n","/* eslint react/no-danger: \"off\" */\n/* eslint react/no-array-index-key: \"off\" */\n\n// The content rendered here is sanitized.\n\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport useRenderMarkdownAsHTML from '../hooks/useRenderMarkdownAsHTML';\nimport useStyleSet from '../hooks/useStyleSet';\n\ntype TextContentProps = {\n contentType?: string;\n text: string;\n};\n\nconst TextContent: FC<TextContentProps> = ({ contentType, text }) => {\n const [{ textContent: textContentStyleSet }] = useStyleSet();\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML();\n const contentTypeMarkdown = contentType === 'text/markdown';\n\n return contentTypeMarkdown && renderMarkdownAsHTML ? (\n <div\n className={classNames('markdown', textContentStyleSet + '')}\n dangerouslySetInnerHTML={{ __html: renderMarkdownAsHTML(text || '') }}\n />\n ) : (\n <React.Fragment>\n {(text || '').split('\\n').map((line, index) => (\n <p className={classNames('plain', textContentStyleSet + '')} key={index}>\n {line.trim()}\n </p>\n ))}\n </React.Fragment>\n );\n};\n\nTextContent.defaultProps = {\n contentType: 'text/markdown'\n};\n\nTextContent.propTypes = {\n contentType: PropTypes.string,\n text: PropTypes.string.isRequired\n};\n\nexport default TextContent;\n","import PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport HTMLVideoContent from './HTMLVideoContent';\nimport VimeoContent from './VimeoContent';\nimport YouTubeContent from './YouTubeContent';\n\nconst YOUTUBE_DOMAIN = 'youtube.com';\nconst YOUTUBE_WWW_DOMAIN = 'www.youtube.com';\nconst YOUTUBE_SHORT_DOMAIN = 'youtu.be';\nconst YOUTUBE_WWW_SHORT_DOMAIN = 'www.youtu.be';\nconst VIMEO_DOMAIN = 'vimeo.com';\nconst VIMEO_WWW_DOMAIN = 'www.vimeo.com';\n\n// This is a workaround\n// - Today, there is no good URL polyfill for older browser\n// - Instead of writing a URL parser, for older browser, we will use this <a href> trick to parse the URL\nfunction parseURL(url) {\n let urlLike;\n\n if (typeof URL === 'function') {\n urlLike = new URL(url);\n } else {\n urlLike = document.createElement('a');\n urlLike.setAttribute('href', url);\n }\n\n const { hostname, pathname, search } = urlLike;\n\n return { hostname, pathname, search };\n}\n\ntype VideoContentProps = {\n alt?: string;\n autoPlay?: boolean;\n loop?: boolean;\n poster?: string;\n src: string;\n};\n\nconst VideoContent: FC<VideoContentProps> = ({ alt, autoPlay, loop, poster, src }) => {\n const { hostname, pathname, search } = parseURL(src);\n const lastSegment = pathname.split('/').pop();\n const searchParams = new URLSearchParams(search);\n\n switch (hostname) {\n case VIMEO_DOMAIN:\n case VIMEO_WWW_DOMAIN:\n return <VimeoContent alt={alt} autoPlay={autoPlay} embedID={lastSegment} loop={loop} />;\n\n case YOUTUBE_DOMAIN:\n case YOUTUBE_WWW_DOMAIN:\n return <YouTubeContent alt={alt} autoPlay={autoPlay} embedID={searchParams.get('v')} loop={loop} />;\n\n case YOUTUBE_SHORT_DOMAIN:\n case YOUTUBE_WWW_SHORT_DOMAIN:\n return <YouTubeContent alt={alt} autoPlay={autoPlay} embedID={lastSegment} loop={loop} />;\n\n default:\n return <HTMLVideoContent alt={alt} autoPlay={autoPlay} loop={loop} poster={poster} src={src} />;\n }\n};\n\nVideoContent.defaultProps = {\n alt: '',\n autoPlay: false,\n loop: false,\n poster: ''\n};\n\nVideoContent.propTypes = {\n alt: PropTypes.string,\n autoPlay: PropTypes.bool,\n loop: PropTypes.bool,\n poster: PropTypes.string,\n src: PropTypes.string.isRequired\n};\n\nexport default VideoContent;\n","import PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport useStyleSet from '../hooks/useStyleSet';\n\ntype HTMLVideoContentProps = {\n alt?: string;\n autoPlay?: boolean;\n loop?: boolean;\n poster?: string;\n src: string;\n};\n\nconst HTMLVideoContent: FC<HTMLVideoContentProps> = ({ alt, autoPlay, loop, poster, src }) => {\n const [{ videoContent: videoContentStyleSet }] = useStyleSet();\n\n return (\n <video\n aria-label={alt}\n autoPlay={autoPlay}\n className={videoContentStyleSet}\n controls={true}\n loop={loop}\n poster={poster}\n src={src}\n />\n );\n};\n\nHTMLVideoContent.defaultProps = {\n alt: '',\n autoPlay: false,\n loop: false,\n poster: ''\n};\n\nHTMLVideoContent.propTypes = {\n alt: PropTypes.string,\n autoPlay: PropTypes.bool,\n loop: PropTypes.bool,\n poster: PropTypes.string,\n src: PropTypes.string.isRequired\n};\n\nexport default HTMLVideoContent;\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport useStyleSet from '../hooks/useStyleSet';\n\nconst { useLocalizer } = hooks;\n\ntype VimeoContentProps = {\n alt?: string;\n autoPlay?: boolean;\n embedID: string;\n loop?: boolean;\n};\n\nconst VimeoContent: FC<VimeoContentProps> = ({ alt, autoPlay, embedID, loop }) => {\n const [{ vimeoContent: vimeoContentStyleSet }] = useStyleSet();\n const localize = useLocalizer();\n\n const search = new URLSearchParams({\n autoplay: autoPlay ? '1' : '0',\n badge: '0',\n byline: '0',\n loop: loop ? '1' : '0',\n portrait: '0',\n title: '0'\n }).toString();\n const title = localize('ATTACHMENT_VIDEO');\n\n return (\n <iframe\n allowFullScreen={true}\n aria-label={alt}\n className={vimeoContentStyleSet}\n sandbox=\"allow-same-origin allow-scripts\"\n src={`https://player.vimeo.com/video/${encodeURI(embedID)}?${search}`}\n title={title}\n />\n );\n};\n\nVimeoContent.defaultProps = {\n alt: '',\n autoPlay: false,\n loop: false\n};\n\nVimeoContent.propTypes = {\n alt: PropTypes.string,\n autoPlay: PropTypes.bool,\n embedID: PropTypes.string.isRequired,\n loop: PropTypes.bool\n};\n\nexport default VimeoContent;\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport useStyleSet from '../hooks/useStyleSet';\n\nconst { useLocalizer } = hooks;\n\ntype YouTubeContentProps = {\n alt?: string;\n autoPlay?: boolean;\n embedID: string;\n loop?: boolean;\n};\n\nconst YouTubeContent: FC<YouTubeContentProps> = ({ alt, autoPlay, embedID, loop }) => {\n const [{ youTubeContent: youTubeContentStyleSet }] = useStyleSet();\n const localize = useLocalizer();\n\n const search = new URLSearchParams({\n autoplay: autoPlay ? '1' : '0',\n loop: loop ? '1' : '0',\n modestbranding: '1'\n }).toString();\n const title = localize('ATTACHMENT_VIDEO');\n\n return (\n // TODO: We should encodeURI the URL\n <iframe\n allowFullScreen={true}\n aria-label={alt}\n className={youTubeContentStyleSet}\n sandbox=\"allow-same-origin allow-scripts\"\n src={`https://youtube.com/embed/${embedID}?${search}`}\n title={title}\n />\n );\n};\n\nYouTubeContent.defaultProps = {\n alt: '',\n autoPlay: false,\n loop: false\n};\n\nYouTubeContent.propTypes = {\n alt: PropTypes.string,\n autoPlay: PropTypes.bool,\n embedID: PropTypes.string.isRequired,\n loop: PropTypes.bool\n};\n\nexport default YouTubeContent;\n","import { AvatarMiddleware } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport ImageAvatar from '../../Avatar/ImageAvatar';\nimport InitialsAvatar from '../../Avatar/InitialsAvatar';\nimport useStyleSet from '../../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../../hooks/internal/useStyleToEmotionObject';\n\nconst ROOT_STYLE = {\n overflow: 'hidden',\n position: 'relative',\n\n '> *': {\n left: 0,\n position: 'absolute',\n top: 0\n }\n};\n\ntype DefaultAvatarProps = {\n 'aria-hidden'?: boolean;\n className?: string;\n fromUser: boolean;\n};\n\nconst DefaultAvatar: FC<DefaultAvatarProps> = ({ 'aria-hidden': ariaHidden, className, fromUser }) => {\n const [{ avatar: avatarStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n return (\n <div\n aria-hidden={ariaHidden}\n className={classNames(\n 'webchat__defaultAvatar',\n { 'webchat__defaultAvatar--fromUser': fromUser },\n rootClassName,\n avatarStyleSet + '',\n (className || '') + ''\n )}\n >\n <InitialsAvatar fromUser={fromUser} />\n <ImageAvatar fromUser={fromUser} />\n </div>\n );\n};\n\nDefaultAvatar.defaultProps = {\n 'aria-hidden': true,\n className: ''\n};\n\nDefaultAvatar.propTypes = {\n 'aria-hidden': PropTypes.bool,\n className: PropTypes.string,\n fromUser: PropTypes.bool.isRequired\n};\n\nexport default function createCoreAvatarMiddleware(): AvatarMiddleware[] {\n return [\n () =>\n () =>\n ({ fromUser, styleOptions }) => {\n const { botAvatarImage, botAvatarInitials, userAvatarImage, userAvatarInitials } = styleOptions;\n\n if (fromUser ? userAvatarImage || userAvatarInitials : botAvatarImage || botAvatarInitials) {\n return () => <DefaultAvatar fromUser={fromUser} />;\n }\n\n return false;\n }\n ];\n}\n\nexport { DefaultAvatar };\n","import { hooks } from 'botframework-webchat-api';\nimport { isForbiddenPropertyName } from 'botframework-webchat-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport CheckMarkIcon from './CheckMarkIcon';\nimport ExclamationMarkIcon from './ExclamationMarkIcon';\n\nconst { useLocalizer } = hooks;\n\nconst NotificationIcon = ({ className, level }) => {\n const localize = useLocalizer();\n\n const prefixes = {\n error: localize('TOAST_ALT_ERROR'),\n info: localize('TOAST_ALT_INFO'),\n success: localize('TOAST_ALT_SUCCESS'),\n warn: localize('TOAST_ALT_WARN')\n };\n\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n const prefix = (!isForbiddenPropertyName(level) && prefixes[level]) || '';\n\n return (\n <React.Fragment>\n {level === 'success' ? (\n <CheckMarkIcon aria-label={prefix} className={className} />\n ) : (\n <ExclamationMarkIcon aria-label={prefix} className={className} />\n )}\n </React.Fragment>\n );\n};\n\nNotificationIcon.defaultProps = {\n className: undefined\n};\n\nNotificationIcon.propTypes = {\n className: PropTypes.string,\n level: PropTypes.oneOf(['error', 'info', 'success', 'warn']).isRequired\n};\n\nexport default NotificationIcon;\n","import { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport ScreenReaderText from '../ScreenReaderText';\n\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst { useDirection, useLocalizer } = hooks;\n\nconst ROOT_STYLE = {\n '&.webchat__typingIndicator.webchat__typingIndicator--rtl': { transform: 'scale(-1, 1)' }\n};\n\nconst TypingAnimation = () => {\n const [{ typingAnimation: typingAnimationStyleSet }] = useStyleSet();\n const [direction] = useDirection();\n const localize = useLocalizer();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n return (\n <React.Fragment>\n <ScreenReaderText text={localize('TYPING_INDICATOR_ALT')} />\n <div\n aria-hidden={true}\n className={classNames(\n 'webchat__typingIndicator',\n {\n 'webchat__typingIndicator--rtl': direction === 'rtl'\n },\n rootClassName,\n typingAnimationStyleSet + ''\n )}\n />\n </React.Fragment>\n );\n};\n\nexport default TypingAnimation;\n","import useWebChatUIContext from './useWebChatUIContext';\n\nexport default function useSettableDictateAbortable() {\n const { dictateAbortable, setDictateAbortable } = useWebChatUIContext();\n\n return [dictateAbortable, setDictateAbortable];\n}\n","/* eslint no-console: \"off\" */\n\nimport { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React, { FC } from 'react';\n\nimport ScreenReaderText from './ScreenReaderText';\nimport useStyleSet from './hooks/useStyleSet';\n\nconst { useLocalizer } = hooks;\n\ntype ErrorBoxProps = {\n error: Error;\n type?: string;\n};\n\nconst ErrorBox: FC<ErrorBoxProps> = ({ error, type }) => {\n const [{ errorBox: errorBoxStyleSet }] = useStyleSet();\n const localize = useLocalizer();\n\n return (\n <React.Fragment>\n <ScreenReaderText text={localize('ACTIVITY_ERROR_BOX_TITLE')} />\n <div className={errorBoxStyleSet}>\n <div>{type}</div>\n {/* The callstack between production and development are different, thus, we should hide it for visual regression test */}\n <details>\n <summary>{error.message}</summary>\n <pre>{error.stack}</pre>\n </details>\n </div>\n </React.Fragment>\n );\n};\n\nErrorBox.defaultProps = {\n type: ''\n};\n\nErrorBox.propTypes = {\n error: PropTypes.instanceOf(Error).isRequired,\n type: PropTypes.string\n};\n\nexport default ErrorBox;\n","import { createContext } from 'react';\n\nimport type { ContextType } from './types';\n\nconst SendBoxContext = createContext<ContextType | undefined>(undefined);\n\nexport default SendBoxContext;\n","/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport class UnsubscriptionError extends Error {\n constructor(public errors: any[]) {\n super();\n const err: any = Error.call(this, errors ?\n `${errors.length} errors occurred during unsubscription:\n ${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}` : '');\n (<any> this).name = err.name = 'UnsubscriptionError';\n (<any> this).stack = err.stack;\n (<any> this).message = err.message;\n }\n}\n","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * <span class=\"informal\">Put every next task on a queue, instead of executing it immediately</span>\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link async} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * @examples <caption>Schedule recursively first, then do something</caption>\n *\n * Rx.Scheduler.queue.schedule(() => {\n * Rx.Scheduler.queue.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n *\n *\n * @example <caption>Reschedule itself recursively</caption>\n *\n * Rx.Scheduler.queue.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n *\n *\n * @static true\n * @name queue\n * @owner Scheduler\n */\n\nexport const queue = new QueueScheduler(QueueAction);\n","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Observable, ObservableInput } from '../Observable';\n\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OperatorFunction } from '../interfaces';\n\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n *\n * <img src=\"./img/catch.png\" width=\"100%\">\n *\n * @example <caption>Continues with a different Observable when there's an error</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n == 4) {\n * \t throw 'four!';\n * }\n *\t return n;\n * })\n * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V'))\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, I, II, III, IV, V\n *\n * @example <caption>Retries the caught source Observable again in case of error, similar to retry() operator</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n === 4) {\n * \t throw 'four!';\n * }\n * \t return n;\n * })\n * .catch((err, caught) => caught)\n * .take(30)\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, 1, 2, 3, ...\n *\n * @example <caption>Throws a new error when the source Observable throws an error</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * if (n == 4) {\n * throw 'four!';\n * }\n * return n;\n * })\n * .catch(err => {\n * throw 'error in source. Details: ' + err;\n * })\n * .subscribe(\n * x => console.log(x),\n * err => console.log(err)\n * );\n * // 1, 2, 3, error in source. Details: four!\n *\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n * is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n * is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} An observable that originates from either the source or the observable returned by the\n * catch `selector` function.\n * @name catchError\n */\nexport function catchError<T, R>(selector: (err: any, caught: Observable<T>) => ObservableInput<R>): OperatorFunction<T, T | R> {\n return function catchErrorOperatorFunction(source: Observable<T>): Observable<T | R> {\n const operator = new CatchOperator(selector);\n const caught = source.lift(operator);\n return (operator.caught = caught as Observable<T>);\n };\n}\n\nclass CatchOperator<T, R> implements Operator<T, T | R> {\n caught: Observable<T>;\n\n constructor(private selector: (err: any, caught: Observable<T>) => ObservableInput<T | R>) {\n }\n\n call(subscriber: Subscriber<R>, source: any): any {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass CatchSubscriber<T, R> extends OuterSubscriber<T, T | R> {\n constructor(destination: Subscriber<any>,\n private selector: (err: any, caught: Observable<T>) => ObservableInput<T | R>,\n private caught: Observable<T>) {\n super(destination);\n }\n\n // NOTE: overriding `error` instead of `_error` because we don't want\n // to have this flag this subscriber as `isStopped`. We can mimic the\n // behavior of the RetrySubscriber (from the `retry` operator), where\n // we unsubscribe from our source chain, reset our Subscriber flags,\n // then subscribe to the selector result.\n error(err: any) {\n if (!this.isStopped) {\n let result: any;\n try {\n result = this.selector(err, this.caught);\n } catch (err2) {\n super.error(err2);\n return;\n }\n this._unsubscribeAndRecycle();\n this.add(subscribeToResult(this, result));\n }\n }\n}\n","import { Observable } from '../Observable';\nimport { Operator } from '../Operator';\nimport { Observer } from '../Observer';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../interfaces';\n\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nexport function count<T>(predicate?: (value: T, index: number, source: Observable<T>) => boolean): OperatorFunction<T, number> {\n return (source: Observable<T>) => source.lift(new CountOperator(predicate, source));\n}\n\nclass CountOperator<T> implements Operator<T, number> {\n constructor(private predicate?: (value: T, index: number, source: Observable<T>) => boolean,\n private source?: Observable<T>) {\n }\n\n call(subscriber: Subscriber<number>, source: any): any {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass CountSubscriber<T> extends Subscriber<T> {\n private count: number = 0;\n private index: number = 0;\n\n constructor(destination: Observer<number>,\n private predicate?: (value: T, index: number, source: Observable<T>) => boolean,\n private source?: Observable<T>) {\n super(destination);\n }\n\n protected _next(value: T): void {\n if (this.predicate) {\n this._tryPredicate(value);\n } else {\n this.count++;\n }\n }\n\n private _tryPredicate(value: T) {\n let result: any;\n\n try {\n result = this.predicate(value, this.index++, this.source);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n\n if (result) {\n this.count++;\n }\n }\n\n protected _complete(): void {\n this.destination.next(this.count);\n this.destination.complete();\n }\n}\n","import { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Operator } from '../Operator';\nimport { IScheduler } from '../Scheduler';\nimport { Subscriber } from '../Subscriber';\nimport { Action } from '../scheduler/Action';\nimport { Notification } from '../Notification';\nimport { Observable } from '../Observable';\nimport { PartialObserver } from '../Observer';\nimport { TeardownLogic } from '../Subscription';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * <span class=\"informal\">Time shifts each item by some specified amount of\n * milliseconds.</span>\n *\n * <img src=\"./img/delay.png\" width=\"100%\">\n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example <caption>Delay each click by one second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example <caption>Delay all clicks until a future date happens</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nexport function delay<T>(delay: number|Date,\n scheduler: IScheduler = async): MonoTypeOperatorFunction<T> {\n const absoluteDelay = isDate(delay);\n const delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(<number>delay);\n return (source: Observable<T>) => source.lift(new DelayOperator(delayFor, scheduler));\n}\n\nclass DelayOperator<T> implements Operator<T, T> {\n constructor(private delay: number,\n private scheduler: IScheduler) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n }\n}\n\ninterface DelayState<T> {\n source: DelaySubscriber<T>;\n destination: PartialObserver<T>;\n scheduler: IScheduler;\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass DelaySubscriber<T> extends Subscriber<T> {\n private queue: Array<DelayMessage<T>> = [];\n private active: boolean = false;\n private errored: boolean = false;\n\n private static dispatch<T>(this: Action<DelayState<T>>, state: DelayState<T>): void {\n const source = state.source;\n const queue = source.queue;\n const scheduler = state.scheduler;\n const destination = state.destination;\n\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n\n if (queue.length > 0) {\n const delay = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay);\n } else {\n this.unsubscribe();\n source.active = false;\n }\n }\n\n constructor(destination: Subscriber<T>,\n private delay: number,\n private scheduler: IScheduler) {\n super(destination);\n }\n\n private _schedule(scheduler: IScheduler): void {\n this.active = true;\n this.add(scheduler.schedule<DelayState<T>>(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n }\n\n private scheduleNotification(notification: Notification<T>): void {\n if (this.errored === true) {\n return;\n }\n\n const scheduler = this.scheduler;\n const message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n\n if (this.active === false) {\n this._schedule(scheduler);\n }\n }\n\n protected _next(value: T) {\n this.scheduleNotification(Notification.createNext(value));\n }\n\n protected _error(err: any) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n }\n\n protected _complete() {\n this.scheduleNotification(Notification.createComplete());\n }\n}\n\nclass DelayMessage<T> {\n constructor(public readonly time: number,\n public readonly notification: Notification<T>) {\n }\n}\n","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { PartialObserver } from '../Observer';\nimport { TeardownLogic } from '../Subscription';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function tap<T>(next: (x: T) => void, error?: (e: any) => void, complete?: () => void): MonoTypeOperatorFunction<T>;\nexport function tap<T>(observer: PartialObserver<T>): MonoTypeOperatorFunction<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Perform a side effect for every emission on the source Observable, but return\n * an Observable that is identical to the source.\n *\n * <span class=\"informal\">Intercepts each emission on the source and runs a\n * function, but returns an output which is identical to the source as long as errors don't occur.</span>\n *\n * <img src=\"./img/do.png\" width=\"100%\">\n *\n * Returns a mirrored Observable of the source Observable, but modified so that\n * the provided Observer is called to perform a side effect for every value,\n * error, and completion emitted by the source. Any errors that are thrown in\n * the aforementioned Observer or handlers are safely sent down the error path\n * of the output Observable.\n *\n * This operator is useful for debugging your Observables for the correct values\n * or performing other side effects.\n *\n * Note: this is different to a `subscribe` on the Observable. If the Observable\n * returned by `do` is not subscribed, the side effects specified by the\n * Observer will never happen. `do` therefore simply spies on existing\n * execution, it does not trigger an execution to happen like `subscribe` does.\n *\n * @example <caption>Map every click to the clientX position of that click, while also logging the click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks\n * .do(ev => console.log(ev))\n * .map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link map}\n * @see {@link subscribe}\n *\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\n * callback for `next`.\n * @param {function} [error] Callback for errors in the source.\n * @param {function} [complete] Callback for the completion of the source.\n * @return {Observable} An Observable identical to the source, but runs the\n * specified Observer or callback(s) for each item.\n * @name tap\n */\nexport function tap<T>(nextOrObserver?: PartialObserver<T> | ((x: T) => void),\n error?: (e: any) => void,\n complete?: () => void): MonoTypeOperatorFunction<T> {\n return function tapOperatorFunction(source: Observable<T>): Observable<T> {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\n\nclass DoOperator<T> implements Operator<T, T> {\n constructor(private nextOrObserver?: PartialObserver<T> | ((x: T) => void),\n private error?: (e: any) => void,\n private complete?: () => void) {\n }\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass DoSubscriber<T> extends Subscriber<T> {\n\n private safeSubscriber: Subscriber<T>;\n\n constructor(destination: Subscriber<T>,\n nextOrObserver?: PartialObserver<T> | ((x: T) => void),\n error?: (e: any) => void,\n complete?: () => void) {\n super(destination);\n\n const safeSubscriber = new Subscriber<T>(nextOrObserver, error, complete);\n safeSubscriber.syncErrorThrowable = true;\n this.add(safeSubscriber);\n this.safeSubscriber = safeSubscriber;\n }\n\n protected _next(value: T): void {\n const { safeSubscriber } = this;\n safeSubscriber.next(value);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n } else {\n this.destination.next(value);\n }\n }\n\n protected _error(err: any): void {\n const { safeSubscriber } = this;\n safeSubscriber.error(err);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n } else {\n this.destination.error(err);\n }\n }\n\n protected _complete(): void {\n const { safeSubscriber } = this;\n safeSubscriber.complete();\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n } else {\n this.destination.complete();\n }\n }\n}\n","import { Observable, ObservableInput } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { OperatorFunction, MonoTypeOperatorFunction } from '../interfaces';\nimport { merge as mergeStatic } from '../observable/merge';\n\nexport { merge as mergeStatic } from '../observable/merge';\n\n/* tslint:disable:max-line-length */\nexport function merge<T>(scheduler?: IScheduler): MonoTypeOperatorFunction<T>;\nexport function merge<T>(concurrent?: number, scheduler?: IScheduler): MonoTypeOperatorFunction<T>;\nexport function merge<T, T2>(v2: ObservableInput<T2>, scheduler?: IScheduler): OperatorFunction<T, T | T2>;\nexport function merge<T, T2>(v2: ObservableInput<T2>, concurrent?: number, scheduler?: IScheduler): OperatorFunction<T, T | T2>;\nexport function merge<T, T2, T3>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3>;\nexport function merge<T, T2, T3>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, concurrent?: number, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3>;\nexport function merge<T, T2, T3, T4>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3 | T4>;\nexport function merge<T, T2, T3, T4>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, concurrent?: number, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3 | T4>;\nexport function merge<T, T2, T3, T4, T5>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3 | T4 | T5>;\nexport function merge<T, T2, T3, T4, T5>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, concurrent?: number, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3 | T4 | T5>;\nexport function merge<T, T2, T3, T4, T5, T6>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3 | T4 | T5 | T6>;\nexport function merge<T, T2, T3, T4, T5, T6>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, concurrent?: number, scheduler?: IScheduler): OperatorFunction<T, T | T2 | T3 | T4 | T5 | T6>;\nexport function merge<T>(...observables: Array<ObservableInput<T> | IScheduler | number>): MonoTypeOperatorFunction<T>;\nexport function merge<T, R>(...observables: Array<ObservableInput<any> | IScheduler | number>): OperatorFunction<T, R>;\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * <img src=\"./img/merge.png\" width=\"100%\">\n *\n * `merge` subscribes to each given input Observable (either the source or an\n * Observable given as argument), and simply forwards (without doing any\n * transformation) all the values from all the input Observables to the output\n * Observable. The output Observable only completes once all input Observables\n * have completed. Any error delivered by an input Observable will be immediately\n * emitted on the output Observable.\n *\n * @example <caption>Merge together two Observables: 1s interval and clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = clicks.merge(timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var concurrent = 2; // the argument\n * var merged = timer1.merge(timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param {ObservableInput} other An input Observable to merge with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The IScheduler to use for managing\n * concurrency of input Observables.\n * @return {Observable} An Observable that emits items that are the result of\n * every input Observable.\n * @method merge\n * @owner Observable\n */\nexport function merge<T, R>(...observables: Array<ObservableInput<any> | IScheduler | number>): OperatorFunction<T, R> {\n return (source: Observable<T>) => source.lift.call(mergeStatic(source, ...observables));\n}\n","export function identity<T>(x: T): T {\n return x;\n}\n","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { Subject } from '../Subject';\nimport { Subscription, TeardownLogic } from '../Subscription';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\n\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`.\n * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child\n * subscription. Otherwise this method will resubscribe to the source Observable.\n *\n * <img src=\"./img/retryWhen.png\" width=\"100%\">\n *\n * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a\n * user can `complete` or `error`, aborting the retry.\n * @return {Observable} The source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nexport function retryWhen<T>(notifier: (errors: Observable<any>) => Observable<any>): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => source.lift(new RetryWhenOperator(notifier, source));\n}\n\nclass RetryWhenOperator<T> implements Operator<T, T> {\n constructor(protected notifier: (errors: Observable<any>) => Observable<any>,\n public source: Observable<T>) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass RetryWhenSubscriber<T, R> extends OuterSubscriber<T, R> {\n\n private errors: Subject<any>;\n private retries: Observable<any>;\n private retriesSubscription: Subscription;\n\n constructor(destination: Subscriber<R>,\n private notifier: (errors: Observable<any>) => Observable<any>,\n private source: Observable<T>) {\n super(destination);\n }\n\n error(err: any) {\n if (!this.isStopped) {\n\n let errors = this.errors;\n let retries: any = this.retries;\n let retriesSubscription = this.retriesSubscription;\n\n if (!retries) {\n errors = new Subject();\n retries = tryCatch(this.notifier)(errors);\n if (retries === errorObject) {\n return super.error(errorObject.e);\n }\n retriesSubscription = subscribeToResult(this, retries);\n } else {\n this.errors = null;\n this.retriesSubscription = null;\n }\n\n this._unsubscribeAndRecycle();\n\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n\n errors.next(err);\n }\n }\n\n /** @deprecated internal use only */ _unsubscribe() {\n const { errors, retriesSubscription } = this;\n if (errors) {\n errors.unsubscribe();\n this.errors = null;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = null;\n }\n this.retries = null;\n }\n\n notifyNext(outerValue: T, innerValue: R,\n outerIndex: number, innerIndex: number,\n innerSub: InnerSubscriber<T, R>): void {\n const { errors, retries, retriesSubscription } = this;\n this.errors = null;\n this.retries = null;\n this.retriesSubscription = null;\n\n this._unsubscribeAndRecycle();\n\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n\n this.source.subscribe(this);\n }\n}\n","import { Observable } from '../Observable';\nimport { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\n\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\nfunction shareSubjectFactory() {\n return new Subject();\n}\n\n/**\n * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\n * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\n * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\n * This is an alias for .multicast(() => new Subject()).refCount().\n *\n * <img src=\"./img/share.png\" width=\"100%\">\n *\n * @return {Observable<T>} An Observable that upon connection causes the source Observable to emit items to its Observers.\n * @method share\n * @owner Observable\n */\nexport function share<T>(): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => refCount()(multicast(shareSubjectFactory)(source)) as Observable<T>;\n};\n","import { Subject, SubjectSubscriber } from '../Subject';\nimport { Operator } from '../Operator';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription, TeardownLogic } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\n\n/**\n * @class ConnectableObservable<T>\n */\nexport class ConnectableObservable<T> extends Observable<T> {\n\n /** @deprecated internal use only */ public _subject: Subject<T>;\n /** @deprecated internal use only */ public _refCount: number = 0;\n /** @deprecated internal use only */ public _connection: Subscription;\n _isComplete = false;\n\n constructor(/** @deprecated internal use only */ public source: Observable<T>,\n /** @deprecated internal use only */ public subjectFactory: () => Subject<T>) {\n super();\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>) {\n return this.getSubject().subscribe(subscriber);\n }\n\n /** @deprecated internal use only */ public getSubject(): Subject<T> {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n\n connect(): Subscription {\n let connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n } else {\n this._connection = connection;\n }\n }\n return connection;\n }\n\n refCount(): Observable<T> {\n return higherOrderRefCount()(this) as Observable<T>;\n }\n}\n\nconst connectableProto = <any>ConnectableObservable.prototype;\n\nexport const connectableObservableDescriptor: PropertyDescriptorMap = {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n};\n\nclass ConnectableSubscriber<T> extends SubjectSubscriber<T> {\n constructor(destination: Subject<T>,\n private connectable: ConnectableObservable<T>) {\n super(destination);\n }\n protected _error(err: any): void {\n this._unsubscribe();\n super._error(err);\n }\n protected _complete(): void {\n this.connectable._isComplete = true;\n this._unsubscribe();\n super._complete();\n }\n /** @deprecated internal use only */ _unsubscribe() {\n const connectable = <any>this.connectable;\n if (connectable) {\n this.connectable = null;\n const connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n }\n}\n\nclass RefCountOperator<T> implements Operator<T, T> {\n constructor(private connectable: ConnectableObservable<T>) {\n }\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n\n const { connectable } = this;\n (<any> connectable)._refCount++;\n\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n\n if (!refCounter.closed) {\n (<any> refCounter).connection = connectable.connect();\n }\n\n return subscription;\n }\n}\n\nclass RefCountSubscriber<T> extends Subscriber<T> {\n\n private connection: Subscription;\n\n constructor(destination: Subscriber<T>,\n private connectable: ConnectableObservable<T>) {\n super(destination);\n }\n\n /** @deprecated internal use only */ _unsubscribe() {\n\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n\n this.connectable = null;\n const refCount = (<any> connectable)._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n\n (<any> connectable)._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n\n ///\n // Compare the local RefCountSubscriber's connection Subscription to the\n // connection Subscription on the shared ConnectableObservable. In cases\n // where the ConnectableObservable source synchronously emits values, and\n // the RefCountSubscriber's downstream Observers synchronously unsubscribe,\n // execution continues to here before the RefCountOperator has a chance to\n // supply the RefCountSubscriber with the shared connection Subscription.\n // For example:\n // ```\n // Observable.range(0, 10)\n // .publish()\n // .refCount()\n // .take(5)\n // .subscribe();\n // ```\n // In order to account for this case, RefCountSubscriber should only dispose\n // the ConnectableObservable's shared connection Subscription if the\n // connection Subscription exists, *and* either:\n // a. RefCountSubscriber doesn't have a reference to the shared connection\n // Subscription yet, or,\n // b. RefCountSubscriber's connection Subscription reference is identical\n // to the shared connection Subscription\n ///\n const { connection } = this;\n const sharedConnection = (<any> connectable)._connection;\n this.connection = null;\n\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { EmptyObservable } from '../observable/EmptyObservable';\nimport { Observable } from '../Observable';\nimport { TeardownLogic } from '../Subscription';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Takes the first `count` values from the source, then\n * completes.</span>\n *\n * <img src=\"./img/take.png\" width=\"100%\">\n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable<T>} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nexport function take<T>(count: number): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => {\n if (count === 0) {\n return new EmptyObservable<T>();\n } else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\n\nclass TakeOperator<T> implements Operator<T, T> {\n constructor(private total: number) {\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass TakeSubscriber<T> extends Subscriber<T> {\n private count: number = 0;\n\n constructor(destination: Subscriber<T>, private total: number) {\n super(destination);\n }\n\n protected _next(value: T): void {\n const total = this.total;\n const count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n }\n}\n","import { TimerObservable } from './TimerObservable';\n\nexport const timer = TimerObservable.create;","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { IScheduler } from '../Scheduler';\nimport { Subscription, TeardownLogic } from '../Subscription';\nimport { async } from '../scheduler/async';\nimport { Observable } from '../Observable';\nimport { ThrottleConfig, defaultThrottleConfig } from './throttle';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * <span class=\"informal\">Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.</span>\n *\n * <img src=\"./img/throttleTime.png\" width=\"100%\">\n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link IScheduler} for managing timers.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the throttling.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nexport function throttleTime<T>(duration: number,\n scheduler: IScheduler = async,\n config: ThrottleConfig = defaultThrottleConfig): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing));\n}\n\nclass ThrottleTimeOperator<T> implements Operator<T, T> {\n constructor(private duration: number,\n private scheduler: IScheduler,\n private leading: boolean,\n private trailing: boolean) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(\n new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing)\n );\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass ThrottleTimeSubscriber<T> extends Subscriber<T> {\n private throttled: Subscription;\n private _hasTrailingValue: boolean = false;\n private _trailingValue: T = null;\n\n constructor(destination: Subscriber<T>,\n private duration: number,\n private scheduler: IScheduler,\n private leading: boolean,\n private trailing: boolean) {\n super(destination);\n }\n\n protected _next(value: T) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n } else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n }\n }\n\n clearThrottle() {\n const throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n }\n}\n\ninterface DispatchArg<T> {\n subscriber: ThrottleTimeSubscriber<T>;\n}\n\nfunction dispatchNext<T>(arg: DispatchArg<T>) {\n const { subscriber } = arg;\n subscriber.clearThrottle();\n}\n","import { IScheduler } from '../Scheduler';\nimport { Action } from '../scheduler/Action';\nimport { Operator } from '../Operator';\nimport { async } from '../scheduler/async';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { isScheduler } from '../util/isScheduler';\nimport { OperatorFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function bufferTime<T>(bufferTimeSpan: number, scheduler?: IScheduler): OperatorFunction<T, T[]>;\nexport function bufferTime<T>(bufferTimeSpan: number, bufferCreationInterval: number, scheduler?: IScheduler): OperatorFunction<T, T[]>;\nexport function bufferTime<T>(bufferTimeSpan: number, bufferCreationInterval: number, maxBufferSize: number, scheduler?: IScheduler): OperatorFunction<T, T[]>;\n/* tslint:enable:max-line-length */\n\n/**\n * Buffers the source Observable values for a specific time period.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * those arrays periodically in time.</span>\n *\n * <img src=\"./img/bufferTime.png\" width=\"100%\">\n *\n * Buffers values from the source for a specific time duration `bufferTimeSpan`.\n * Unless the optional argument `bufferCreationInterval` is given, it emits and\n * resets the buffer every `bufferTimeSpan` milliseconds. If\n * `bufferCreationInterval` is given, this operator opens the buffer every\n * `bufferCreationInterval` milliseconds and closes (emits and resets) the\n * buffer every `bufferTimeSpan` milliseconds. When the optional argument\n * `maxBufferSize` is specified, the buffer will be closed either after\n * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements.\n *\n * @example <caption>Every second, emit an array of the recent click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(1000);\n * buffered.subscribe(x => console.log(x));\n *\n * @example <caption>Every 5 seconds, emit the click events from the next 2 seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(2000, 5000);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link windowTime}\n *\n * @param {number} bufferTimeSpan The amount of time to fill each buffer array.\n * @param {number} [bufferCreationInterval] The interval at which to start new\n * buffers.\n * @param {number} [maxBufferSize] The maximum buffer size.\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\n * intervals that determine buffer boundaries.\n * @return {Observable<T[]>} An observable of arrays of buffered values.\n * @method bufferTime\n * @owner Observable\n */\nexport function bufferTime<T>(bufferTimeSpan: number): OperatorFunction<T, T[]> {\n let length: number = arguments.length;\n\n let scheduler: IScheduler = async;\n if (isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n\n let bufferCreationInterval: number = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n\n let maxBufferSize: number = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n\n return function bufferTimeOperatorFunction(source: Observable<T>) {\n return source.lift(new BufferTimeOperator<T>(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n };\n}\n\nclass BufferTimeOperator<T> implements Operator<T, T[]> {\n constructor(private bufferTimeSpan: number,\n private bufferCreationInterval: number,\n private maxBufferSize: number,\n private scheduler: IScheduler) {\n }\n\n call(subscriber: Subscriber<T[]>, source: any): any {\n return source.subscribe(new BufferTimeSubscriber(\n subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler\n ));\n }\n}\n\nclass Context<T> {\n buffer: T[] = [];\n closeAction: Subscription;\n}\n\ntype CreationState<T> = {\n bufferTimeSpan: number;\n bufferCreationInterval: number,\n subscriber: BufferTimeSubscriber<T>;\n scheduler: IScheduler;\n};\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass BufferTimeSubscriber<T> extends Subscriber<T> {\n private contexts: Array<Context<T>> = [];\n private timespanOnly: boolean;\n\n constructor(destination: Subscriber<T[]>,\n private bufferTimeSpan: number,\n private bufferCreationInterval: number,\n private maxBufferSize: number,\n private scheduler: IScheduler) {\n super(destination);\n const context = this.openContext();\n this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n if (this.timespanOnly) {\n const timeSpanOnlyState = { subscriber: this, context, bufferTimeSpan };\n this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n } else {\n const closeState = { subscriber: this, context };\n const creationState: CreationState<T> = { bufferTimeSpan, bufferCreationInterval, subscriber: this, scheduler };\n this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n }\n }\n\n protected _next(value: T) {\n const contexts = this.contexts;\n const len = contexts.length;\n let filledBufferContext: Context<T>;\n for (let i = 0; i < len; i++) {\n const context = contexts[i];\n const buffer = context.buffer;\n buffer.push(value);\n if (buffer.length == this.maxBufferSize) {\n filledBufferContext = context;\n }\n }\n\n if (filledBufferContext) {\n this.onBufferFull(filledBufferContext);\n }\n }\n\n protected _error(err: any) {\n this.contexts.length = 0;\n super._error(err);\n }\n\n protected _complete() {\n const { contexts, destination } = this;\n while (contexts.length > 0) {\n const context = contexts.shift();\n destination.next(context.buffer);\n }\n super._complete();\n }\n\n /** @deprecated internal use only */ _unsubscribe() {\n this.contexts = null;\n }\n\n protected onBufferFull(context: Context<T>) {\n this.closeContext(context);\n const closeAction = context.closeAction;\n closeAction.unsubscribe();\n this.remove(closeAction);\n\n if (!this.closed && this.timespanOnly) {\n context = this.openContext();\n const bufferTimeSpan = this.bufferTimeSpan;\n const timeSpanOnlyState = { subscriber: this, context, bufferTimeSpan };\n this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n }\n\n openContext(): Context<T> {\n const context: Context<T> = new Context<T>();\n this.contexts.push(context);\n return context;\n }\n\n closeContext(context: Context<T>) {\n this.destination.next(context.buffer);\n const contexts = this.contexts;\n\n const spliceIndex = contexts ? contexts.indexOf(context) : -1;\n if (spliceIndex >= 0) {\n contexts.splice(contexts.indexOf(context), 1);\n }\n }\n}\n\nfunction dispatchBufferTimeSpanOnly(this: Action<any>, state: any) {\n const subscriber: BufferTimeSubscriber<any> = state.subscriber;\n\n const prevContext = state.context;\n if (prevContext) {\n subscriber.closeContext(prevContext);\n }\n\n if (!subscriber.closed) {\n state.context = subscriber.openContext();\n state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n }\n}\n\ninterface DispatchArg<T> {\n subscriber: BufferTimeSubscriber<T>;\n context: Context<T>;\n}\n\nfunction dispatchBufferCreation<T>(this: Action<CreationState<T>>, state: CreationState<T>) {\n const { bufferCreationInterval, bufferTimeSpan, subscriber, scheduler } = state;\n const context = subscriber.openContext();\n const action = <Action<CreationState<T>>>this;\n if (!subscriber.closed) {\n subscriber.add(context.closeAction = scheduler.schedule<DispatchArg<T>>(dispatchBufferClose, bufferTimeSpan, { subscriber, context }));\n action.schedule(state, bufferCreationInterval);\n }\n}\n\nfunction dispatchBufferClose<T>(arg: DispatchArg<T>) {\n const { subscriber, context } = arg;\n subscriber.closeContext(context);\n}\n","import { Operator } from '../Operator';\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OperatorFunction } from '../interfaces';\n\n/**\n * Buffers the source Observable values until `closingNotifier` emits.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * that array only when another Observable emits.</span>\n *\n * <img src=\"./img/buffer.png\" width=\"100%\">\n *\n * Buffers the incoming Observable values until the given `closingNotifier`\n * Observable emits a value, at which point it emits the buffer on the output\n * Observable and starts a new buffer internally, awaiting the next time\n * `closingNotifier` emits.\n *\n * @example <caption>On every click, emit array of most recent interval events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var buffered = interval.buffer(clicks);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link window}\n *\n * @param {Observable<any>} closingNotifier An Observable that signals the\n * buffer to be emitted on the output Observable.\n * @return {Observable<T[]>} An Observable of buffers, which are arrays of\n * values.\n * @method buffer\n * @owner Observable\n */\nexport function buffer<T>(closingNotifier: Observable<any>): OperatorFunction<T, T[]> {\n return function bufferOperatorFunction(source: Observable<T>) {\n return source.lift(new BufferOperator<T>(closingNotifier));\n };\n}\n\nclass BufferOperator<T> implements Operator<T, T[]> {\n\n constructor(private closingNotifier: Observable<any>) {\n }\n\n call(subscriber: Subscriber<T[]>, source: any): any {\n return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass BufferSubscriber<T> extends OuterSubscriber<T, any> {\n private buffer: T[] = [];\n\n constructor(destination: Subscriber<T[]>, closingNotifier: Observable<any>) {\n super(destination);\n this.add(subscribeToResult(this, closingNotifier));\n }\n\n protected _next(value: T) {\n this.buffer.push(value);\n }\n\n notifyNext(outerValue: T, innerValue: any,\n outerIndex: number, innerIndex: number,\n innerSub: InnerSubscriber<T, any>): void {\n const buffer = this.buffer;\n this.buffer = [];\n this.destination.next(buffer);\n }\n}\n","import { Operator } from '../Operator';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { IScheduler } from '../Scheduler';\nimport { Subscription, TeardownLogic } from '../Subscription';\nimport { async } from '../scheduler/async';\nimport { MonoTypeOperatorFunction } from '../interfaces';\n\n/**\n * Emits a value from the source Observable only after a particular time span\n * has passed without another source emission.\n *\n * <span class=\"informal\">It's like {@link delay}, but passes only the most\n * recent value from each burst of emissions.</span>\n *\n * <img src=\"./img/debounceTime.png\" width=\"100%\">\n *\n * `debounceTime` delays values emitted by the source Observable, but drops\n * previous pending delayed emissions if a new value arrives on the source\n * Observable. This operator keeps track of the most recent value from the\n * source Observable, and emits that only when `dueTime` enough time has passed\n * without any other value appearing on the source Observable. If a new value\n * appears before `dueTime` silence occurs, the previous value will be dropped\n * and will not be emitted on the output Observable.\n *\n * This is a rate-limiting operator, because it is impossible for more than one\n * value to be emitted in any time window of duration `dueTime`, but it is also\n * a delay-like operator since output emissions do not occur at the same time as\n * they did on the source Observable. Optionally takes a {@link IScheduler} for\n * managing timers.\n *\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounceTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} dueTime The timeout duration in milliseconds (or the time\n * unit determined internally by the optional `scheduler`) for the window of\n * time required to wait for emission silence before emitting the most recent\n * source value.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the timeout for each value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified `dueTime`, and may drop some values if they occur\n * too frequently.\n * @method debounceTime\n * @owner Observable\n */\nexport function debounceTime<T>(dueTime: number, scheduler: IScheduler = async): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => source.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\n\nclass DebounceTimeOperator<T> implements Operator<T, T> {\n constructor(private dueTime: number, private scheduler: IScheduler) {\n }\n\n call(subscriber: Subscriber<T>, source: any): TeardownLogic {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass DebounceTimeSubscriber<T> extends Subscriber<T> {\n private debouncedSubscription: Subscription = null;\n private lastValue: T = null;\n private hasValue: boolean = false;\n\n constructor(destination: Subscriber<T>,\n private dueTime: number,\n private scheduler: IScheduler) {\n super(destination);\n }\n\n protected _next(value: T) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n }\n\n protected _complete() {\n this.debouncedNext();\n this.destination.complete();\n }\n\n debouncedNext(): void {\n this.clearDebounce();\n\n if (this.hasValue) {\n this.destination.next(this.lastValue);\n this.lastValue = null;\n this.hasValue = false;\n }\n }\n\n private clearDebounce(): void {\n const debouncedSubscription = this.debouncedSubscription;\n\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n }\n}\n\nfunction dispatchNext(subscriber: DebounceTimeSubscriber<any>) {\n subscriber.debouncedNext();\n}\n","import { root } from '../../util/root';\nimport { tryCatch } from '../../util/tryCatch';\nimport { errorObject } from '../../util/errorObject';\nimport { Observable } from '../../Observable';\nimport { Subscriber } from '../../Subscriber';\nimport { TeardownLogic } from '../../Subscription';\nimport { map } from '../../operators/map';\n\nexport interface AjaxRequest {\n url?: string;\n body?: any;\n user?: string;\n async?: boolean;\n method?: string;\n headers?: Object;\n timeout?: number;\n password?: string;\n hasContent?: boolean;\n crossDomain?: boolean;\n withCredentials?: boolean;\n createXHR?: () => XMLHttpRequest;\n progressSubscriber?: Subscriber<any>;\n responseType?: string;\n}\n\nfunction getCORSRequest(this: AjaxRequest): XMLHttpRequest {\n if (root.XMLHttpRequest) {\n return new root.XMLHttpRequest();\n } else if (!!root.XDomainRequest) {\n return new root.XDomainRequest();\n } else {\n throw new Error('CORS is not supported by your browser');\n }\n}\n\nfunction getXMLHttpRequest(): XMLHttpRequest {\n if (root.XMLHttpRequest) {\n return new root.XMLHttpRequest();\n } else {\n let progId: string;\n try {\n const progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\n for (let i = 0; i < 3; i++) {\n try {\n progId = progIds[i];\n if (new root.ActiveXObject(progId)) {\n break;\n }\n } catch (e) {\n //suppress exceptions\n }\n }\n return new root.ActiveXObject(progId);\n } catch (e) {\n throw new Error('XMLHttpRequest is not supported by your browser');\n }\n }\n}\n\nexport interface AjaxCreationMethod {\n (urlOrRequest: string | AjaxRequest): Observable<AjaxResponse>;\n get(url: string, headers?: Object): Observable<AjaxResponse>;\n post(url: string, body?: any, headers?: Object): Observable<AjaxResponse>;\n put(url: string, body?: any, headers?: Object): Observable<AjaxResponse>;\n patch(url: string, body?: any, headers?: Object): Observable<AjaxResponse>;\n delete(url: string, headers?: Object): Observable<AjaxResponse>;\n getJSON<T>(url: string, headers?: Object): Observable<T>;\n}\n\nexport function ajaxGet(url: string, headers: Object = null) {\n return new AjaxObservable<AjaxResponse>({ method: 'GET', url, headers });\n};\n\nexport function ajaxPost(url: string, body?: any, headers?: Object): Observable<AjaxResponse> {\n return new AjaxObservable<AjaxResponse>({ method: 'POST', url, body, headers });\n};\n\nexport function ajaxDelete(url: string, headers?: Object): Observable<AjaxResponse> {\n return new AjaxObservable<AjaxResponse>({ method: 'DELETE', url, headers });\n};\n\nexport function ajaxPut(url: string, body?: any, headers?: Object): Observable<AjaxResponse> {\n return new AjaxObservable<AjaxResponse>({ method: 'PUT', url, body, headers });\n};\n\nexport function ajaxPatch(url: string, body?: any, headers?: Object): Observable<AjaxResponse> {\n return new AjaxObservable<AjaxResponse>({ method: 'PATCH', url, body, headers });\n};\n\nconst mapResponse = map((x: AjaxResponse, index: number) => x.response);\n\nexport function ajaxGetJSON<T>(url: string, headers?: Object): Observable<T> {\n return mapResponse(\n new AjaxObservable<AjaxResponse>({\n method: 'GET',\n url,\n responseType: 'json',\n headers\n })\n );\n};\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class AjaxObservable<T> extends Observable<T> {\n /**\n * Creates an observable for an Ajax request with either a request object with\n * url, headers, etc or a string for a URL.\n *\n * @example\n * source = Rx.Observable.ajax('/products');\n * source = Rx.Observable.ajax({ url: 'products', method: 'GET' });\n *\n * @param {string|Object} request Can be one of the following:\n * A string of the URL to make the Ajax call.\n * An object with the following properties\n * - url: URL of the request\n * - body: The body of the request\n * - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE\n * - async: Whether the request is async\n * - headers: Optional headers\n * - crossDomain: true if a cross domain request, else false\n * - createXHR: a function to override if you need to use an alternate\n * XMLHttpRequest implementation.\n * - resultSelector: a function to use to alter the output value type of\n * the Observable. Gets {@link AjaxResponse} as an argument.\n * @return {Observable} An observable sequence containing the XMLHttpRequest.\n * @static true\n * @name ajax\n * @owner Observable\n */\n static create: AjaxCreationMethod = (() => {\n const create: any = (urlOrRequest: string | AjaxRequest) => {\n return new AjaxObservable(urlOrRequest);\n };\n\n create.get = ajaxGet;\n create.post = ajaxPost;\n create.delete = ajaxDelete;\n create.put = ajaxPut;\n create.patch = ajaxPatch;\n create.getJSON = ajaxGetJSON;\n\n return <AjaxCreationMethod>create;\n })();\n\n private request: AjaxRequest;\n\n constructor(urlOrRequest: string | AjaxRequest) {\n super();\n\n const request: AjaxRequest = {\n async: true,\n createXHR: function(this: AjaxRequest) {\n return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest();\n },\n crossDomain: false,\n withCredentials: false,\n headers: {},\n method: 'GET',\n responseType: 'json',\n timeout: 0\n };\n\n if (typeof urlOrRequest === 'string') {\n request.url = urlOrRequest;\n } else {\n for (const prop in urlOrRequest) {\n if (urlOrRequest.hasOwnProperty(prop)) {\n request[prop] = urlOrRequest[prop];\n }\n }\n }\n\n this.request = request;\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): TeardownLogic {\n return new AjaxSubscriber(subscriber, this.request);\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class AjaxSubscriber<T> extends Subscriber<Event> {\n private xhr: XMLHttpRequest;\n private done: boolean = false;\n\n constructor(destination: Subscriber<T>, public request: AjaxRequest) {\n super(destination);\n\n const headers = request.headers = request.headers || {};\n\n // force CORS if requested\n if (!request.crossDomain && !headers['X-Requested-With']) {\n headers['X-Requested-With'] = 'XMLHttpRequest';\n }\n\n // ensure content type is set\n if (!('Content-Type' in headers) && !(root.FormData && request.body instanceof root.FormData) && typeof request.body !== 'undefined') {\n headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n\n // properly serialize body\n request.body = this.serializeBody(request.body, request.headers['Content-Type']);\n\n this.send();\n }\n\n next(e: Event): void {\n this.done = true;\n const { xhr, request, destination } = this;\n const response = new AjaxResponse(e, xhr, request);\n\n destination.next(response);\n }\n\n private send(): XMLHttpRequest {\n const {\n request,\n request: { user, method, url, async, password, headers, body }\n } = this;\n const createXHR = request.createXHR;\n const xhr: XMLHttpRequest = tryCatch(createXHR).call(request);\n\n if (<any>xhr === errorObject) {\n this.error(errorObject.e);\n } else {\n this.xhr = xhr;\n\n // set up the events before open XHR\n // https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest\n // You need to add the event listeners before calling open() on the request.\n // Otherwise the progress events will not fire.\n this.setupEvents(xhr, request);\n // open XHR\n let result: any;\n if (user) {\n result = tryCatch(xhr.open).call(xhr, method, url, async, user, password);\n } else {\n result = tryCatch(xhr.open).call(xhr, method, url, async);\n }\n\n if (result === errorObject) {\n this.error(errorObject.e);\n return null;\n }\n\n // timeout, responseType and withCredentials can be set once the XHR is open\n if (async) {\n xhr.timeout = request.timeout;\n xhr.responseType = request.responseType as any;\n }\n\n if ('withCredentials' in xhr) {\n xhr.withCredentials = !!request.withCredentials;\n }\n\n // set headers\n this.setHeaders(xhr, headers);\n\n // finally send the request\n result = body ? tryCatch(xhr.send).call(xhr, body) : tryCatch(xhr.send).call(xhr);\n if (result === errorObject) {\n this.error(errorObject.e);\n return null;\n }\n }\n\n return xhr;\n }\n\n private serializeBody(body: any, contentType?: string) {\n if (!body || typeof body === 'string') {\n return body;\n } else if (root.FormData && body instanceof root.FormData) {\n return body;\n }\n\n if (contentType) {\n const splitIndex = contentType.indexOf(';');\n if (splitIndex !== -1) {\n contentType = contentType.substring(0, splitIndex);\n }\n }\n\n switch (contentType) {\n case 'application/x-www-form-urlencoded':\n return Object.keys(body).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(body[key])}`).join('&');\n case 'application/json':\n return JSON.stringify(body);\n default:\n return body;\n }\n }\n\n private setHeaders(xhr: XMLHttpRequest, headers: Object) {\n for (let key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n }\n\n private setupEvents(xhr: XMLHttpRequest, request: AjaxRequest) {\n const progressSubscriber = request.progressSubscriber;\n\n function xhrTimeout(this: XMLHttpRequest, e: ProgressEvent) {\n const {subscriber, progressSubscriber, request } = (<any>xhrTimeout);\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer.\n };\n xhr.ontimeout = xhrTimeout;\n (<any>xhrTimeout).request = request;\n (<any>xhrTimeout).subscriber = this;\n (<any>xhrTimeout).progressSubscriber = progressSubscriber;\n if (xhr.upload && 'withCredentials' in xhr) {\n if (progressSubscriber) {\n let xhrProgress: (e: ProgressEvent) => void;\n xhrProgress = function(e: ProgressEvent) {\n const { progressSubscriber } = (<any>xhrProgress);\n progressSubscriber.next(e);\n };\n if (root.XDomainRequest) {\n xhr.onprogress = xhrProgress;\n } else {\n xhr.upload.onprogress = xhrProgress;\n }\n (<any>xhrProgress).progressSubscriber = progressSubscriber;\n }\n let xhrError: (e: ErrorEvent) => void;\n xhrError = function(this: XMLHttpRequest, e: ErrorEvent) {\n const { progressSubscriber, subscriber, request } = (<any>xhrError);\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxError('ajax error', this, request));\n };\n xhr.onerror = xhrError;\n (<any>xhrError).request = request;\n (<any>xhrError).subscriber = this;\n (<any>xhrError).progressSubscriber = progressSubscriber;\n }\n\n function xhrReadyStateChange(this: XMLHttpRequest, e: ProgressEvent) {\n const { subscriber, progressSubscriber, request } = (<any>xhrReadyStateChange);\n if (this.readyState === 4) {\n // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n let status: number = this.status === 1223 ? 204 : this.status;\n let response: any = (this.responseType === 'text' ? (\n this.response || this.responseText) : this.response);\n\n // fix status code when it is 0 (0 status is undocumented).\n // Occurs when accessing file resources or on Android 4.1 stock browser\n // while retrieving files from application cache.\n if (status === 0) {\n status = response ? 200 : 0;\n }\n\n if (200 <= status && status < 300) {\n if (progressSubscriber) {\n progressSubscriber.complete();\n }\n subscriber.next(e);\n subscriber.complete();\n } else {\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxError('ajax error ' + status, this, request));\n }\n }\n };\n xhr.onreadystatechange = xhrReadyStateChange;\n (<any>xhrReadyStateChange).subscriber = this;\n (<any>xhrReadyStateChange).progressSubscriber = progressSubscriber;\n (<any>xhrReadyStateChange).request = request;\n }\n\n unsubscribe() {\n const { done, xhr } = this;\n if (!done && xhr && xhr.readyState !== 4 && typeof xhr.abort === 'function') {\n xhr.abort();\n }\n super.unsubscribe();\n }\n}\n\n/**\n * A normalized AJAX response.\n *\n * @see {@link ajax}\n *\n * @class AjaxResponse\n */\nexport class AjaxResponse {\n /** @type {number} The HTTP status code */\n status: number;\n\n /** @type {string|ArrayBuffer|Document|object|any} The response data */\n response: any;\n\n /** @type {string} The raw responseText */\n responseText: string;\n\n /** @type {string} The responseType (e.g. 'json', 'arraybuffer', or 'xml') */\n responseType: string;\n\n constructor(public originalEvent: Event, public xhr: XMLHttpRequest, public request: AjaxRequest) {\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n }\n}\n\n/**\n * A normalized AJAX error.\n *\n * @see {@link ajax}\n *\n * @class AjaxError\n */\nexport class AjaxError extends Error {\n /** @type {XMLHttpRequest} The XHR instance associated with the error */\n xhr: XMLHttpRequest;\n\n /** @type {AjaxRequest} The AjaxRequest associated with the error */\n request: AjaxRequest;\n\n /** @type {number} The HTTP status code */\n status: number;\n\n /** @type {string} The responseType (e.g. 'json', 'arraybuffer', or 'xml') */\n responseType: string;\n\n /** @type {string|ArrayBuffer|Document|object|any} The response data */\n response: any;\n\n constructor(message: string, xhr: XMLHttpRequest, request: AjaxRequest) {\n super(message);\n this.message = message;\n this.xhr = xhr;\n this.request = request;\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n }\n}\n\nfunction parseXhrResponse(responseType: string, xhr: XMLHttpRequest) {\n switch (responseType) {\n case 'json':\n if ('response' in xhr) {\n //IE does not support json as responseType, parse it internally\n return xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');\n } else {\n // HACK(benlesh): TypeScript shennanigans\n // tslint:disable-next-line:no-any latest TS seems to think xhr is \"never\" here.\n return JSON.parse((xhr as any).responseText || 'null');\n }\n case 'xml':\n return xhr.responseXML;\n case 'text':\n default:\n // HACK(benlesh): TypeScript shennanigans\n // tslint:disable-next-line:no-any latest TS seems to think xhr is \"never\" here.\n return ('response' in xhr) ? xhr.response : (xhr as any).responseText;\n }\n}\n\n/**\n * @see {@link ajax}\n *\n * @class AjaxTimeoutError\n */\nexport class AjaxTimeoutError extends AjaxError {\n constructor(xhr: XMLHttpRequest, request: AjaxRequest) {\n super('ajax timeout', xhr, request);\n }\n}\n","import { FromObservable } from './FromObservable';\n\nexport const from = FromObservable.create;","import { isArray } from '../util/isArray';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { PromiseObservable } from './PromiseObservable';\nimport { IteratorObservable } from'./IteratorObservable';\nimport { ArrayObservable } from './ArrayObservable';\nimport { ArrayLikeObservable } from './ArrayLikeObservable';\n\nimport { IScheduler } from '../Scheduler';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { Observable, ObservableInput } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { ObserveOnSubscriber } from '../operators/observeOn';\nimport { observable as Symbol_observable } from '../symbol/observable';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class FromObservable<T> extends Observable<T> {\n constructor(private ish: ObservableInput<T>, private scheduler?: IScheduler) {\n super(null);\n }\n\n static create<T>(ish: ObservableInput<T>, scheduler?: IScheduler): Observable<T>;\n static create<T, R>(ish: ArrayLike<T>, scheduler?: IScheduler): Observable<R>;\n\n /**\n * Creates an Observable from an Array, an array-like object, a Promise, an\n * iterable object, or an Observable-like object.\n *\n * <span class=\"informal\">Converts almost anything to an Observable.</span>\n *\n * <img src=\"./img/from.png\" width=\"100%\">\n *\n * Convert various other objects and data types into Observables. `from`\n * converts a Promise or an array-like or an\n * [iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable)\n * object into an Observable that emits the items in that promise or array or\n * iterable. A String, in this context, is treated as an array of characters.\n * Observable-like objects (contains a function named with the ES2015 Symbol\n * for Observable) can also be converted through this operator.\n *\n * @example <caption>Converts an array to an Observable</caption>\n * var array = [10, 20, 30];\n * var result = Rx.Observable.from(array);\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // 10 20 30\n *\n * @example <caption>Convert an infinite iterable (from a generator) to an Observable</caption>\n * function* generateDoubles(seed) {\n * var i = seed;\n * while (true) {\n * yield i;\n * i = 2 * i; // double it\n * }\n * }\n *\n * var iterator = generateDoubles(3);\n * var result = Rx.Observable.from(iterator).take(10);\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // 3 6 12 24 48 96 192 384 768 1536\n *\n * @see {@link create}\n * @see {@link fromEvent}\n * @see {@link fromEventPattern}\n * @see {@link fromPromise}\n *\n * @param {ObservableInput<T>} ish A subscribable object, a Promise, an\n * Observable-like, an Array, an iterable or an array-like object to be\n * converted.\n * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n * emissions of values.\n * @return {Observable<T>} The Observable whose values are originally from the\n * input object that was converted.\n * @static true\n * @name from\n * @owner Observable\n */\n static create<T>(ish: ObservableInput<T>, scheduler?: IScheduler): Observable<T> {\n if (ish != null) {\n if (typeof ish[Symbol_observable] === 'function') {\n if (ish instanceof Observable && !scheduler) {\n return ish;\n }\n return new FromObservable<T>(ish, scheduler);\n } else if (isArray(ish)) {\n return new ArrayObservable<T>(ish, scheduler);\n } else if (isPromise<T>(ish)) {\n return new PromiseObservable<T>(ish, scheduler);\n } else if (typeof ish[Symbol_iterator] === 'function' || typeof ish === 'string') {\n return new IteratorObservable<T>(ish, scheduler);\n } else if (isArrayLike(ish)) {\n return new ArrayLikeObservable(ish, scheduler);\n }\n }\n\n throw new TypeError((ish !== null && typeof ish || ish) + ' is not observable');\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>) {\n const ish = this.ish;\n const scheduler = this.scheduler;\n if (scheduler == null) {\n return ish[Symbol_observable]().subscribe(subscriber);\n } else {\n return ish[Symbol_observable]().subscribe(new ObserveOnSubscriber(subscriber, scheduler, 0));\n }\n }\n}\n","import { root } from '../util/root';\nimport { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { TeardownLogic } from '../Subscription';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class PromiseObservable<T> extends Observable<T> {\n\n public value: T;\n\n /**\n * Converts a Promise to an Observable.\n *\n * <span class=\"informal\">Returns an Observable that just emits the Promise's\n * resolved value, then completes.</span>\n *\n * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an\n * Observable. If the Promise resolves with a value, the output Observable\n * emits that resolved value as a `next`, and then completes. If the Promise\n * is rejected, then the output Observable emits the corresponding Error.\n *\n * @example <caption>Convert the Promise returned by Fetch to an Observable</caption>\n * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/'));\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n * @see {@link bindCallback}\n * @see {@link from}\n *\n * @param {PromiseLike<T>} promise The promise to be converted.\n * @param {Scheduler} [scheduler] An optional IScheduler to use for scheduling\n * the delivery of the resolved value (or the rejection).\n * @return {Observable<T>} An Observable which wraps the Promise.\n * @static true\n * @name fromPromise\n * @owner Observable\n */\n static create<T>(promise: PromiseLike<T>, scheduler?: IScheduler): Observable<T> {\n return new PromiseObservable(promise, scheduler);\n }\n\n constructor(private promise: PromiseLike<T>, private scheduler?: IScheduler) {\n super();\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): TeardownLogic {\n const promise = this.promise;\n const scheduler = this.scheduler;\n\n if (scheduler == null) {\n if (this._isScalar) {\n if (!subscriber.closed) {\n subscriber.next(this.value);\n subscriber.complete();\n }\n } else {\n promise.then(\n (value) => {\n this.value = value;\n this._isScalar = true;\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n },\n (err) => {\n if (!subscriber.closed) {\n subscriber.error(err);\n }\n }\n )\n .then(null, err => {\n // escape the promise trap, throw unhandled errors\n root.setTimeout(() => { throw err; });\n });\n }\n } else {\n if (this._isScalar) {\n if (!subscriber.closed) {\n return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber });\n }\n } else {\n promise.then(\n (value) => {\n this.value = value;\n this._isScalar = true;\n if (!subscriber.closed) {\n subscriber.add(scheduler.schedule(dispatchNext, 0, { value, subscriber }));\n }\n },\n (err) => {\n if (!subscriber.closed) {\n subscriber.add(scheduler.schedule(dispatchError, 0, { err, subscriber }));\n }\n })\n .then(null, (err) => {\n // escape the promise trap, throw unhandled errors\n root.setTimeout(() => { throw err; });\n });\n }\n }\n }\n}\n\ninterface DispatchNextArg<T> {\n subscriber: Subscriber<T>;\n value: T;\n}\nfunction dispatchNext<T>(arg: DispatchNextArg<T>) {\n const { value, subscriber } = arg;\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n}\n\ninterface DispatchErrorArg<T> {\n subscriber: Subscriber<T>;\n err: any;\n}\nfunction dispatchError<T>(arg: DispatchErrorArg<T>) {\n const { err, subscriber } = arg;\n if (!subscriber.closed) {\n subscriber.error(err);\n }\n}\n","import { ArrayObservable } from './ArrayObservable';\n\nexport const of = ArrayObservable.of;","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}C.prototype.isReactComponent={};C.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(z(85));this.updater.enqueueSetState(this,a,b,\"setState\")};C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}var F=E.prototype=new D;F.constructor=E;l(F,C.prototype);F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(1===g)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)void 0===d[e]&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}\nfunction K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===n}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var M=/\\/+/g;function N(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction O(a,b,c,e,d){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=\"\"===e?\".\"+N(h,0):e,Array.isArray(d)?(c=\"\",null!=a&&(c=a.replace(M,\"$&/\")+\"/\"),O(d,b,c,\"\",function(a){return a})):null!=d&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?\"\":(\"\"+d.key).replace(M,\"$&/\")+\"/\")+a)),b.push(d)),1;h=0;e=\"\"===e?\".\":e+\":\";if(Array.isArray(a))for(var g=\n0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(\"object\"===k)throw b=\"\"+a,Error(z(31,\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b));return h}function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,\"\",\"\",function(a){return b.call(c,a,d++)});return e}\nfunction Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}var R={current:null};function S(){var a=R.current;if(null===a)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};\nexports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;P(a,function(){b++});return b},toArray:function(a){return P(a,function(a){return a})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}};exports.Component=C;exports.PureComponent=E;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,\nkey:d,ref:k,props:e,_owner:h}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:q,_context:a};return a.Consumer=a};exports.createElement=J;exports.createFactory=function(a){var b=J.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:t,render:a}};exports.isValidElement=L;\nexports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}};exports.memo=function(a,b){return{$$typeof:u,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return S().useCallback(a,b)};exports.useContext=function(a,b){return S().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return S().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return S().useMemo(a,b)};exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)};exports.useRef=function(a){return S().useRef(a)};exports.useState=function(a){return S().useState(a)};exports.version=\"17.0.2\";\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(y(227));var ba=new Set,ca={};function da(a,b){ea(a,b);ea(a+\"Capture\",b)}\nfunction ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}\nvar fa=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ha=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ia=Object.prototype.hasOwnProperty,\nja={},ka={};function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha.test(a))return ka[a]=!0;ja[a]=!0;return!1}function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction na(a,b,c,d){if(null===b||\"undefined\"===typeof b||ma(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(na(b,c,e,d)&&(c=null),d||null===e?la(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar ra=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,sa=60103,ta=60106,ua=60107,wa=60108,xa=60114,ya=60109,za=60110,Aa=60112,Ba=60113,Ca=60120,Da=60115,Ea=60116,Fa=60121,Ga=60128,Ha=60129,Ia=60130,Ja=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var E=Symbol.for;sa=E(\"react.element\");ta=E(\"react.portal\");ua=E(\"react.fragment\");wa=E(\"react.strict_mode\");xa=E(\"react.profiler\");ya=E(\"react.provider\");za=E(\"react.context\");Aa=E(\"react.forward_ref\");Ba=E(\"react.suspense\");Ca=E(\"react.suspense_list\");Da=E(\"react.memo\");Ea=E(\"react.lazy\");Fa=E(\"react.block\");E(\"react.scope\");Ga=E(\"react.opaque.id\");Ha=E(\"react.debug_trace_mode\");Ia=E(\"react.offscreen\");Ja=E(\"react.legacy_hidden\")}\nvar Ka=\"function\"===typeof Symbol&&Symbol.iterator;function La(a){if(null===a||\"object\"!==typeof a)return null;a=Ka&&a[Ka]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ma;function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);Ma=b&&b[1]||\"\"}return\"\\n\"+Ma+a}var Oa=!1;\nfunction Pa(a,b){if(!a||Oa)return\"\";Oa=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();}catch(k){d=k}a()}}catch(k){if(k&&d&&\"string\"===typeof k.stack){for(var e=k.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(y(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(a,b,c,d,e){return a(b,c,d,e)}function Ib(){}var Jb=Gb,Kb=!1,Lb=!1;function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}\nfunction Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finally{Lb=!1,Mb()}}\nfunction Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(y(231,b,typeof c));return c}var Pb=!1;if(fa)try{var Qb={};Object.defineProperty(Qb,\"passive\",{get:function(){Pb=!0}});window.addEventListener(\"test\",Qb,Qb);window.removeEventListener(\"test\",Qb,Qb)}catch(a){Pb=!1}function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Sb=!1,Tb=null,Ub=!1,Vb=null,Wb={onError:function(a){Sb=!0;Tb=a}};function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}\nfunction Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){var l=Tb;Sb=!1;Tb=null}else throw Error(y(198));Ub||(Ub=!0,Vb=l)}}function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function $b(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function ac(a){if(Zb(a)!==a)throw Error(y(188));}\nfunction bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(y(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return ac(e),a;if(f===d)return ac(e),b;f=f.sibling}throw Error(y(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(y(189));}}if(c.alternate!==d)throw Error(y(190));}if(3!==c.tag)throw Error(y(188));return c.stateNode.current===c?a:b}function cc(a){a=bc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}var ec,fc,gc,hc,ic=!1,jc=[],kc=null,lc=null,mc=null,nc=new Map,oc=new Map,pc=[],qc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function sc(a,b){switch(a){case \"focusin\":case \"focusout\":kc=null;break;case \"dragenter\":case \"dragleave\":lc=null;break;case \"mouseover\":case \"mouseout\":mc=null;break;case \"pointerover\":case \"pointerout\":nc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":oc.delete(b.pointerId)}}\nfunction tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,d,e,f),null!==b&&(b=Cb(b),null!==b&&fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction uc(a,b,c,d,e){switch(b){case \"focusin\":return kc=tc(kc,a,b,c,d,e),!0;case \"dragenter\":return lc=tc(lc,a,b,c,d,e),!0;case \"mouseover\":return mc=tc(mc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;nc.set(f,tc(nc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,oc.set(f,tc(oc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)if(b=c.tag,13===b){if(b=$b(c),null!==b){a.blockedOn=b;hc(a.lanePriority,function(){r.unstable_runWithPriority(a.priority,function(){gc(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c)return b=Cb(c),null!==b&&fc(b),a.blockedOn=c,!1;b.shift()}return!0}function zc(a,b,c){xc(a)&&c.delete(b)}\nfunction Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn){a=Cb(a.blockedOn);null!==a&&ec(a);break}for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&jc.shift()}null!==kc&&xc(kc)&&(kc=null);null!==lc&&xc(lc)&&(lc=null);null!==mc&&xc(mc)&&(mc=null);nc.forEach(zc);oc.forEach(zc)}\nfunction Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ac)))}\nfunction Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);for(var c=1;c<jc.length;c++){var d=jc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==kc&&Bc(kc,a);null!==lc&&Bc(lc,a);null!==mc&&Bc(mc,a);nc.forEach(b);oc.forEach(b);for(c=0;c<pc.length;c++)d=pc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<pc.length&&(c=pc[0],null===c.blockedOn);)vc(c),null===c.blockedOn&&pc.shift()}\nfunction Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ec={animationend:Dc(\"Animation\",\"AnimationEnd\"),animationiteration:Dc(\"Animation\",\"AnimationIteration\"),animationstart:Dc(\"Animation\",\"AnimationStart\"),transitionend:Dc(\"Transition\",\"TransitionEnd\")},Fc={},Gc={};\nfa&&(Gc=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ec.animationend.animation,delete Ec.animationiteration.animation,delete Ec.animationstart.animation),\"TransitionEvent\"in window||delete Ec.transitionend.transition);function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Gc)return Fc[a]=b[c];return a}\nvar Ic=Hc(\"animationend\"),Jc=Hc(\"animationiteration\"),Kc=Hc(\"animationstart\"),Lc=Hc(\"transitionend\"),Mc=new Map,Nc=new Map,Oc=[\"abort\",\"abort\",Ic,\"animationEnd\",Jc,\"animationIteration\",Kc,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\n\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lc,\"transitionEnd\",\"waiting\",\"waiting\"];function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e=\"on\"+(e[0].toUpperCase()+e.slice(1));Nc.set(d,b);Mc.set(d,e);da(e,[d])}}var Qc=r.unstable_now;Qc();var F=8;\nfunction Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(y(358,a));}}\nfunction Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=Rc(k),e=F):(h&=f,0!==h&&(d=Rc(h),e=F))}else f=c&~g,0!==f?(d=Rc(f),e=F):0!==h&&(d=Rc(h),e=F);if(0===d)return 0;d=31-Vc(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){Rc(b);if(e<=F)return b;F=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Vc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=Yc(24&~b),0===a?Xc(10,b):a;case 10:return a=Yc(192&~b),0===a?Xc(8,b):a;case 8:return a=Yc(3584&~b),0===a&&(a=Yc(4186112&~b),0===a&&(a=512)),a;case 2:return b=Yc(805306368&~b),0===b&&(b=268435456),b}throw Error(y(358,a));}function Yc(a){return a&-a}function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.indexOf(a))a=rc(null,a,b,c,d),jc.push(a);else{var f=yc(a,b,c,d);if(null===f)e&&sc(a,d);else{if(e){if(-1<qc.indexOf(a)){a=rc(f,a,b,c,d);jc.push(a);return}if(uc(f,a,b,c,d))return;sc(a,d)}jd(a,b,d,null,c)}}}}\nfunction yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=$b(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==e&&(e=null)}}jd(a,b,d,e,c);return null}var kd=null,ld=null,md=null;\nfunction nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}m(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=m({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=m({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=m({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=m({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=m({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=m({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=m({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=m({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=m({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=m({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=m({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=m({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=fa&&\"CompositionEvent\"in window,be=null;fa&&\"documentMode\"in document&&(be=document.documentMode);var ce=fa&&\"TextEvent\"in window&&!be,de=fa&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(fa){var xe;if(fa){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));a=re;if(Kb)a(b);else{Kb=!0;try{Gb(a,b)}finally{Kb=!1,Mb()}}}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge,Ie=Object.prototype.hasOwnProperty;\nfunction Je(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Ie.call(b,c[d])||!He(a[c[d]],b[c[d]]))return!1;return!0}function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nPc(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),\n0);Pc(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);Pc(Oc,2);for(var Ve=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),We=0;We<Ve.length;We++)Nc.set(Ve[We],0);ea(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);\nea(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ea(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);ea(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);da(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));da(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));da(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);da(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nda(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));da(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Xe=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ye=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Xe));\nfunction Ze(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Yb(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}}}if(Ub)throw a=Vb,Ub=!1,Vb=null,a;}\nfunction G(a,b){var c=$e(b),d=a+\"__bubble\";c.has(d)||(af(b,a,2,!1),c.add(d))}var bf=\"_reactListening\"+Math.random().toString(36).slice(2);function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!1,a,null);df(b,!0,a,null)}))}\nfunction df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;\"selectionchange\"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Ye.has(a)){if(\"scroll\"!==a)return;e|=2;f=d}var g=$e(f),h=a+\"__\"+(b?\"capture\":\"bubble\");g.has(h)||(b&&(e|=4),af(f,a,e,b),g.add(h))}\nfunction af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;break;case 1:e=id;break;default:e=hd}c=e.bind(null,b,c,a);e=void 0;!Pb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Nb(function(){var d=f,e=xb(c),g=[];\na:{var h=Mc.get(a);if(void 0!==h){var k=td,x=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":x=\"focus\";k=Fd;break;case \"focusout\":x=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case Ic:case Jc:case Kc:k=Hd;break;case Lc:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var w=0!==(b&4),z=!w&&\"scroll\"===a,u=w?null!==h?h+\"Capture\":null:h;w=[];for(var t=d,q;null!==\nt;){q=t;var v=q.stateNode;5===q.tag&&null!==v&&(q=v,null!==u&&(v=Ob(t,u),null!=v&&w.push(ef(t,v,q))));if(z)break;t=t.return}0<w.length&&(h=new k(h,x,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&0===(b&16)&&(x=c.relatedTarget||c.fromElement)&&(wc(x)||x[ff]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(x=c.relatedTarget||c.toElement,k=d,x=x?wc(x):null,null!==\nx&&(z=Zb(x),x!==z||5!==x.tag&&6!==x.tag))x=null}else k=null,x=d;if(k!==x){w=Bd;v=\"onMouseLeave\";u=\"onMouseEnter\";t=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=Td,v=\"onPointerLeave\",u=\"onPointerEnter\",t=\"pointer\";z=null==k?h:ue(k);q=null==x?h:ue(x);h=new w(v,t+\"leave\",k,c,e);h.target=z;h.relatedTarget=q;v=null;wc(e)===d&&(w=new w(u,t+\"enter\",x,c,e),w.target=q,w.relatedTarget=z,v=w);z=v;if(k&&x)b:{w=k;u=x;t=0;for(q=w;q;q=gf(q))t++;q=0;for(v=u;v;v=gf(v))q++;for(;0<t-q;)w=gf(w),t--;for(;0<q-t;)u=\ngf(u),q--;for(;t--;){if(w===u||null!==u&&w===u.alternate)break b;w=gf(w);u=gf(u)}w=null}else w=null;null!==k&&hf(g,h,k,w,!1);null!==x&&null!==z&&hf(g,z,x,w,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var J=ve;else if(me(h))if(we)J=Fe;else{J=De;var K=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(J=Ee);if(J&&(J=J(a,d))){ne(g,J,c,e);break a}K&&K(a,h,d);\"focusout\"===a&&(K=h._wrapperState)&&\nK.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}K=d?ue(d):window;switch(a){case \"focusin\":if(me(K)||\"true\"===K.contentEditable)Qe=K,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var Q;if(ae)b:{switch(a){case \"compositionstart\":var L=\"onCompositionStart\";break b;case \"compositionend\":L=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":L=\"onCompositionUpdate\";break b}L=void 0}else ie?ge(a,c)&&(L=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(L=\"onCompositionStart\");L&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==L?\"onCompositionEnd\"===L&&ie&&(Q=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),K=oe(d,L),0<K.length&&(L=new Ld(L,a,null,c,e),g.push({event:L,listeners:K}),Q?L.data=Q:(Q=he(c),null!==Q&&(L.data=Q))));if(Q=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),0<d.length&&(e=new Ld(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=Q)}se(g,b)})}function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Ob(a,c),null!=f&&d.unshift(ef(a,f,e)),f=Ob(a,b),null!=f&&d.push(ef(a,f,e)));a=a.return}return d}function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Ob(c,f),null!=k&&g.unshift(ef(c,k,h))):e||(k=Ob(c,f),null!=k&&g.push(ef(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function jf(){}var kf=null,lf=null;function mf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction nf(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var of=\"function\"===typeof setTimeout?setTimeout:void 0,pf=\"function\"===typeof clearTimeout?clearTimeout:void 0;function qf(a){1===a.nodeType?a.textContent=\"\":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=\"\"))}\nfunction rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var tf=0;function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}var vf=Math.random().toString(36).slice(2),wf=\"__reactFiber$\"+vf,xf=\"__reactProps$\"+vf,ff=\"__reactContainer$\"+vf,yf=\"__reactEvents$\"+vf;\nfunction wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b=c[ff]||c[wf]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=sf(a);null!==a;){if(c=a[wf])return c;a=sf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(33));}function Db(a){return a[xf]||null}\nfunction $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}var zf=[],Af=-1;function Bf(a){return{current:a}}function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});ag=null}catch(c){throw null!==ag&&(ag=ag.slice(a+1)),Of(Uf,ig),c;}finally{cg=!1}}}var kg=ra.ReactCurrentBatchConfig;function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var mg=Bf(null),ng=null,og=null,pg=null;function qg(){pg=og=ng=null}\nfunction rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ug=!0),a.firstContext=null)}\nfunction vg(a,b){if(pg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)pg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===og){if(null===ng)throw Error(y(308));og=b;ng.dependencies={lanes:0,firstContext:b,responders:null}}else og=og.next=b}return a._currentValue}var wg=!1;function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}\nfunction yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;if(null!==n){n=n.updateQueue;var A=n.lastBaseUpdate;A!==g&&(null===A?n.firstBaseUpdate=l:A.next=l,n.lastBaseUpdate=k)}}if(null!==f){A=e.baseState;g=0;n=l=k=null;do{h=f.lane;var p=f.eventTime;if((d&h)===h){null!==n&&(n=n.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,\nnext:null});a:{var C=a,x=f;h=b;p=c;switch(x.tag){case 1:C=x.payload;if(\"function\"===typeof C){A=C.call(p,A,h);break a}A=C;break a;case 3:C.flags=C.flags&-4097|64;case 0:C=x.payload;h=\"function\"===typeof C?C.call(p,A,h):C;if(null===h||void 0===h)break a;A=m({},A,h);break a;case 2:wg=!0}}null!==f.callback&&(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else p={eventTime:p,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===n?(l=n=p,k=A):n=n.next=p,g|=h;f=f.next;if(null===\nf)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===n&&(k=A);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;Dg|=g;a.lanes=g;a.memoizedState=A}}function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(y(191,e));e.call(d)}}}var Fg=(new aa.Component).refs;\nfunction Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Kg={isMounted:function(a){return(a=a._reactInternals)?Zb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=Hg(),d=Ig(a),e=zg(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=\nb);Ag(a,e);Jg(a,d,c)}};function Lg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Je(c,d)||!Je(e,f):!0}\nfunction Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=vg(f):(e=Ff(b)?Df:M.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Kg;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Ng(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Kg.enqueueReplaceState(b,b.state,null)}\nfunction Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Fg;xg(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=vg(f):(f=Ff(b)?Df:M.current,e.context=Ef(a,f));Cg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Gg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Kg.enqueueReplaceState(e,e.state,null),Cg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4)}var Pg=Array.isArray;\nfunction Qg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(y(309));var d=c.stateNode}if(!d)throw Error(y(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Fg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(y(284));if(!c._owner)throw Error(y(290,a));}return a}\nfunction Rg(a,b){if(\"textarea\"!==a.type)throw Error(y(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b));}\nfunction Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Tg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=2,\nc):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Ug(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Qg(a,b,c),d.return=a,d;d=Vg(c.type,c.key,c.props,null,a.mode,d);d.ref=Qg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nWg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Xg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function A(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Ug(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case sa:return c=Vg(b.type,b.key,b.props,null,a.mode,c),c.ref=Qg(a,null,b),c.return=a,c;case ta:return b=Wg(b,a.mode,c),b.return=a,b}if(Pg(b)||La(b))return b=Xg(b,\na.mode,c,null),b.return=a,b;Rg(a,b)}return null}function p(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case sa:return c.key===e?c.type===ua?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case ta:return c.key===e?l(a,b,c,d):null}if(Pg(c)||La(c))return null!==e?null:n(a,b,c,d,null);Rg(a,c)}return null}function C(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||\nnull,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case sa:return a=a.get(null===d.key?c:d.key)||null,d.type===ua?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case ta:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Pg(d)||La(d))return a=a.get(c)||null,n(b,a,d,e,null);Rg(b,d)}return null}function x(e,g,h,k){for(var l=null,t=null,u=g,z=g=0,q=null;null!==u&&z<h.length;z++){u.index>z?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;z<h.length;z++)u=A(e,h[z],k),null!==u&&(g=f(u,g,z),null===t?l=u:t.sibling=u,t=u);return l}for(u=d(e,u);z<h.length;z++)q=C(u,e,z,h[z],k),null!==q&&(a&&null!==q.alternate&&u.delete(null===q.key?z:q.key),g=f(q,g,z),null===t?l=q:t.sibling=q,t=q);a&&u.forEach(function(a){return b(e,a)});return l}function w(e,g,h,k){var l=La(h);if(\"function\"!==typeof l)throw Error(y(150));h=l.call(h);if(null==\nh)throw Error(y(151));for(var t=l=null,u=g,z=g=0,q=null,n=h.next();null!==u&&!n.done;z++,n=h.next()){u.index>z?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPrimary=null;th.length=0}var vh=ra.ReactCurrentDispatcher,wh=ra.ReactCurrentBatchConfig,xh=0,R=null,S=null,T=null,yh=!1,zh=!1;function Ah(){throw Error(y(321));}function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;vh.current=null===a||null===a.memoizedState?Dh:Eh;a=c(d,e);if(zh){f=0;do{zh=!1;if(!(25>f))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0<h;){var k=31-Vc(h),v=1<<k;d[k]|=a;h&=~v}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=p.getSnapshot,c=p.setSnapshot;try{c(a(b._source));var d=Ig(w);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);He(C,c)&&He(x,b)&&He(A,d)||(a={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:n},a.dispatch=l=Oh.bind(null,R,a),k.queue=a,k.baseQueue=null,n=Mh(e,b,c),k.memoizedState=k.baseState=n);return n}\nfunction Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}function Qh(a){var b=Hh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:a};a=a.dispatch=Oh.bind(null,R,a);return[b.memoizedState,a]}\nfunction Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.updateQueue;null===b?(b={lastEffect:null},R.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}function Th(){return Ih().memoizedState}function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void 0,void 0===d?null:d)}\nfunction Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null!==S){var g=S.memoizedState;f=g.destroy;if(null!==d&&Bh(d,g.deps)){Rh(b,c,f,d);return}}R.flags|=a;e.memoizedState=Rh(1|b,c,f,d)}function Wh(a,b){return Uh(516,4,a,b)}function Xh(a,b){return Vh(516,4,a,b)}function Yh(a,b){return Vh(4,2,a,b)}function Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}\nfunction $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,2,Zh.bind(null,b,a),c)}function ai(){}function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}\nfunction di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c,function(){var c=wh.transition;wh.transition=1;try{a(!1),b()}finally{wh.transition=c}})}\nfunction Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);b.pending=f;g=a.alternate;if(a===R||null!==g&&g===R)zh=yh=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(He(k,h))return}catch(l){}finally{}Jg(a,e,d)}}\nvar Gh={readContext:vg,useCallback:Ah,useContext:Ah,useEffect:Ah,useImperativeHandle:Ah,useLayoutEffect:Ah,useMemo:Ah,useReducer:Ah,useRef:Ah,useState:Ah,useDebugValue:Ah,useDeferredValue:Ah,useTransition:Ah,useMutableSource:Ah,useOpaqueIdentifier:Ah,unstable_isNewReconciler:!1},Dh={readContext:vg,useCallback:function(a,b){Hh().memoizedState=[a,void 0===b?null:b];return a},useContext:vg,useEffect:Wh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Uh(4,2,Zh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return Uh(4,2,a,b)},useMemo:function(a,b){var c=Hh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Hh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Oh.bind(null,R,a);return[d.memoizedState,a]},useRef:Sh,useState:Qh,useDebugValue:ai,useDeferredValue:function(a){var b=Qh(a),c=b[0],d=b[1];Wh(function(){var b=wh.transition;\nwh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Qh(!1),b=a[0];a=di.bind(null,a[1]);Sh(a);return[a,b]},useMutableSource:function(a,b,c){var d=Hh();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return Nh(d,a,b,c)},useOpaqueIdentifier:function(){if(lh){var a=!1,b=uf(function(){a||(a=!0,c(\"r:\"+(tf++).toString(36)));throw Error(y(355));}),c=Qh(b)[1];0===(R.mode&2)&&(R.flags|=516,Rh(5,function(){c(\"r:\"+(tf++).toString(36))},\nvoid 0,null));return b}b=\"r:\"+(tf++).toString(36);Qh(b);return b},unstable_isNewReconciler:!1},Eh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Kh,useRef:Th,useState:function(){return Kh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Kh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Kh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Kh(Jh)[0]},unstable_isNewReconciler:!1},Fh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Lh,useRef:Th,useState:function(){return Lh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Lh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Lh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Lh(Jh)[0]},unstable_isNewReconciler:!1},ei=ra.ReactCurrentOwner,ug=!1;function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,d,e);return b.child}\nfunction ii(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!ji(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ki(a,b,g,d,e,f);a=Vg(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Je,c(e,d)&&a.ref===b.ref))return hi(a,b,f);b.flags|=1;a=Tg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.ref)if(ug=!1,0!==(f&e))0!==(a.flags&16384)&&(ug=!0);else return b.lanes=a.lanes,hi(a,b,f);return li(a,b,c,d,f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode||\"unstable-defer-without-hiding\"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},ni(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},ni(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a},ni(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,ni(b,d);fi(a,b,e,c);return b.child}\nfunction oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,c,e);return b.child}\nfunction pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Mg(b,c,d),Og(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=vg(l):(l=Ff(c)?Df:M.current,l=Ef(b,l));var n=c.getDerivedStateFromProps,A=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;A||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ng(b,g,d,l);wg=!1;var p=b.memoizedState;g.state=p;Cg(b,d,g,e);k=b.memoizedState;h!==d||p!==k||N.current||wg?(\"function\"===typeof n&&(Gg(b,c,n,d),k=b.memoizedState),(h=wg||Lg(b,c,h,d,p,k,l))?(A||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:lg(b.type,h);g.props=l;A=b.pendingProps;p=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=vg(k):(k=Ff(c)?Df:M.current,k=Ef(b,k));var C=c.getDerivedStateFromProps;(n=\"function\"===typeof C||\n\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==A||p!==k)&&Ng(b,g,d,k);wg=!1;p=b.memoizedState;g.state=p;Cg(b,d,g,e);var x=b.memoizedState;h!==A||p!==x||N.current||wg?(\"function\"===typeof C&&(Gg(b,c,C,d),x=b.memoizedState),(l=wg||Lg(b,c,l,d,p,x,k))?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),d=!1)}return qi(a,b,c,d,f,e)}\nfunction qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Kf(b,c,!1),hi(a,b,f);d=b.stateNode;ei.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Yg(b,a.child,null,f),b.child=Yg(b,null,h,f)):fi(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);eh(a,b.containerInfo)}\nvar si={dehydrated:null,retryLane:0};\nfunction ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);I(P,e&1);if(null===a){void 0!==d.fallback&&ph(b);a=d.children;e=d.fallback;if(f)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=si,a;if(\"number\"===typeof d.unstable_expectedLoadTime)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},\nb.memoizedState=si,b.lanes=33554432,a;c=vi({mode:\"visible\",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:\n{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:\"hidden\",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=vi(b,e,0,null);c=Xg(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}\nfunction xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:\"visible\",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}\nfunction wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:\"hidden\",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Tg(g,h);null!==a?d=Tg(a,d):(d=Xg(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(a.return,b)}\nfunction zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}\nfunction Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,d.children,c);d=P.current;if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&yi(a,c);else if(19===a.tag)yi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(P,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ih(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);zi(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ih(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}zi(b,!0,c,null,f,b.lastEffect);break;case \"together\":zi(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes;if(0!==(c&b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(y(153));if(null!==b.child){a=b.child;c=Tg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Tg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}var Bi,Ci,Di,Ei;\nBi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ci=function(){};\nDi=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;dh(ah.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"option\":e=eb(a,e);d=eb(a,d);f=[];break;case \"select\":e=m({},e,{value:void 0});d=m({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=jf)}vb(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===\nl){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ca.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||\n(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ca.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&G(\"scroll\",a),f||h===k||(f=[])):\"object\"===typeof k&&null!==k&&k.$$typeof===Ga?k.toString():(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",\nc);var l=f;if(b.updateQueue=l)b.flags|=4}};Ei=function(a,b,c,d){c!==d&&(b.flags|=4)};function Fi(a,b){if(!lh)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return Ff(b.type)&&Gf(),null;case 3:fh();H(N);H(M);uh();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)rh(b)?b.flags|=4:d.hydrate||(b.flags|=256);Ci(b);return null;case 5:hh(b);var e=dh(ch.current);c=b.type;if(null!==a&&null!=b.stateNode)Di(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===\nb.stateNode)throw Error(y(166));return null}a=dh(ah.current);if(rh(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[wf]=b;d[xf]=f;switch(c){case \"dialog\":G(\"cancel\",d);G(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<Xe.length;a++)G(Xe[a],d);break;case \"source\":G(\"error\",d);break;case \"img\":case \"image\":case \"link\":G(\"error\",d);G(\"load\",d);break;case \"details\":G(\"toggle\",d);break;case \"input\":Za(d,f);G(\"invalid\",d);break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};G(\"invalid\",d);break;case \"textarea\":hb(d,f),G(\"invalid\",d)}vb(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],\"children\"===g?\"string\"===typeof e?d.textContent!==e&&(a=[\"children\",e]):\"number\"===typeof e&&d.textContent!==\"\"+e&&(a=[\"children\",\"\"+e]):ca.hasOwnProperty(g)&&null!=e&&\"onScroll\"===g&&G(\"scroll\",d));switch(c){case \"input\":Va(d);cb(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=\njf)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;a===kb.html&&(a=lb(c));a===kb.html?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<Xe.length;e++)G(Xe[e],a);e=d;break;case \"source\":G(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":G(\"error\",a);G(\"load\",a);e=d;break;case \"details\":G(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);G(\"invalid\",a);break;case \"option\":e=eb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=m({},d,{value:void 0});G(\"invalid\",a);break;case \"textarea\":hb(a,d);e=\ngb(a,d);G(\"invalid\",a);break;default:e=d}vb(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?tb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&ob(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==c||\"\"!==k)&&pb(a,k):\"number\"===typeof k&&pb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ca.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&G(\"scroll\",a):null!=k&&qa(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);\nbreak;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=jf)}mf(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=128)}return null;case 6:if(a&&null!=b.stateNode)Ei(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(y(166));\nc=dh(ch.current);dh(ah.current);rh(b)?(d=b.stateNode,c=b.memoizedProps,d[wf]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[wf]=b,b.stateNode=d)}return null;case 13:H(P);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&rh(b):c=null!==a.memoizedState;if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&1))0===V&&(V=3);else{if(0===V||3===V)V=\n4;null===U||0===(Dg&134217727)&&0===(Hi&134217727)||Ii(U,W)}if(d||c)b.flags|=4;return null;case 4:return fh(),Ci(b),null===a&&cf(b.stateNode.containerInfo),null;case 10:return rg(b),null;case 17:return Ff(b.type)&&Gf(),null;case 19:H(P);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)Fi(d,!1);else{if(0!==V||null!==a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=ih(a);if(null!==g){b.flags|=64;Fi(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);\nnull===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,\nf.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;I(P,P.current&1|2);return b.child}a=a.sibling}null!==d.tail&&O()>Ji&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;e<f.length;e+=\n2){var g=f[e],h=f[e+1];\"style\"===g?tb(c,h):\"dangerouslySetInnerHTML\"===g?ob(c,h):\"children\"===g?pb(c,h):qa(c,g,h,b)}switch(a){case \"input\":ab(c,d);break;case \"textarea\":ib(c,d);break;case \"select\":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?fb(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?fb(c,!!d.multiple,d.defaultValue,!0):fb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(y(162));b.stateNode.nodeValue=\nb.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,Cc(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(jj=O(),aj(b.child,!0));kj(b);return;case 19:kj(b);return;case 17:return;case 23:case 24:aj(b,null!==b.memoizedState);return}throw Error(y(163));}function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ui);b.forEach(function(b){var d=lj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var nj=Math.ceil,oj=ra.ReactCurrentDispatcher,pj=ra.ReactCurrentOwner,X=0,U=null,Y=null,W=0,qj=0,rj=Bf(0),V=0,sj=null,tj=0,Dg=0,Hi=0,uj=0,vj=null,jj=0,Ji=Infinity;function wj(){Ji=O()+500}var Z=null,Qi=!1,Ri=null,Ti=null,xj=!1,yj=null,zj=90,Aj=[],Bj=[],Cj=null,Dj=0,Ej=null,Fj=-1,Gj=0,Hj=0,Ij=null,Jj=!1;function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}\nfunction Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===eg()?1:2;0===Gj&&(Gj=tj);if(0!==kg.transition){0!==Hj&&(Hj=null!==vj?vj.pendingLanes:0);a=Gj;var b=4186112&~Hj;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=eg();0!==(X&4)&&98===a?a=Xc(12,Gj):(a=Sc(a),a=Xc(a,Gj));return a}\nfunction Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);if(null===a)return null;$c(a,b,c);a===U&&(Hi|=b,4===V&&Ii(a,W));var d=eg();1===b?0!==(X&8)&&0===(X&48)?Lj(a):(Mj(a,c),0===X&&(wj(),ig())):(0===(X&4)||98!==d&&99!==d||(null===Cj?Cj=new Set([a]):Cj.add(a)),Mj(a,c));vj=a}function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}\nfunction Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Vc(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;Rc(k);var n=F;f[h]=10<=n?l+250:6<=n?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Uc(a,a===U?W:0);b=F;if(0===d)null!==c&&(c!==Zf&&Pf(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==Zf&&Pf(c)}15===b?(c=Lj.bind(null,a),null===ag?(ag=[c],bg=Of(Uf,jg)):ag.push(c),\nc=Zf):14===b?c=hg(99,Lj.bind(null,a)):(c=Tc(b),c=hg(c,Nj.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}\nfunction Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.callbackNode;if(Oj()&&a.callbackNode!==b)return null;var c=Uc(a,a===U?W:0);if(0===c)return null;var d=c;var e=X;X|=16;var f=Pj();if(U!==a||W!==d)wj(),Qj(a,d);do try{Rj();break}catch(h){Sj(a,h)}while(1);qg();oj.current=f;X=e;null!==Y?d=0:(U=null,W=0,d=V);if(0!==(tj&Hi))Qj(a,0);else if(0!==d){2===d&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),c=Wc(a),0!==c&&(d=Tj(a,c)));if(1===d)throw b=sj,Qj(a,0),Ii(a,c),Mj(a,O()),b;a.finishedWork=\na.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(y(345));case 2:Uj(a);break;case 3:Ii(a,c);if((c&62914560)===c&&(d=jj+500-O(),10<d)){if(0!==Uc(a,0))break;e=a.suspendedLanes;if((e&c)!==c){Hg();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=of(Uj.bind(null,a),d);break}Uj(a);break;case 4:Ii(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=31-Vc(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10<c){a.timeoutHandle=of(Uj.bind(null,a),c);break}Uj(a);break;case 5:Uj(a);break;default:throw Error(y(329));}}Mj(a,O());return a.callbackNode===b?Nj.bind(null,a):null}function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Vc(b),d=1<<c;a[c]=-1;b&=~d}}\nfunction Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.expiredLanes&W)){var b=W;var c=Tj(a,b);0!==(tj&Hi)&&(b=Uc(a,b),c=Tj(a,b))}else b=Uc(a,0),c=Tj(a,b);0!==a.tag&&2===c&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),b=Wc(a),0!==b&&(c=Tj(a,b)));if(1===c)throw c=sj,Qj(a,0),Ii(a,b),Mj(a,O()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;Uj(a);Mj(a,O());return null}\nfunction Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;Mj(a,O())})}ig()}function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function ni(a,b){I(rj,qj);qj|=b;tj|=b}function Ki(){qj=rj.current;H(rj)}\nfunction Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,pf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Gf();break;case 3:fh();H(N);H(M);uh();break;case 5:hh(d);break;case 4:fh();break;case 13:H(P);break;case 19:H(P);break;case 10:rg(d);break;case 23:case 24:Ki()}c=c.return}U=a;Y=Tg(a.current,null);W=qj=tj=b;V=0;sj=null;uj=Hi=Dg=0}\nfunction Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}yh=!1}xh=0;T=S=R=null;zh=!1;pj.current=null;if(null===c||null===c.return){V=1;sj=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=W;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k;if(0===(h.mode&2)){var n=h.alternate;n?(h.updateQueue=n.updateQueue,h.memoizedState=n.memoizedState,h.lanes=n.lanes):\n(h.updateQueue=null,h.memoizedState=null)}var A=0!==(P.current&1),p=g;do{var C;if(C=13===p.tag){var x=p.memoizedState;if(null!==x)C=null!==x.dehydrated?!0:!1;else{var w=p.memoizedProps;C=void 0===w.fallback?!1:!0!==w.unstable_avoidThisFallback?!0:A?!1:!0}}if(C){var z=p.updateQueue;if(null===z){var u=new Set;u.add(l);p.updateQueue=u}else z.add(l);if(0===(p.mode&2)){p.flags|=64;h.flags|=16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var t=zg(-1,1);t.tag=2;Ag(h,t)}h.lanes|=1;break a}k=\nvoid 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Oi,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var v=Yj.bind(null,f,l,h);l.then(v,v)}p.flags|=4096;p.lanes=b;break a}p=p.return}while(null!==p);k=Error((Ra(h.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==\na.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=Li(b);if(null!==c){c.flags&=2047;Y=c;return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===V&&(V=5)}function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}\nfunction dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(y(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Vc(f),l=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~l}null!==\nCj&&0===(d&24)&&Cj.has(a)&&Cj.delete(a);a===U&&(Y=U=null,W=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=X;X|=32;pj.current=null;kf=fd;g=Ne();if(Oe(g)){if(\"selectionStart\"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=(h=g.ownerDocument)&&h.defaultView||window,(l=h.getSelection&&h.getSelection())&&0!==l.rangeCount){h=l.anchorNode;f=l.anchorOffset;k=l.focusNode;l=l.focusOffset;try{h.nodeType,k.nodeType}catch(va){h=null;\nbreak a}var n=0,A=-1,p=-1,C=0,x=0,w=g,z=null;b:for(;;){for(var u;;){w!==h||0!==f&&3!==w.nodeType||(A=n+f);w!==k||0!==l&&3!==w.nodeType||(p=n+l);3===w.nodeType&&(n+=w.nodeValue.length);if(null===(u=w.firstChild))break;z=w;w=u}for(;;){if(w===g)break b;z===h&&++C===f&&(A=n);z===k&&++x===l&&(p=n);if(null!==(u=w.nextSibling))break;w=z;z=w.parentNode}w=u}h=-1===A||-1===p?null:{start:A,end:p}}else h=null;h=h||{start:0,end:0}}else h=null;lf={focusedElem:g,selectionRange:h};fd=!1;Ij=null;Jj=!1;Z=d;do try{ek()}catch(va){if(null===\nZ)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Ij=null;Z=d;do try{for(g=a;null!==Z;){var t=Z.flags;t&16&&pb(Z.stateNode,\"\");if(t&128){var q=Z.alternate;if(null!==q){var v=q.ref;null!==v&&(\"function\"===typeof v?v(null):v.current=null)}}switch(t&1038){case 2:fj(Z);Z.flags&=-3;break;case 6:fj(Z);Z.flags&=-3;ij(Z.alternate,Z);break;case 1024:Z.flags&=-1025;break;case 1028:Z.flags&=-1025;ij(Z.alternate,Z);break;case 4:ij(Z.alternate,Z);break;case 8:h=Z;cj(g,h);var J=h.alternate;dj(h);null!==\nJ&&dj(J)}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);v=lf;q=Ne();t=v.focusedElem;g=v.selectionRange;if(q!==t&&t&&t.ownerDocument&&Me(t.ownerDocument.documentElement,t)){null!==g&&Oe(t)&&(q=g.start,v=g.end,void 0===v&&(v=q),\"selectionStart\"in t?(t.selectionStart=q,t.selectionEnd=Math.min(v,t.value.length)):(v=(q=t.ownerDocument||document)&&q.defaultView||window,v.getSelection&&(v=v.getSelection(),h=t.textContent.length,J=Math.min(g.start,h),g=void 0===\ng.end?J:Math.min(g.end,h),!v.extend&&J>g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;t<q.length;t++)v=q[t],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}fd=!!kf;lf=kf=null;a.current=c;Z=d;do try{for(t=a;null!==Z;){var K=Z.flags;K&36&&Yi(t,Z.alternate,Z);if(K&128){q=void 0;var Q=Z.ref;if(null!==Q){var L=Z.stateNode;switch(Z.tag){case 5:q=L;break;default:q=L}\"function\"===typeof Q?Q(q):Q.current=q}}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Z=null;$f();X=e}else a.current=c;if(xj)xj=!1,yj=a,zj=b;else for(Z=d;null!==Z;)b=\nZ.nextEffect,Z.nextEffect=null,Z.flags&8&&(K=Z,K.sibling=null,K.stateNode=null),Z=b;d=a.pendingLanes;0===d&&(Ti=null);1===d?a===Ej?Dj++:(Dj=0,Ej=a):Dj=0;c=c.stateNode;if(Mf&&\"function\"===typeof Mf.onCommitFiberRoot)try{Mf.onCommitFiberRoot(Lf,c,void 0,64===(c.current.flags&64))}catch(va){}Mj(a,O());if(Qi)throw Qi=!1,a=Ri,Ri=null,a;if(0!==(X&8))return null;ig();return null}\nfunction ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.flags&8)?dc(Z,Ij)&&(Jj=!0):13===Z.tag&&mj(a,Z)&&dc(Z,Ij)&&(Jj=!0));var b=Z.flags;0!==(b&256)&&Xi(a,Z);0===(b&512)||xj||(xj=!0,hg(97,function(){Oj();return null}));Z=Z.nextEffect}}function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}\nfunction fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw Error(y(331));var b=X;X|=32;var c=Bj;Bj=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if(\"function\"===typeof g)try{g()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}c=Aj;Aj=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,h.nextEffect=null,h.flags&8&&(h.sibling=\nnull,h.stateNode=null),h=a;X=b;ig();return!0}function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!==a&&($c(a,1,b),Mj(a,b))}\nfunction Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){gk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d))){a=Mi(b,a);var e=Si(c,a,1);Ag(c,e);e=Hg();c=Kj(c,1);if(null!==c)$c(c,1,e),Mj(c,e);else if(\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}\nfunction Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.pingedLanes|=a.suspendedLanes&c;U===a&&(W&c)===c&&(4===V||3===V&&(W&62914560)===W&&500>O()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],th.push(f);c=Zg(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else fi(a,b,d,c),sh();b=b.child}return b;case 5:return gh(b),null===a&&\nph(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,nf(d,e)?g=null:null!==f&&nf(d,f)&&(b.flags|=16),oi(a,b),fi(a,b,g,c),b.child;case 6:return null===a&&ph(b),null;case 13:return ti(a,b,c);case 4:return eh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Yg(b,null,d,c):fi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),gi(a,b,d,e,c);case 7:return fi(a,b,b.pendingProps,c),b.child;case 8:return fi(a,b,b.pendingProps.children,\nc),b.child;case 12:return fi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(mg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=He(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!N.current){b=hi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=\nk.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=zg(-1,c&-c),l.tag=2,Ag(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);sg(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}fi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,tg(b,c),e=vg(e,\nf.unstable_observedBits),d=d(e),b.flags|=1,fi(a,b,d,c),b.child;case 14:return e=b.type,f=lg(e,b.pendingProps),f=lg(e.type,f),ii(a,b,e,f,d,c);case 15:return ki(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Ff(d)?(a=!0,Jf(b)):a=!1,tg(b,c),Mg(b,d,e),Og(b,d,e,c),qi(null,b,d,!0,a,c);case 19:return Ai(a,b,c);case 23:return mi(a,b,c);case 24:return mi(a,b,c)}throw Error(y(156,b.tag));\n};function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function nh(a,b,c,d){return new ik(a,b,c,d)}function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction hk(a){if(\"function\"===typeof a)return ji(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Aa)return 11;if(a===Da)return 14}return 2}\nfunction Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Vg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ji(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ua:return Xg(c.children,e,f,b);case Ha:g=8;e|=16;break;case wa:g=8;e|=1;break;case xa:return a=nh(12,c,b,e|8),a.elementType=xa,a.type=xa,a.lanes=f,a;case Ba:return a=nh(13,c,b,e),a.type=Ba,a.elementType=Ba,a.lanes=f,a;case Ca:return a=nh(19,c,b,e),a.elementType=Ca,a.lanes=f,a;case Ia:return vi(c,e,f,b);case Ja:return a=nh(24,c,b,e),a.elementType=Ja,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ya:g=10;break a;case za:g=9;break a;case Aa:g=11;break a;case Da:g=14;break a;case Ea:g=16;d=null;break a;case Fa:g=22;break a}throw Error(y(130,null==a?a:typeof a,\"\"));}b=nh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}\nfunction Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=Zc(0);this.expirationTimes=Zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Zc(0);this.mutableSourceEagerHydrationData=null}\nfunction kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ta,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactInternals;b:{if(Zb(c)!==c||1!==c.tag)throw Error(y(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(Ff(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(y(171));}if(1===c.tag){var k=c.type;if(Ff(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=zg(f,g);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);Ag(e,b);Jg(e,g,f);return g}function mk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}function pk(){return null}\nfunction qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new jk(a,b,null!=c&&!0===c.hydrate);b=nh(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;xg(b);a[ff]=c.current;cf(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}\nqk.prototype.render=function(a){lk(a,this._internalRoot,null,null)};qk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;lk(null,a,null,function(){b[ff]=null})};function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qk(a,0,b?{hydrate:!0}:void 0)}\nfunction tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=mk(g);h.call(a)}}lk(b,g,a,e)}else{f=c._reactRootContainer=sk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=mk(g);k.call(a)}}Xj(function(){lk(b,g,a,e)})}return mk(g)}ec=function(a){if(13===a.tag){var b=Hg();Jg(a,4,b);ok(a,4)}};fc=function(a){if(13===a.tag){var b=Hg();Jg(a,67108864,b);ok(a,67108864)}};\ngc=function(a){if(13===a.tag){var b=Hg(),c=Ig(a);Jg(a,c,b);ok(a,c)}};hc=function(a,b){return b()};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(y(90));Wa(d);ab(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Wj;\nHb=function(a,b,c,d,e){var f=X;X|=4;try{return gg(98,a.bind(null,b,c,d,e))}finally{X=f,0===X&&(wj(),ig())}};Ib=function(){0===(X&49)&&(Vj(),Oj())};Jb=function(a,b){var c=X;X|=2;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}};function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rk(b))throw Error(y(200));return kk(a,b,null,c)}var vk={Events:[Cb,ue,Db,Eb,Fb,Oj,{current:!1}]},wk={findFiberByHostInstance:wc,bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-dom\"};\nvar xk={bundleType:wk.bundleType,version:wk.version,rendererPackageName:wk.rendererPackageName,rendererConfig:wk.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ra.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=cc(a);return null===a?null:a.stateNode},findFiberByHostInstance:wk.findFiberByHostInstance||\npk,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var yk=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yk.isDisabled&&yk.supportsFiber)try{Lf=yk.inject(xk),Mf=yk}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;exports.createPortal=uk;\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(y(188));throw Error(y(268,Object.keys(a)));}a=cc(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a,b){var c=X;if(0!==(c&48))return a(b);X|=1;try{if(a)return gg(99,a.bind(null,b))}finally{X=c,ig()}};exports.hydrate=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!0,c)};\nexports.render=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!rk(a))throw Error(y(40));return a._reactRootContainer?(Xj(function(){tk(null,null,a,!1,function(){a._reactRootContainer=null;a[ff]=null})}),!0):!1};exports.unstable_batchedUpdates=Wj;exports.unstable_createPortal=function(a,b){return uk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!rk(c))throw Error(y(200));if(null==a||void 0===a._reactInternals)throw Error(y(38));return tk(a,b,c,!1,d)};exports.version=\"17.0.2\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","// Localize is designed to be elaboratively return multiple results and possibly exceeding complexity requirement\n/* eslint complexity: \"off\" */\n\nimport { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nimport getAllLocalizedStrings from './getAllLocalizedStrings';\nimport getRTLList from './getRTLList';\nimport normalizeLanguage from '../utils/normalizeLanguage';\n\nlet deprecationNotesShown;\n\nfunction localize(id: string, language: string, ...args: string[]) {\n if (!deprecationNotesShown) {\n console.warn(\n 'botframework-webchat: localize() is deprecated. Please use the useLocalizer() hooks instead. This function will be removed on or after 2022-02-12.'\n );\n\n deprecationNotesShown = true;\n }\n\n const allStrings = getAllLocalizedStrings();\n const normalizedLanguage = normalizeLanguage(language);\n\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n const localizedStrings = isForbiddenPropertyName(language) ? undefined : allStrings[normalizedLanguage];\n\n return Object.entries(args).reduce<boolean | string>(\n (value, [index, arg]) => (typeof value === 'string' ? value.replace(`$${+index + 1}`, arg) : value),\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n isForbiddenPropertyName(id) ? '' : (localizedStrings && localizedStrings[id]) || allStrings['en-US'][id] || ''\n );\n}\n\nexport { getRTLList, localize };\n","/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SEND_FAILED = 'send failed';\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENDING = 'sending';\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENT = 'sent';\n\nexport { SEND_FAILED, SENDING, SENT };\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","'use strict';\n\nvar compose = require('redux').compose;\n\nexports.__esModule = true;\nexports.composeWithDevTools =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n : function () {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, arguments);\n };\n\nexports.devToolsEnhancer =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__\n : function () {\n return function (noop) {\n return noop;\n };\n };\n","import { combineReducers } from 'redux';\n\nimport createActivitiesReducer from './reducers/createActivitiesReducer';\nimport createInternalReducer from './reducers/createInternalReducer';\nimport createNotificationsReducer from './reducers/createNotificationsReducer';\nimport createTypingReducer from './reducers/createTypingReducer';\nimport connectivityStatus from './reducers/connectivityStatus';\nimport dictateInterims from './reducers/dictateInterims';\nimport dictateState from './reducers/dictateState';\nimport language from './reducers/language';\nimport readyState from './reducers/readyState';\nimport referenceGrammarID from './reducers/referenceGrammarID';\nimport sendBoxValue from './reducers/sendBoxValue';\nimport sendTimeout from './reducers/sendTimeout';\nimport sendTypingIndicator from './reducers/sendTypingIndicator';\nimport shouldSpeakIncomingActivity from './reducers/shouldSpeakIncomingActivity';\nimport suggestedActions from './reducers/suggestedActions';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\n\nexport default function createReducer(ponyfill: GlobalScopePonyfill) {\n return combineReducers({\n activities: createActivitiesReducer(ponyfill),\n connectivityStatus,\n dictateInterims,\n dictateState,\n internal: createInternalReducer(ponyfill),\n language,\n notifications: createNotificationsReducer(ponyfill),\n readyState,\n referenceGrammarID,\n sendBoxValue,\n sendTimeout,\n sendTypingIndicator,\n shouldSpeakIncomingActivity,\n suggestedActions,\n typing: createTypingReducer(ponyfill)\n });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, -1] }] */\n\nimport updateIn from 'simple-update-in';\n\nimport { DELETE_ACTIVITY } from '../actions/deleteActivity';\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { MARK_ACTIVITY } from '../actions/markActivity';\nimport {\n POST_ACTIVITY_FULFILLED,\n POST_ACTIVITY_IMPEDED,\n POST_ACTIVITY_PENDING,\n POST_ACTIVITY_REJECTED\n} from '../actions/postActivity';\nimport { SEND_FAILED, SENDING, SENT } from '../types/internal/SendStatus';\n\nimport type { DeleteActivityAction } from '../actions/deleteActivity';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type { MarkActivityAction } from '../actions/markActivity';\nimport type {\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n} from '../actions/postActivity';\nimport type { Reducer } from 'redux';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\ntype ActivitiesAction =\n | DeleteActivityAction\n | IncomingActivityAction\n | MarkActivityAction\n | PostActivityFulfilledAction\n | PostActivityImpededAction\n | PostActivityPendingAction\n | PostActivityRejectedAction;\n\ntype ActivitiesState = WebChatActivity[];\n\nconst DEFAULT_STATE: ActivitiesState = [];\nconst DIRECT_LINE_PLACEHOLDER_URL =\n 'https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png';\n\nfunction getClientActivityID(activity: WebChatActivity): string | undefined {\n return activity.channelData?.clientActivityID;\n}\n\nfunction findByClientActivityID(clientActivityID: string): (activity: WebChatActivity) => boolean {\n return (activity: WebChatActivity) => getClientActivityID(activity) === clientActivityID;\n}\n\nfunction patchActivity(\n activity: WebChatActivity,\n lastActivity: WebChatActivity,\n { Date }: GlobalScopePonyfill\n): WebChatActivity {\n // Direct Line channel will return a placeholder image for the user-uploaded image.\n // As observed, the URL for the placeholder image is https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png.\n // To make our code simpler, we are removing the value if \"contentUrl\" is pointing to a placeholder image.\n\n // TODO: [P2] #2869 This \"contentURL\" removal code should be moved to DirectLineJS adapter.\n\n // Also, if the \"contentURL\" starts with \"blob:\", this means the user is uploading a file (the URL is constructed by URL.createObjectURL)\n // Although the copy/reference of the file is temporary in-memory, to make the UX consistent across page refresh, we do not allow the user to re-download the file either.\n\n activity = updateIn(activity, ['attachments', () => true, 'contentUrl'], (contentUrl: string) => {\n if (contentUrl !== DIRECT_LINE_PLACEHOLDER_URL && !/^blob:/iu.test(contentUrl)) {\n return contentUrl;\n }\n });\n\n // If the message does not have sequence ID, use these fallback values:\n // 1. \"timestamp\" field\n // - outgoing activity will not have \"timestamp\" field\n // 2. last activity sequence ID (or 0) + 0.001\n // - best effort to put this message the last one in the chat history\n activity = updateIn(activity, ['channelData', 'webchat:sequence-id'], (sequenceId?: number) =>\n typeof sequenceId === 'number'\n ? sequenceId\n : typeof activity.timestamp !== 'undefined'\n ? +new Date(activity.timestamp)\n : // We assume there will be no more than 1,000 messages sent before receiving server response.\n // If there are more than 1,000 messages, some messages will get reordered and appear jumpy after receiving server response.\n // eslint-disable-next-line no-magic-numbers\n (lastActivity?.channelData?.['webchat:sequence-id'] || 0) + 0.001\n );\n\n // TODO: [P1] #3953 We should move this patching logic to a DLJS wrapper for simplicity.\n activity = updateIn(activity, ['channelData', 'webchat:sequence-id'], (sequenceId: number) =>\n typeof sequenceId === 'number' ? sequenceId : +new Date(activity.timestamp || 0) || 0\n );\n\n return activity;\n}\n\nfunction upsertActivityWithSort(\n activities: WebChatActivity[],\n nextActivity: WebChatActivity,\n ponyfill: GlobalScopePonyfill\n): WebChatActivity[] {\n nextActivity = patchActivity(nextActivity, activities[activities.length - 1], ponyfill);\n\n const { channelData: { clientActivityID: nextClientActivityID, 'webchat:sequence-id': nextSequenceId } = {} } =\n nextActivity;\n\n const nextActivities = activities.filter(\n ({ channelData: { clientActivityID } = {}, id }) =>\n // We will remove all \"sending messages\" activities and activities with same ID\n // \"clientActivityID\" is unique and used to track if the message has been sent and echoed back from the server\n !(nextClientActivityID && clientActivityID === nextClientActivityID) && !(id && id === nextActivity.id)\n );\n\n // Then, find the right (sorted) place to insert the new activity at, based on sequence ID.\n const indexToInsert = nextActivities.findIndex(\n ({ channelData: { 'webchat:sequence-id': sequenceId } = {} }) => (sequenceId || 0) > (nextSequenceId || 0)\n );\n\n // If no right place are found, append it\n nextActivities.splice(~indexToInsert ? indexToInsert : nextActivities.length, 0, nextActivity);\n\n return nextActivities;\n}\n\nexport default function createActivitiesReducer(\n ponyfill: GlobalScopePonyfill\n): Reducer<ActivitiesState, ActivitiesAction> {\n return function activities(state: ActivitiesState = DEFAULT_STATE, action: ActivitiesAction): ActivitiesState {\n switch (action.type) {\n case DELETE_ACTIVITY:\n state = updateIn(state, [({ id }: WebChatActivity) => id === action.payload.activityID]);\n break;\n\n case MARK_ACTIVITY:\n {\n const { payload } = action;\n\n state = updateIn(\n state,\n [({ id }: WebChatActivity) => id === payload.activityID, 'channelData', payload.name],\n () => payload.value\n );\n }\n\n break;\n\n case POST_ACTIVITY_PENDING:\n {\n let {\n payload: { activity }\n } = action;\n\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n activity = updateIn(activity, ['channelData', 'state'], () => SENDING);\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => SENDING);\n\n state = upsertActivityWithSort(state, activity, ponyfill);\n }\n\n break;\n\n case POST_ACTIVITY_IMPEDED:\n state = updateIn(\n state,\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n [findByClientActivityID(action.meta.clientActivityID), 'channelData', 'state'],\n () => SEND_FAILED\n );\n\n break;\n\n case POST_ACTIVITY_REJECTED:\n state = updateIn(state, [findByClientActivityID(action.meta.clientActivityID)], activity => {\n activity = updateIn(activity, ['channelData', 'state'], () => SEND_FAILED);\n\n return updateIn(activity, ['channelData', 'webchat:send-status'], () => SEND_FAILED);\n });\n\n break;\n\n case POST_ACTIVITY_FULFILLED:\n state = updateIn(state, [findByClientActivityID(action.meta.clientActivityID)], () => {\n // We will replace the activity with the version from the server\n const activity = updateIn(\n patchActivity(action.payload.activity, state[state.length - 1], ponyfill),\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n ['channelData', 'state'],\n () => SENT\n );\n\n return updateIn(activity, ['channelData', 'webchat:send-status'], () => SENT);\n });\n\n break;\n\n case INCOMING_ACTIVITY:\n {\n let {\n payload: { activity }\n } = action;\n\n // If the incoming activity is an echo back, we should keep the existing `channelData['webchat:send-status']` field.\n //\n // Otherwise, it will fail following scenario:\n //\n // 1. Send an activity to the service\n // 2. Service echoed back the activity\n // 3. Service did NOT return `postActivity` call\n // - EXPECT: `channelData['webchat:send-status']` should be \"sending\".\n // - ACTUAL: `channelData['webchat:send-status']` is `undefined` because the activity get overwritten by the echo back activity.\n // The echo back activity contains no `channelData['webchat:send-status']`.\n //\n // While we are looking out for the scenario above, we should also look at the following scenarios:\n //\n // 1. Service restore chat history, including activities sent from the user. These activities has the following characteristics:\n // - They do not have `channelData['webchat:send-status']`;\n // - They do not have an ongoing `postActivitySaga`;\n // - They should not previously appear in the chat history.\n // 2. We need to mark these activities as \"sent\".\n //\n // In the future, when we revamp our object model, we could use a different signal so we don't need the code below, for example:\n //\n // - If `activity.id` is set, it is \"sent\", because the chat service assigned an ID to the activity;\n // - If `activity.id` is not set, it is either \"sending\" or \"send failed\";\n // - If `activity.channelData['webchat:send-failed-reason']` is set, it is \"send failed\" with the reason, otherwise;\n // - It is sending.\n if (activity.from.role === 'user') {\n const { id } = activity;\n const clientActivityID = getClientActivityID(activity);\n\n const existingActivity = state.find(\n activity =>\n (clientActivityID && getClientActivityID(activity) === clientActivityID) || (id && activity.id === id)\n );\n\n if (existingActivity) {\n const {\n channelData: { 'webchat:send-status': sendStatus }\n } = existingActivity;\n\n if (sendStatus === SENDING || sendStatus === SEND_FAILED || sendStatus === SENT) {\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => sendStatus);\n }\n } else {\n // If there are no existing activity, probably this activity is restored from chat history.\n // All outgoing activities restored from service means they arrived at the service successfully.\n // Thus, we are marking them as \"sent\".\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => SENT);\n }\n }\n\n state = upsertActivityWithSort(state, activity, ponyfill);\n }\n\n break;\n\n default:\n break;\n }\n\n return state;\n };\n}\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","type DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\ntype DeleteActivityAction = {\n payload: { activityID: string };\n type: DeleteActivityActionType;\n};\n\nconst DELETE_ACTIVITY: DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\nfunction deleteActivity(activityID: string): DeleteActivityAction {\n return {\n type: DELETE_ACTIVITY,\n payload: { activityID }\n };\n}\n\nexport default deleteActivity;\nexport { DELETE_ACTIVITY };\nexport type { DeleteActivityAction };\n","// This type is only for this package only and help reducing size of the bundle.\n// Externals should use the string literal directly instead.\n\n// TODO: [P3] #4040 When improve treeshaking with named exports, we could export internals from `core` package.\n// import { SENDING, SEND_FAILED, SENT } from 'botframework-webchat-core/internal/SendStatus';\n\nconst SENDING = 'sending';\nconst SEND_FAILED = 'send failed';\nconst SENT = 'sent';\n\ntype SendStatus = typeof SENDING | typeof SEND_FAILED | typeof SENT;\n\nexport { SENDING, SEND_FAILED, SENT };\nexport type { SendStatus };\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n/**\n * Creates a Redux reducer to store the ponyfill.\n *\n * The ponyfill is used to check if React and Redux does not use a matching ponyfill.\n */\nexport default function createInternalReducer(ponyfill: GlobalScopePonyfill): () => { ponyfill: GlobalScopePonyfill } {\n return () => ({ ponyfill });\n}\n","import updateIn from 'simple-update-in';\n\nimport { DISMISS_NOTIFICATION } from '../actions/dismissNotification';\nimport { SAGA_ERROR } from '../actions/sagaError';\nimport { SET_NOTIFICATION } from '../actions/setNotification';\nimport isForbiddenPropertyName from '../utils/isForbiddenPropertyName';\n\nimport type { DismissNotificationAction } from '../actions/dismissNotification';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { Notification } from '../types/internal/Notification';\nimport type { Reducer } from 'redux';\nimport type { SagaErrorAction } from '../actions/sagaError';\nimport type { SetNotificationAction } from '../actions/setNotification';\n\ntype NotificationsAction = DismissNotificationAction | SagaErrorAction | SetNotificationAction;\ntype NotificationsState = Record<string, Notification>;\n\nconst DEFAULT_STATE: NotificationsState = {};\n\nexport default function createNotificationsReducer({\n Date\n}: GlobalScopePonyfill): Reducer<NotificationsState, NotificationsAction> {\n return function notifications(\n state: NotificationsState = DEFAULT_STATE,\n action: NotificationsAction\n ): NotificationsState {\n const { type } = action;\n const now = Date.now();\n\n if (type === DISMISS_NOTIFICATION) {\n state = updateIn(state, [action.payload.id]);\n } else if (type === SAGA_ERROR) {\n state = updateIn(state, ['connectivitystatus', 'message'], () => 'javascripterror');\n } else if (type === SET_NOTIFICATION) {\n const { alt, data, id, level, message } = action.payload;\n\n if (!isForbiddenPropertyName(id)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n const notification = state[id];\n\n if (\n !notification ||\n alt !== notification.alt ||\n !Object.is(data, notification.data) ||\n level !== notification.level ||\n message !== notification.message\n ) {\n state = updateIn(state, [id], () => ({\n alt,\n data,\n id,\n level,\n message,\n timestamp: now\n }));\n }\n }\n }\n\n return state;\n };\n}\n","var global = typeof window !== 'undefined' ? window : self\nmodule.exports = global.crypto || global.msCrypto\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/* eslint no-case-declarations: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n\nimport updateIn from 'simple-update-in';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type { PostActivityPendingAction } from '../actions/postActivity';\nimport type { Reducer } from 'redux';\n\ntype TypingState = Record<\n string,\n {\n at: number;\n last: number;\n name: string;\n role: 'bot' | 'channel' | 'user';\n }\n>;\ntype TypingAction = IncomingActivityAction | PostActivityPendingAction;\n\nconst DEFAULT_STATE: TypingState = {};\n\nexport default function createLastTypingReducer({ Date }: GlobalScopePonyfill): Reducer<TypingState, TypingAction> {\n return function lastTyping(state: TypingState = DEFAULT_STATE, { payload, type }: TypingAction): TypingState {\n if (type === INCOMING_ACTIVITY || type === POST_ACTIVITY_PENDING) {\n const {\n activity: {\n from: { id, name, role },\n type: activityType\n }\n } = payload;\n\n if (activityType === 'typing') {\n const now = Date.now();\n\n state = updateIn(state, [id, 'at'], at => at || now);\n state = updateIn(state, [id, 'last'], () => now);\n state = updateIn(state, [id, 'name'], () => name);\n state = updateIn(state, [id, 'role'], () => role);\n } else if (activityType === 'message') {\n state = updateIn(state, [id]);\n }\n }\n\n return state;\n };\n}\n","import { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\n\nimport { RECONNECT_PENDING, RECONNECT_FULFILLED } from '../actions/reconnect';\n\nimport { DISCONNECT_FULFILLED } from '../actions/disconnect';\nimport { SAGA_ERROR } from '../actions/sagaError';\n\nconst DEFAULT_STATE = 'uninitialized';\n\nexport default function connectivityStatus(state = DEFAULT_STATE, { type, meta }) {\n if (state !== 'sagaerror') {\n switch (type) {\n case CONNECT_PENDING:\n case RECONNECT_PENDING:\n if (state !== 'uninitialized') {\n state = 'reconnecting';\n }\n\n break;\n\n case CONNECT_FULFILLED:\n state = 'connected';\n break;\n\n case RECONNECT_FULFILLED:\n state = 'reconnected';\n break;\n\n case CONNECT_REJECTED:\n state = 'error';\n break;\n\n case CONNECT_STILL_PENDING:\n state = 'connectingslow';\n break;\n\n case DISCONNECT_FULFILLED:\n state = meta && meta.error ? 'error' : 'notconnected';\n break;\n\n case SAGA_ERROR:\n state = 'sagaerror';\n break;\n\n default:\n break;\n }\n }\n\n return state;\n}\n","import { SET_DICTATE_INTERIMS } from '../actions/setDictateInterims';\n\nconst DEFAULT_STATE = [];\n\nexport default function dictateInterims(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_DICTATE_INTERIMS:\n state = payload.dictateInterims;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { DICTATING, IDLE, STARTING, STOPPING, WILL_START } from '../constants/DictateState';\n\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport { START_DICTATE } from '../actions/startDictate';\nimport { STOP_DICTATE } from '../actions/stopDictate';\n\nconst DEFAULT_STATE = IDLE;\n\nexport default function dictateState(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_DICTATE_STATE:\n state = payload.dictateState;\n break;\n\n case START_DICTATE:\n if (state === IDLE || state === STOPPING || state === WILL_START) {\n state = STARTING;\n }\n\n break;\n\n case STOP_DICTATE:\n if (state === STARTING || state === DICTATING) {\n state = STOPPING;\n } else if (state === WILL_START) {\n state = IDLE;\n }\n\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_LANGUAGE } from '../actions/setLanguage';\n\nconst DEFAULT_STATE = 'en-US';\n\nexport default function language(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_LANGUAGE:\n state = payload.language;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { CONNECTION_STATUS_UPDATE } from '../actions/connectionStatusUpdate';\n\nconst DEFAULT_STATE = 0;\n\nexport default function readyState(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case CONNECTION_STATUS_UPDATE:\n state = payload.connectionStatus;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_REFERENCE_GRAMMAR_ID } from '../actions/setReferenceGrammarID';\n\nconst DEFAULT_STATE = null;\n\nexport default function referenceGrammarID(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_REFERENCE_GRAMMAR_ID:\n state = payload.referenceGrammarID || null;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_BOX } from '../actions/setSendBox';\n\nconst DEFAULT_STATE = '';\n\nexport default function sendBoxValue(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_BOX:\n state = payload.text;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_TIMEOUT } from '../actions/setSendTimeout';\n\nconst DEFAULT_STATE = 20000;\n\nexport default function sendTimeout(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_TIMEOUT:\n state = payload.sendTimeout;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\n\nconst DEFAULT_STATE = false;\n\nexport default function sendTypingIndicator(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_TYPING_INDICATOR:\n state = payload.sendTypingIndicator;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { START_SPEAKING_ACTIVITY } from '../actions/startSpeakingActivity';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\n\nexport default function shouldSpeakIncomingActivity(state = false, { type }) {\n switch (type) {\n case START_SPEAKING_ACTIVITY:\n state = true;\n break;\n\n case STOP_SPEAKING_ACTIVITY:\n state = false;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { CLEAR_SUGGESTED_ACTIONS } from '../actions/clearSuggestedActions';\nimport { SET_SUGGESTED_ACTIONS } from '../actions/setSuggestedActions';\n\nconst DEFAULT_STATE = [];\n\nexport default function suggestedActions(state = DEFAULT_STATE, { payload = {}, type }) {\n switch (type) {\n case SET_SUGGESTED_ACTIONS:\n if ((payload.suggestedActions || []).length) {\n state = [].slice.call(payload.suggestedActions);\n } else {\n state = DEFAULT_STATE;\n }\n break;\n case CLEAR_SUGGESTED_ACTIONS:\n state = DEFAULT_STATE;\n break;\n default:\n break;\n }\n\n return state;\n}\n","import { fork } from 'redux-saga/effects';\n\nimport clearSuggestedActionsOnPostActivitySaga from './sagas/clearSuggestedActionsOnPostActivitySaga';\nimport connectionStatusToNotificationSaga from './sagas/connectionStatusToNotificationSaga';\nimport connectionStatusUpdateSaga from './sagas/connectionStatusUpdateSaga';\nimport connectSaga from './sagas/connectSaga';\nimport detectSlowConnectionSaga from './sagas/detectSlowConnectionSaga';\nimport emitTypingIndicatorToPostActivitySaga from './sagas/emitTypingIndicatorToPostActivitySaga';\nimport markAllAsSpokenOnStopSpeakActivitySaga from './sagas/markAllAsSpokenOnStopSpeakActivitySaga';\nimport observeActivitySaga from './sagas/observeActivitySaga';\nimport postActivitySaga from './sagas/postActivitySaga';\nimport queueIncomingActivitySaga from './sagas/queueIncomingActivitySaga';\nimport sendEventToPostActivitySaga from './sagas/sendEventToPostActivitySaga';\nimport sendFilesToPostActivitySaga from './sagas/sendFilesToPostActivitySaga';\nimport sendMessageBackToPostActivitySaga from './sagas/sendMessageBackToPostActivitySaga';\nimport sendMessageToPostActivitySaga from './sagas/sendMessageToPostActivitySaga';\nimport sendPostBackToPostActivitySaga from './sagas/sendPostBackToPostActivitySaga';\nimport sendTypingIndicatorOnSetSendBoxSaga from './sagas/sendTypingIndicatorOnSetSendBoxSaga';\nimport speakActivityAndStartDictateOnIncomingActivityFromOthersSaga from './sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga';\nimport startDictateOnSpeakCompleteSaga from './sagas/startDictateOnSpeakCompleteSaga';\nimport startSpeakActivityOnPostActivitySaga from './sagas/startSpeakActivityOnPostActivitySaga';\nimport stopDictateOnCardActionSaga from './sagas/stopDictateOnCardActionSaga';\nimport stopSpeakingActivityOnInputSaga from './sagas/stopSpeakingActivityOnInputSaga';\nimport submitSendBoxSaga from './sagas/submitSendBoxSaga';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { Saga } from 'redux-saga';\n\ntype CreateSagasOptions = {\n ponyfill: GlobalScopePonyfill;\n};\n\nexport default function createSagas({ ponyfill }: CreateSagasOptions): Saga {\n return function* () {\n // TODO: [P2] Since fork() silently catches all exceptions, we need to find a way to console.error them out.\n\n yield fork(clearSuggestedActionsOnPostActivitySaga);\n yield fork(connectionStatusToNotificationSaga);\n yield fork(connectionStatusUpdateSaga);\n yield fork(connectSaga);\n yield fork(detectSlowConnectionSaga, ponyfill);\n yield fork(emitTypingIndicatorToPostActivitySaga);\n yield fork(markAllAsSpokenOnStopSpeakActivitySaga);\n yield fork(observeActivitySaga);\n yield fork(postActivitySaga, ponyfill);\n yield fork(queueIncomingActivitySaga, ponyfill);\n yield fork(sendEventToPostActivitySaga);\n yield fork(sendFilesToPostActivitySaga);\n yield fork(sendMessageBackToPostActivitySaga);\n yield fork(sendMessageToPostActivitySaga);\n yield fork(sendPostBackToPostActivitySaga);\n yield fork(sendTypingIndicatorOnSetSendBoxSaga, ponyfill);\n yield fork(speakActivityAndStartDictateOnIncomingActivityFromOthersSaga);\n yield fork(startDictateOnSpeakCompleteSaga);\n yield fork(startSpeakActivityOnPostActivitySaga);\n yield fork(stopDictateOnCardActionSaga);\n yield fork(stopSpeakingActivityOnInputSaga);\n yield fork(submitSendBoxSaga);\n };\n}\n","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nfunction _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\n\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport whileConnected from './effects/whileConnected';\n\nfunction* clearSuggestedActions() {\n yield put(setSuggestedActions());\n}\n\nfunction* clearSuggestedActionsOnPostActivity() {\n yield takeEvery(\n ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n clearSuggestedActions\n );\n}\n\nexport default function* clearSuggestedActionsOnPostActivitySaga() {\n yield whileConnected(clearSuggestedActionsOnPostActivity);\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3, 4] }] */\n\nimport { call, put, takeLatest } from 'redux-saga/effects';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport setNotification from '../actions/setNotification';\n\nconst CONNECTIVITY_STATUS_NOTIFICATION_ID = 'connectivitystatus';\n\nfunction subscribeToPromiseQueue(observable) {\n const { push, shift } = createPromiseQueue();\n const subscription = observable.subscribe({ next: push });\n\n return {\n shift,\n unsubscribe() {\n subscription.unsubscribe();\n }\n };\n}\n\nfunction* connectionStatusToNotification({ payload: { directLine } }) {\n const { shift, unsubscribe } = subscribeToPromiseQueue(directLine.connectionStatus$);\n\n try {\n let reconnecting;\n\n for (;;) {\n const value = yield call(shift);\n\n switch (value) {\n case 0:\n case 1:\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'info',\n message: reconnecting ? 'reconnecting' : 'connecting'\n })\n );\n\n break;\n\n case 2:\n reconnecting = 1;\n\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'success',\n message: 'connected'\n })\n );\n\n break;\n\n case 3:\n case 4:\n reconnecting = 1;\n\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'error',\n message: 'failedtoconnect'\n })\n );\n\n break;\n\n default:\n break;\n }\n }\n } finally {\n unsubscribe();\n }\n}\n\nexport default function* () {\n yield takeLatest(CONNECT, connectionStatusToNotification);\n}\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","'use strict';\nvar $ = require('../internals/export');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar installErrorCause = require('../internals/install-error-cause');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Error = Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf($Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));\n installErrorCause(that, options);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, $Error);\nelse copyConstructorProperties($AggregateError, $Error, { name: true });\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true, constructor: true, arity: 2 }, {\n AggregateError: $AggregateError\n});\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw $TypeError('Incorrect invocation');\n};\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","var IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","import { put } from 'redux-saga/effects';\n\nimport connectionStatusUpdate from '../actions/connectionStatusUpdate';\nimport observeEach from './effects/observeEach';\nimport setReferenceGrammarID from '../actions/setReferenceGrammarID';\nimport whileConnected from './effects/whileConnected';\n\nfunction* observeConnectionStatus({ directLine }) {\n yield observeEach(directLine.connectionStatus$, function* updateConnectionStatus(connectionStatus) {\n yield put(connectionStatusUpdate(connectionStatus));\n yield put(setReferenceGrammarID(directLine.referenceGrammarId));\n });\n}\n\nexport default function* connectionStatusUpdateSaga() {\n yield whileConnected(observeConnectionStatus);\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 10] }] */\n\nimport { call, cancel, cancelled, fork, put, race, take } from 'redux-saga/effects';\n\nimport decode from 'jwt-decode';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport forkPut from './effects/forkPut';\nimport uniqueID from '../utils/uniqueID';\nimport updateConnectionStatus, { UPDATE_CONNECTION_STATUS } from '../actions/updateConnectionStatus';\n\nimport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_FULFILLED } from '../actions/disconnect';\n\nimport { RECONNECT } from '../actions/reconnect';\n\nconst CONNECTING = 1;\nconst ONLINE = 2;\nconst UNINITIALIZED = 0;\n\nfunction randomUserID() {\n return `r_${uniqueID().substring(0, 10)}`;\n}\n\nfunction* observeAndPutConnectionStatusUpdate(directLine) {\n const connectionStatusQueue = createPromiseQueue();\n const connectionStatusSubscription = directLine.connectionStatus$.subscribe({ next: connectionStatusQueue.push });\n\n try {\n for (;;) {\n const connectionStatus = yield call(connectionStatusQueue.shift);\n\n yield put(updateConnectionStatus(connectionStatus));\n }\n } finally {\n connectionStatusSubscription.unsubscribe();\n }\n}\n\n// TODO: [P2] We should move this check and rectification to DirectLineJS.\nfunction rectifyUserID(directLine, userIDFromAction) {\n const { token } = directLine;\n\n let userIDFromToken;\n\n // TODO: Add test to make sure \"jwt-decode\" work as expected.\n try {\n userIDFromToken = (decode(token) || {}).user;\n // eslint-disable-next-line no-empty\n } catch (err) {}\n\n const result = {\n fromAction: userIDFromAction,\n fromToken: userIDFromToken\n };\n\n if (userIDFromToken) {\n if (userIDFromAction && userIDFromAction !== userIDFromToken) {\n console.warn(\n 'Web Chat: user ID is both specified in the Direct Line token and passed in, will use the user ID from the token.'\n );\n }\n\n result.final = userIDFromToken;\n } else if (userIDFromAction) {\n if (typeof userIDFromAction !== 'string') {\n console.warn('Web Chat: user ID must be a string.');\n\n result.final = randomUserID();\n } else if (/^dl_/u.test(userIDFromAction)) {\n console.warn(\n 'Web Chat: user ID prefixed with \"dl_\" is reserved and must be embedded into the Direct Line token to prevent forgery.'\n );\n\n result.final = randomUserID();\n } else {\n result.final = userIDFromAction;\n }\n } else {\n result.final = randomUserID();\n }\n\n return result;\n}\n\n// We could make this a Promise instead of saga (function generator) to make the code cleaner, if:\n// 1. We found a way to cancel Promise\n// 2. subscribe() are shared amongst all subscriptions, e.g. turn Observable into events\nfunction* connectSaga(directLine) {\n // DirectLineJS starts the connection only after the first subscriber for activity$, not connectionStatus$\n const activitySubscription = directLine.activity$.subscribe({ next: () => 0 });\n const unsubscribeActivity = activitySubscription.unsubscribe.bind(activitySubscription);\n\n try {\n for (;;) {\n const {\n payload: { connectionStatus }\n } = yield take(UPDATE_CONNECTION_STATUS);\n\n if (connectionStatus === ONLINE) {\n // TODO: [P2] DirectLineJS should kill the connection when we unsubscribe\n // But currently in v3, DirectLineJS does not have this functionality\n // Thus, we need to call \"end()\" explicitly\n\n return () => {\n unsubscribeActivity();\n directLine.end();\n };\n } else if (connectionStatus !== UNINITIALIZED && connectionStatus !== CONNECTING) {\n throw new Error(`Failed to connect, DirectLineJS returned ${connectionStatus}.`);\n }\n }\n } catch (err) {\n // We will unsubscribe if we failed to connect or got cancelled only.\n // We should not unsubscribe in happy case, because DirectLineJS should relying on the subscription to connect/disconnect.\n unsubscribeActivity();\n\n throw err;\n } finally {\n if (yield cancelled()) {\n unsubscribeActivity();\n }\n }\n}\n\nfunction* reconnectSaga() {\n for (;;) {\n const {\n payload: { connectionStatus }\n } = yield take(UPDATE_CONNECTION_STATUS);\n\n if (connectionStatus === ONLINE) {\n break;\n } else if (connectionStatus !== CONNECTING) {\n throw new Error(`Failed to reconnect. DirectLineJS returned ${connectionStatus}.`);\n }\n }\n}\n\n// This is similar to behavior of redux-promise-middleware, but using saga instead of Promise.\n// We guarantee PENDING -> FULFILLING -> FULFILLED, or PENDING -> REJECTED. This will help us simplify logic in other part of code.\n// Note that after the saga is cancelled, subsequent call to put() will be ignored silently.\nfunction* runAsyncEffect({ type, meta, payload }, callEffectFactory) {\n try {\n yield forkPut({ type: `${type}_PENDING`, meta, payload });\n\n const result = yield callEffectFactory();\n\n yield forkPut({ type: `${type}_FULFILLING`, meta, payload }, { type: `${type}_FULFILLED`, meta, payload });\n\n return result;\n } catch (payload) {\n yield forkPut({ type: `${type}_REJECTED`, error: true, meta, payload });\n\n throw payload;\n }\n}\n\nfunction* takeDisconnectAsError() {\n yield take(DISCONNECT);\n\n throw new Error('disconnected');\n}\n\nfunction runAsyncEffectUntilDisconnect(baseAction, callEffectFactory) {\n // We cannot use saga cancel() here, because cancelling saga will prohibit us from sending *_REJECTED.\n // Without REJECTED, it impacts our assumptions around PENDING/FULFILLED/REJECTED.\n return runAsyncEffect(baseAction, function* runUntilDisconnect() {\n const { result } = yield race({\n _: takeDisconnectAsError(),\n result: callEffectFactory()\n });\n\n return result;\n });\n}\n\nexport default function* () {\n for (;;) {\n const {\n payload: { directLine, userID: userIDFromAction, username }\n } = yield take(CONNECT);\n\n const updateConnectionStatusTask = yield fork(observeAndPutConnectionStatusUpdate, directLine);\n const rectifiedUserID = rectifyUserID(directLine, userIDFromAction);\n\n // TODO: [P2] Checks if this attached subtask will get killed if the parent task is complete (peacefully), errored out, or cancelled.\n const meta = {\n userID: rectifiedUserID.final,\n username\n };\n\n // Send user ID to DirectLineJS if it was specified from props of <API.Composer>.\n // However, DirectLineJS may still prefer the user ID from token if it is burnt into the token.\n // To prevent DirectLineJS giving false warnings, we will only call setUserId() if it is different than the token.\n directLine.setUserId && rectifiedUserID.fromToken !== meta.userID && directLine.setUserId(meta.userID);\n\n let disconnectMeta;\n\n // We will dispatch CONNECT_PENDING, wait for connect completed, errored, or cancelled (thru disconnect).\n // Then dispatch CONNECT_FULFILLED/CONNECT_REJECTED as needed.\n try {\n const endDirectLine = yield runAsyncEffectUntilDisconnect(\n {\n type: CONNECT,\n meta,\n payload: { directLine }\n },\n () => call(connectSaga, directLine)\n );\n\n try {\n for (;;) {\n // We are waiting for connection status change or disconnect action.\n const { updateConnectionStatusAction: { payload: { connectionStatus } = {} } = {} } = yield race({\n _: take(DISCONNECT),\n updateConnectionStatusAction: take(UPDATE_CONNECTION_STATUS)\n });\n\n // If it is not disconnect action, connectionStatus will not be undefined.\n if (connectionStatus === CONNECTING) {\n // If DirectLineJS changed connectionStatus to CONNECTING, we will treat it as reconnect status.\n yield runAsyncEffectUntilDisconnect(\n {\n type: RECONNECT,\n meta,\n payload: { directLine }\n },\n () => call(reconnectSaga)\n );\n } else if (connectionStatus !== ONLINE) {\n if (typeof connectionStatus !== 'undefined') {\n // We need to kill the connection because DirectLineJS want to close it.\n throw new Error(`Connection status changed to ${connectionStatus}`);\n } else {\n // Someone dispatched disconnect action.\n break;\n }\n }\n }\n } finally {\n endDirectLine();\n }\n } catch (error) {\n disconnectMeta = { error };\n } finally {\n yield cancel(updateConnectionStatusTask);\n\n // Even if the connection is interrupted, we will still emit DISCONNECT_PENDING.\n // This will makes handling logic easier. If CONNECT_FULFILLED, we guarantee DISCONNECT_PENDING.\n yield forkPut(\n { type: DISCONNECT_PENDING, meta: disconnectMeta, payload: { directLine } },\n { type: DISCONNECT_FULFILLED, meta: disconnectMeta, payload: { directLine } }\n );\n }\n }\n}\n","/**\n * The code was extracted from:\n * https://github.com/davidchambers/Base64.js\n */\n\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\nfunction InvalidCharacterError(message) {\n this.message = message;\n}\n\nInvalidCharacterError.prototype = new Error();\nInvalidCharacterError.prototype.name = \"InvalidCharacterError\";\n\nfunction polyfill(input) {\n var str = String(input).replace(/=+$/, \"\");\n if (str.length % 4 == 1) {\n throw new InvalidCharacterError(\n \"'atob' failed: The string to be decoded is not correctly encoded.\"\n );\n }\n for (\n // initialize result and counters\n var bc = 0, bs, buffer, idx = 0, output = \"\";\n // get next character\n (buffer = str.charAt(idx++));\n // character found in table? initialize bit storage and add its ascii value;\n ~buffer &&\n ((bs = bc % 4 ? bs * 64 + buffer : buffer),\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4) ?\n (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6)))) :\n 0\n ) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n}\n\nexport default (typeof window !== \"undefined\" &&\n window.atob &&\n window.atob.bind(window)) ||\npolyfill;","import atob from \"./atob\";\n\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(\n atob(str).replace(/(.)/g, function(m, p) {\n var code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n })\n );\n}\n\nexport default function(str) {\n var output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n\n try {\n return b64DecodeUnicode(output);\n } catch (err) {\n return atob(output);\n }\n}","\"use strict\";\n\nimport base64_url_decode from \"./base64_url_decode\";\n\nexport function InvalidTokenError(message) {\n this.message = message;\n}\n\nInvalidTokenError.prototype = new Error();\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\n\nexport default function(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified\");\n }\n\n options = options || {};\n var pos = options.header === true ? 0 : 1;\n try {\n return JSON.parse(base64_url_decode(token.split(\".\")[pos]));\n } catch (e) {\n throw new InvalidTokenError(\"Invalid token specified: \" + e.message);\n }\n}","import { fork, put } from 'redux-saga/effects';\n\n// In redux-saga, if we call the following effects in order, we might miss the take('C').\n// 1. take('A')\n// 2. put({ type: 'B' })\n// 3. take('C')\n\n// We need to modify step 2 to:\n// 2. fork(function* () { yield put({ type: 'B' }) })\n\n// This is a helper function for this purpose.\n\nexport default function forkPutEffect(...actions) {\n return fork(function* forkPut() {\n for (const action of actions) {\n yield put(action);\n }\n });\n}\n","const UPDATE_CONNECTION_STATUS = 'DIRECT_LINE/UPDATE_CONNECTION_STATUS';\n\nexport default function updateConnectionStatus(connectionStatus) {\n return {\n type: UPDATE_CONNECTION_STATUS,\n payload: { connectionStatus }\n };\n}\n\nexport { UPDATE_CONNECTION_STATUS };\n","import { call, put, race, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\nimport { RECONNECT_FULFILLED, RECONNECT_PENDING, RECONNECT_REJECTED } from '../actions/reconnect';\nimport sleep from '../utils/sleep';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nconst SLOW_CONNECTION_AFTER = 15000;\n\nexport default function* detectSlowConnectionSaga(ponyfill: GlobalScopePonyfill) {\n for (;;) {\n yield take([CONNECT_PENDING, RECONNECT_PENDING]);\n\n const connectivityRace = yield race({\n fulfilled: take([CONNECT_FULFILLED, RECONNECT_FULFILLED]),\n rejected: take([CONNECT_REJECTED, RECONNECT_REJECTED]),\n slow: call(sleep, SLOW_CONNECTION_AFTER, ponyfill)\n });\n\n if ('slow' in connectivityRace) {\n yield put({ type: CONNECT_STILL_PENDING });\n }\n }\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { EMIT_TYPING_INDICATOR } from '../actions/emitTypingIndicator';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postTypingActivity() {\n yield put(\n postActivity({\n type: 'typing'\n })\n );\n}\n\nfunction* emitTypingActivityToPostActivity() {\n yield takeEvery(({ type }) => type === EMIT_TYPING_INDICATOR, postTypingActivity);\n}\n\nexport default function* emitTypingActivityToPostActivitySaga() {\n yield whileConnected(emitTypingActivityToPostActivity);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { of as activitiesOf } from '../selectors/activities';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\nimport markActivity from '../actions/markActivity';\nimport speakingActivity from '../definitions/speakingActivity';\n\nfunction* markAllAsSpoken() {\n const speakingActivities = yield select(activitiesOf(speakingActivity));\n\n for (const activity of speakingActivities) {\n yield put(markActivity(activity, 'speak', false));\n }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* markAllAsSpokenOnStopSpeakActivitySaga() {\n yield takeEvery(STOP_SPEAKING_ACTIVITY, markAllAsSpoken);\n}\n","import { put } from 'redux-saga/effects';\nimport updateIn from 'simple-update-in';\n\nimport observeEach from './effects/observeEach';\nimport queueIncomingActivity from '../actions/queueIncomingActivity';\nimport whileConnected from './effects/whileConnected';\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst PASSTHRU_FN = (value: unknown) => value;\n\nfunction patchActivityWithFromRole(activity: DirectLineActivity, userID?: string): DirectLineActivity {\n // Some activities, such as \"ConversationUpdate\", does not have \"from\" defined.\n // And although \"role\" is defined in Direct Line spec, it was not sent over the wire.\n // We normalize the activity here to simplify null-check and logic later.\n\n // Patch activity.from.role to make sure its either \"bot\", \"user\", or \"channel\"\n if (!activity.from) {\n activity = updateIn(activity, ['from', 'role'], () => 'channel');\n } else if (!activity.from.role) {\n if (activity.from.id === userID) {\n activity = updateIn(activity, ['from', 'role'], () => 'user');\n } else if (activity.from.id) {\n activity = updateIn(activity, ['from', 'role'], () => 'bot');\n } else {\n activity = updateIn(activity, ['from', 'role'], () => 'channel');\n }\n }\n\n return activity;\n}\n\nfunction patchNullAsUndefined(activity: DirectLineActivity): DirectLineActivity {\n // These fields are known used in Web Chat and in any cases, they should not be null, but undefined.\n // The only field omitted is \"value\", as it could be null purposefully.\n\n return [\n 'attachmentLayout',\n 'attachments',\n 'channelData',\n 'conversation',\n 'entities',\n 'from',\n 'inputHint',\n 'locale',\n 'name',\n 'recipient',\n 'speak',\n 'suggestedActions',\n 'text',\n 'textFormat',\n 'timestamp',\n 'type'\n ].reduce((activity, name) => {\n const { [name]: value } = activity;\n\n return updateIn(activity, [name], typeof value === 'undefined' || value === null ? undefined : PASSTHRU_FN);\n }, activity);\n}\n\n// Patching the `from.name` to be a human readable name.\n// We use the `from.name` for typing indicator, such that it read \"John is typing...\".\nfunction patchFromName(activity: DirectLineActivity) {\n return updateIn(activity, ['from', 'name'], (name: string | undefined): string => {\n const { channelId, from = {} } = activity;\n\n if ((channelId === 'directline' || channelId === 'webchat') && from.id === from.name && from.role === 'bot') {\n return 'Bot';\n }\n\n return name;\n });\n}\n\nfunction* observeActivity({ directLine, userID }: { directLine: DirectLineJSBotConnection; userID?: string }) {\n yield observeEach(directLine.activity$, function* observeActivity(activity: DirectLineActivity) {\n // TODO: [P2] #3953 Move the patching logic to a DirectLineJS wrapper, instead of too close to inners of Web Chat.\n activity = patchNullAsUndefined(activity);\n activity = patchActivityWithFromRole(activity, userID);\n activity = patchFromName(activity);\n\n yield put(queueIncomingActivity(activity as WebChatActivity));\n });\n}\n\nexport default function* observeActivitySaga() {\n yield whileConnected(observeActivity);\n}\n","import { all, call, cancelled, put, race, select, take, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport {\n POST_ACTIVITY,\n POST_ACTIVITY_FULFILLED,\n POST_ACTIVITY_IMPEDED,\n POST_ACTIVITY_PENDING,\n POST_ACTIVITY_REJECTED\n} from '../actions/postActivity';\nimport dateToLocaleISOString from '../utils/dateToLocaleISOString';\nimport deleteKey from '../utils/deleteKey';\nimport languageSelector from '../selectors/language';\nimport observeOnce from './effects/observeOnce';\nimport sendTimeoutSelector from '../selectors/sendTimeout';\nimport sleep from '../utils/sleep';\nimport uniqueID from '../utils/uniqueID';\nimport whileConnected from './effects/whileConnected';\n\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type {\n PostActivityAction,\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n} from '../actions/postActivity';\nimport type { WebChatActivity } from '../types/WebChatActivity';\nimport type { WebChatOutgoingActivity } from '../types/internal/WebChatOutgoingActivity';\n\n// After 5 minutes, the saga will stop from listening for echo backs and consider the outgoing message as permanently undeliverable.\n// This value must be equals to or larger than the user-defined `styleOptions.sendTimeout`.\nconst HARD_SEND_TIMEOUT = 300000;\n\nfunction* postActivity(\n directLine: DirectLineJSBotConnection,\n userID: string,\n username: string,\n numActivitiesPosted: number,\n { meta: { method }, payload: { activity } }: PostActivityAction,\n ponyfill: GlobalScopePonyfill\n) {\n const attachments = (activity.type === 'message' && activity.attachments) || [];\n const clientActivityID = uniqueID();\n const locale = yield select(languageSelector);\n const localTimeZone =\n typeof window.Intl === 'undefined' ? undefined : new Intl.DateTimeFormat().resolvedOptions().timeZone;\n const now = new ponyfill.Date();\n\n // Currently, we allow untyped outgoing activity as long as the chat adapter can deliver.\n // In the future, we should warn if the outgoing activity is not matching the type.\n const outgoingActivity: WebChatOutgoingActivity = {\n ...deleteKey(activity, 'id'),\n channelData: {\n // Remove local fields that should not be send to the service.\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n ...deleteKey(activity.channelData, 'state', 'webchat:send-status'),\n clientActivityID\n },\n channelId: 'webchat',\n from: {\n id: userID,\n name: username,\n role: 'user'\n },\n locale,\n localTimestamp: dateToLocaleISOString(now),\n localTimezone: localTimeZone,\n ...(activity.type === 'message'\n ? {\n attachments:\n attachments &&\n attachments.map(({ contentType, contentUrl, name, thumbnailUrl }) => ({\n contentType,\n contentUrl,\n name,\n thumbnailUrl\n })),\n text: activity.text\n }\n : activity.type === 'event'\n ? {\n name: activity.name,\n value: activity.value\n }\n : {})\n };\n\n if (!numActivitiesPosted) {\n outgoingActivity.entities = [\n ...(outgoingActivity.entities || []),\n {\n // TODO: [P4] Currently in v3, we send the capabilities although the client might not actually have them\n // We need to understand why we need to send these, and only send capabilities the client have\n requiresBotState: true,\n supportsListening: true,\n supportsTts: true,\n type: 'ClientCapabilities'\n }\n ];\n }\n\n const meta: { clientActivityID: string; method: string } = { clientActivityID, method };\n\n yield put({\n type: POST_ACTIVITY_PENDING,\n meta,\n payload: { activity: outgoingActivity }\n } as PostActivityPendingAction);\n\n let echoed: boolean | undefined;\n\n try {\n // Quirks: We might receive INCOMING_ACTIVITY before the postActivity call completed\n // So, we setup expectation first, then postActivity afterward\n\n const echoBackCall = call(function* () {\n for (;;) {\n const {\n payload: { activity }\n }: IncomingActivityAction = yield take(INCOMING_ACTIVITY);\n if (activity.channelData?.clientActivityID === clientActivityID && activity.id) {\n echoed = true;\n\n return activity;\n }\n }\n });\n\n // Timeout could be due to either:\n // - Post activity call may take too long time to complete\n // - Direct Line service only respond on HTTP after bot respond to Direct Line\n // - Activity may take too long time to echo back\n\n const sendTimeout: number = yield select(sendTimeoutSelector);\n\n const {\n send: { echoBack }\n }: { send: { echoBack: WebChatActivity } } = yield race({\n send: all({\n echoBack: echoBackCall,\n postActivity: observeOnce(directLine.postActivity(outgoingActivity as DirectLineActivity))\n }),\n timeout: call(function* () {\n yield call(sleep, sendTimeout, ponyfill);\n\n // The IMPEDED action is for backward compatibility by changing `channelData.state` to \"send failed\".\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n yield put({\n type: POST_ACTIVITY_IMPEDED,\n meta,\n payload: { activity: outgoingActivity }\n } as PostActivityImpededAction);\n\n yield call(sleep, HARD_SEND_TIMEOUT - sendTimeout, ponyfill);\n\n throw !echoed\n ? new Error('timed out while waiting for outgoing message to echo back')\n : new Error('timed out while waiting for postActivity to return any values');\n })\n });\n\n yield put({ type: POST_ACTIVITY_FULFILLED, meta, payload: { activity: echoBack } } as PostActivityFulfilledAction);\n } catch (err) {\n console.error('botframework-webchat: Failed to post activity to chat adapter.', err);\n\n yield put({\n type: POST_ACTIVITY_REJECTED,\n error: true,\n meta,\n payload: err\n } as PostActivityRejectedAction);\n } finally {\n if (yield cancelled()) {\n yield put({\n type: POST_ACTIVITY_REJECTED,\n error: true,\n meta,\n payload: new Error('cancelled')\n } as PostActivityRejectedAction);\n }\n }\n}\n\nexport default function* postActivitySaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(function* postActivityWhileConnected({\n directLine,\n userID,\n username\n }: {\n directLine: DirectLineJSBotConnection;\n userID: string;\n username: string;\n }) {\n let numActivitiesPosted = 0;\n\n yield takeEvery(POST_ACTIVITY, function* postActivityWrapper(action: PostActivityAction) {\n yield* postActivity(directLine, userID, username, numActivitiesPosted++, action, ponyfill);\n });\n });\n}\n","/* eslint no-magic-numbers: [\"off\", { \"ignore\": [1, 2, 3, 60] }] */\n\nfunction pad(value: number, count = 2): string {\n if (typeof value !== 'number') {\n throw new Error('First argument must be a number');\n }\n\n let stringValue = value + '';\n\n while (stringValue.length < count) {\n stringValue = '0' + stringValue;\n }\n\n return stringValue;\n}\n\n// Adopted from https://stackoverflow.com/questions/17415579/how-to-iso-8601-format-a-date-with-timezone-offset-in-javascript.\n// Use typing of `Date` from globalThis.\n// eslint-disable-next-line no-restricted-globals\nexport default function dateToLocaleISOString(date: Date): string {\n const isDateLike =\n // @ts-ignore TypeScript think this is always true.\n date.getTimezoneOffset &&\n // @ts-ignore TypeScript think this is always true.\n date.getFullYear &&\n // @ts-ignore TypeScript think this is always true.\n date.getMonth &&\n // @ts-ignore TypeScript think this is always true.\n date.getDate &&\n // @ts-ignore TypeScript think this is always true.\n date.getHours &&\n // @ts-ignore TypeScript think this is always true.\n date.getMinutes &&\n // @ts-ignore TypeScript think this is always true.\n date.getSeconds &&\n date.getMilliseconds;\n\n if (!isDateLike) {\n throw new Error('First argument must be a Date-like object.');\n }\n\n const timezoneOffset = -date.getTimezoneOffset();\n const timezoneSign = timezoneOffset < 0 ? '-' : '+';\n\n // \"yyyy-MM-DDTHH:mm:ss.fff+08:00\" for GMT+08\n // \"yyyy-MM-DDTHH:mm:ss.fffZ\" for UTC\n\n return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(\n date.getMinutes()\n )}:${pad(date.getSeconds())}.${pad(date.getMilliseconds(), 3)}${\n timezoneOffset ? `${timezoneSign}${pad(~~(Math.abs(timezoneOffset) / 60))}:${pad(timezoneOffset % 60)}` : 'Z'\n }`;\n}\n","import isForbiddenPropertyName from './isForbiddenPropertyName';\n\nexport default function deleteKey<TMap, TKey extends keyof TMap>(map: TMap, ...keys: TKey[]): Omit<TMap, TKey> {\n if (!map) {\n return map;\n }\n\n const nextMap = { ...map };\n\n for (const key of keys) {\n if (typeof key !== 'string' || !isForbiddenPropertyName(key)) {\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n delete nextMap[key];\n }\n }\n\n return nextMap;\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ language }: ReduxState): string => language;\n","import { call } from 'redux-saga/effects';\n\nimport { Observable, Observer, Subscription } from '../../types/external/Observable';\n\nexport default function observeOnceEffect<T>(observable: Observable<T>) {\n return call(function* observeOnce() {\n let subscription: Subscription;\n\n try {\n return yield call(\n () =>\n new Promise<T>((resolve, reject) => {\n subscription = observable.subscribe({\n complete: resolve,\n error: reject,\n next: resolve\n } as Observer<T>);\n })\n );\n } finally {\n subscription && subscription.unsubscribe();\n }\n });\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTimeout }: ReduxState): number => sendTimeout;\n","import { call, cancelled, fork, put, race, select, take } from 'redux-saga/effects';\n\nimport { QUEUE_INCOMING_ACTIVITY } from '../actions/queueIncomingActivity';\nimport activitiesSelector, { ofType as activitiesOfType } from '../selectors/activities';\nimport activityFromBot from '../definitions/activityFromBot';\nimport incomingActivity, { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n// We will hold up the replying activity if the originating activity did not arrive, up to 5 seconds.\nconst REPLY_TIMEOUT = 5000;\n\nfunction* takeEveryAndSelect(actionType, selector, fn) {\n // select() will free up the code execution.\n // If we pair up with takeEvery(), it will allow actions to slip through.\n // Thus, we are writing one that don't use takeEvery().\n while (!(yield cancelled())) {\n const action = yield take(actionType);\n const state = yield select(selector);\n\n yield fork(fn, action, state);\n }\n}\n\n// Wait for specific activity to arrive in the transcript.\n// We will use the initial set of activities to close time gaps between select() and take().\n// If another activity with the same \"replyToId\" is already rendered (in the \"activities\" array),\n// we will skip the wait as we already waited long enough for the missing activity to show up.\nfunction* waitForActivityId(replyToId, initialActivities) {\n let activities = initialActivities;\n\n for (;;) {\n const replied = activities.find(activity => activity.id === replyToId || activity.replyToId === replyToId);\n\n if (replied) {\n break;\n }\n\n const {\n payload: { activity }\n } = yield take(INCOMING_ACTIVITY);\n\n if (activity.id === replyToId) {\n break;\n }\n\n activities = yield select(activitiesSelector);\n }\n}\n\nfunction* queueIncomingActivity({ userID }: { userID: string }, ponyfill: GlobalScopePonyfill) {\n yield takeEveryAndSelect(\n QUEUE_INCOMING_ACTIVITY,\n activitiesSelector,\n function* queueIncomingActivity({ payload: { activity } }, initialActivities) {\n // This is for resolving an accessibility issue.\n // If the incoming activity has \"replyToId\" field, hold on it until the activity replied to is in the transcript, then release this one.\n const { replyToId } = activity;\n const initialBotActivities = initialActivities.filter(({ from: { role } }) => role === 'bot');\n\n // To speed up the first activity render time, we do not delay the first activity from the bot.\n // Even if it is the first activity from the bot, the bot might be \"replying\" to the \"conversationUpdate\" event.\n // Thus, the \"replyToId\" will always be there even it is the first activity in the conversation.\n if (replyToId && initialBotActivities.length) {\n // Either the activity replied to is in the transcript or after timeout.\n const result = yield race({\n _: waitForActivityId(replyToId, initialActivities),\n timeout: call(sleep, REPLY_TIMEOUT, ponyfill)\n });\n\n if ('timeout' in result) {\n console.warn(\n `botframework-webchat: Timed out while waiting for activity \"${replyToId}\" which activity \"${activity.id}\" is replying to.`,\n {\n activity,\n replyToId\n }\n );\n }\n }\n\n yield put(incomingActivity(activity));\n\n // Update suggested actions\n // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched.\n const messageActivities = yield select(activitiesOfType('message'));\n const lastMessageActivity = messageActivities[messageActivities.length - 1];\n\n if (activityFromBot(lastMessageActivity)) {\n const { suggestedActions: { actions, to } = { actions: undefined, to: undefined } } = lastMessageActivity;\n\n // If suggested actions is not destined to anyone, or is destined to the user, show it.\n // In other words, if suggested actions is destined to someone else, don't show it.\n yield put(setSuggestedActions(to?.length && !to.includes(userID) ? null : actions));\n }\n }\n );\n}\n\nexport default function* queueIncomingActivitySaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(queueIncomingActivity, ponyfill);\n}\n","export default activity => activity && activity.from.role === 'bot';\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { SEND_EVENT } from '../actions/sendEvent';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithEvent({ payload: { name, value } }) {\n yield put(\n postActivity({\n name,\n type: 'event',\n value\n })\n );\n}\n\nfunction* sendEventToPostActivity() {\n yield takeEvery(({ payload, type }) => type === SEND_EVENT && payload.name, postActivityWithEvent);\n}\n\nexport default function* sendEventToPostActivitySaga() {\n yield whileConnected(sendEventToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\nimport mime from 'mime';\n\nimport { SEND_FILES } from '../actions/sendFiles';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nconst getType = mime.getType.bind(mime);\n\nfunction* postActivityWithFiles({ payload: { files } }) {\n yield put(\n postActivity({\n attachments: [].map.call(files, ({ name, thumbnail, url }) => ({\n contentType: getType(name) || 'application/octet-stream',\n contentUrl: url,\n name,\n thumbnailUrl: thumbnail\n })),\n channelData: {\n attachmentSizes: [].map.call(files, ({ size }) => size)\n },\n type: 'message'\n })\n );\n}\n\nfunction* sendFilesToPostActivity() {\n yield takeEvery(({ payload, type }) => type === SEND_FILES && payload.files.length, postActivityWithFiles);\n}\n\nexport default function* sendFilesToPostActivitySaga() {\n yield whileConnected(sendFilesToPostActivity);\n}\n","'use strict';\n\nlet Mime = require('./Mime');\nmodule.exports = new Mime(require('./types/standard'), require('./types/other'));\n","'use strict';\n\n/**\n * @param typeMap [Object] Map of MIME type -> Array[extensions]\n * @param ...\n */\nfunction Mime() {\n this._types = Object.create(null);\n this._extensions = Object.create(null);\n\n for (let i = 0; i < arguments.length; i++) {\n this.define(arguments[i]);\n }\n\n this.define = this.define.bind(this);\n this.getType = this.getType.bind(this);\n this.getExtension = this.getExtension.bind(this);\n}\n\n/**\n * Define mimetype -> extension mappings. Each key is a mime-type that maps\n * to an array of extensions associated with the type. The first extension is\n * used as the default extension for the type.\n *\n * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});\n *\n * If a type declares an extension that has already been defined, an error will\n * be thrown. To suppress this error and force the extension to be associated\n * with the new type, pass `force`=true. Alternatively, you may prefix the\n * extension with \"*\" to map the type to extension, without mapping the\n * extension to the type.\n *\n * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']});\n *\n *\n * @param map (Object) type definitions\n * @param force (Boolean) if true, force overriding of existing definitions\n */\nMime.prototype.define = function(typeMap, force) {\n for (let type in typeMap) {\n let extensions = typeMap[type].map(function(t) {\n return t.toLowerCase();\n });\n type = type.toLowerCase();\n\n for (let i = 0; i < extensions.length; i++) {\n const ext = extensions[i];\n\n // '*' prefix = not the preferred type for this extension. So fixup the\n // extension, and skip it.\n if (ext[0] === '*') {\n continue;\n }\n\n if (!force && (ext in this._types)) {\n throw new Error(\n 'Attempt to change mapping for \"' + ext +\n '\" extension from \"' + this._types[ext] + '\" to \"' + type +\n '\". Pass `force=true` to allow this, otherwise remove \"' + ext +\n '\" from the list of extensions for \"' + type + '\".'\n );\n }\n\n this._types[ext] = type;\n }\n\n // Use first extension as default\n if (force || !this._extensions[type]) {\n const ext = extensions[0];\n this._extensions[type] = (ext[0] !== '*') ? ext : ext.substr(1);\n }\n }\n};\n\n/**\n * Lookup a mime type based on extension\n */\nMime.prototype.getType = function(path) {\n path = String(path);\n let last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n let ext = last.replace(/^.*\\./, '').toLowerCase();\n\n let hasPath = last.length < path.length;\n let hasDot = ext.length < last.length - 1;\n\n return (hasDot || !hasPath) && this._types[ext] || null;\n};\n\n/**\n * Return file extension associated with a mime type\n */\nMime.prototype.getExtension = function(type) {\n type = /^\\s*([^;\\s]*)/.test(type) && RegExp.$1;\n return type && this._extensions[type.toLowerCase()] || null;\n};\n\nmodule.exports = Mime;\n","module.exports = {\"application/andrew-inset\":[\"ez\"],\"application/applixware\":[\"aw\"],\"application/atom+xml\":[\"atom\"],\"application/atomcat+xml\":[\"atomcat\"],\"application/atomdeleted+xml\":[\"atomdeleted\"],\"application/atomsvc+xml\":[\"atomsvc\"],\"application/atsc-dwd+xml\":[\"dwd\"],\"application/atsc-held+xml\":[\"held\"],\"application/atsc-rsat+xml\":[\"rsat\"],\"application/bdoc\":[\"bdoc\"],\"application/calendar+xml\":[\"xcs\"],\"application/ccxml+xml\":[\"ccxml\"],\"application/cdfx+xml\":[\"cdfx\"],\"application/cdmi-capability\":[\"cdmia\"],\"application/cdmi-container\":[\"cdmic\"],\"application/cdmi-domain\":[\"cdmid\"],\"application/cdmi-object\":[\"cdmio\"],\"application/cdmi-queue\":[\"cdmiq\"],\"application/cu-seeme\":[\"cu\"],\"application/dash+xml\":[\"mpd\"],\"application/davmount+xml\":[\"davmount\"],\"application/docbook+xml\":[\"dbk\"],\"application/dssc+der\":[\"dssc\"],\"application/dssc+xml\":[\"xdssc\"],\"application/ecmascript\":[\"es\",\"ecma\"],\"application/emma+xml\":[\"emma\"],\"application/emotionml+xml\":[\"emotionml\"],\"application/epub+zip\":[\"epub\"],\"application/exi\":[\"exi\"],\"application/express\":[\"exp\"],\"application/fdt+xml\":[\"fdt\"],\"application/font-tdpfr\":[\"pfr\"],\"application/geo+json\":[\"geojson\"],\"application/gml+xml\":[\"gml\"],\"application/gpx+xml\":[\"gpx\"],\"application/gxf\":[\"gxf\"],\"application/gzip\":[\"gz\"],\"application/hjson\":[\"hjson\"],\"application/hyperstudio\":[\"stk\"],\"application/inkml+xml\":[\"ink\",\"inkml\"],\"application/ipfix\":[\"ipfix\"],\"application/its+xml\":[\"its\"],\"application/java-archive\":[\"jar\",\"war\",\"ear\"],\"application/java-serialized-object\":[\"ser\"],\"application/java-vm\":[\"class\"],\"application/javascript\":[\"js\",\"mjs\"],\"application/json\":[\"json\",\"map\"],\"application/json5\":[\"json5\"],\"application/jsonml+json\":[\"jsonml\"],\"application/ld+json\":[\"jsonld\"],\"application/lgr+xml\":[\"lgr\"],\"application/lost+xml\":[\"lostxml\"],\"application/mac-binhex40\":[\"hqx\"],\"application/mac-compactpro\":[\"cpt\"],\"application/mads+xml\":[\"mads\"],\"application/manifest+json\":[\"webmanifest\"],\"application/marc\":[\"mrc\"],\"application/marcxml+xml\":[\"mrcx\"],\"application/mathematica\":[\"ma\",\"nb\",\"mb\"],\"application/mathml+xml\":[\"mathml\"],\"application/mbox\":[\"mbox\"],\"application/mediaservercontrol+xml\":[\"mscml\"],\"application/metalink+xml\":[\"metalink\"],\"application/metalink4+xml\":[\"meta4\"],\"application/mets+xml\":[\"mets\"],\"application/mmt-aei+xml\":[\"maei\"],\"application/mmt-usd+xml\":[\"musd\"],\"application/mods+xml\":[\"mods\"],\"application/mp21\":[\"m21\",\"mp21\"],\"application/mp4\":[\"mp4s\",\"m4p\"],\"application/msword\":[\"doc\",\"dot\"],\"application/mxf\":[\"mxf\"],\"application/n-quads\":[\"nq\"],\"application/n-triples\":[\"nt\"],\"application/node\":[\"cjs\"],\"application/octet-stream\":[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"],\"application/oda\":[\"oda\"],\"application/oebps-package+xml\":[\"opf\"],\"application/ogg\":[\"ogx\"],\"application/omdoc+xml\":[\"omdoc\"],\"application/onenote\":[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"],\"application/oxps\":[\"oxps\"],\"application/p2p-overlay+xml\":[\"relo\"],\"application/patch-ops-error+xml\":[\"xer\"],\"application/pdf\":[\"pdf\"],\"application/pgp-encrypted\":[\"pgp\"],\"application/pgp-signature\":[\"asc\",\"sig\"],\"application/pics-rules\":[\"prf\"],\"application/pkcs10\":[\"p10\"],\"application/pkcs7-mime\":[\"p7m\",\"p7c\"],\"application/pkcs7-signature\":[\"p7s\"],\"application/pkcs8\":[\"p8\"],\"application/pkix-attr-cert\":[\"ac\"],\"application/pkix-cert\":[\"cer\"],\"application/pkix-crl\":[\"crl\"],\"application/pkix-pkipath\":[\"pkipath\"],\"application/pkixcmp\":[\"pki\"],\"application/pls+xml\":[\"pls\"],\"application/postscript\":[\"ai\",\"eps\",\"ps\"],\"application/provenance+xml\":[\"provx\"],\"application/pskc+xml\":[\"pskcxml\"],\"application/raml+yaml\":[\"raml\"],\"application/rdf+xml\":[\"rdf\",\"owl\"],\"application/reginfo+xml\":[\"rif\"],\"application/relax-ng-compact-syntax\":[\"rnc\"],\"application/resource-lists+xml\":[\"rl\"],\"application/resource-lists-diff+xml\":[\"rld\"],\"application/rls-services+xml\":[\"rs\"],\"application/route-apd+xml\":[\"rapd\"],\"application/route-s-tsid+xml\":[\"sls\"],\"application/route-usd+xml\":[\"rusd\"],\"application/rpki-ghostbusters\":[\"gbr\"],\"application/rpki-manifest\":[\"mft\"],\"application/rpki-roa\":[\"roa\"],\"application/rsd+xml\":[\"rsd\"],\"application/rss+xml\":[\"rss\"],\"application/rtf\":[\"rtf\"],\"application/sbml+xml\":[\"sbml\"],\"application/scvp-cv-request\":[\"scq\"],\"application/scvp-cv-response\":[\"scs\"],\"application/scvp-vp-request\":[\"spq\"],\"application/scvp-vp-response\":[\"spp\"],\"application/sdp\":[\"sdp\"],\"application/senml+xml\":[\"senmlx\"],\"application/sensml+xml\":[\"sensmlx\"],\"application/set-payment-initiation\":[\"setpay\"],\"application/set-registration-initiation\":[\"setreg\"],\"application/shf+xml\":[\"shf\"],\"application/sieve\":[\"siv\",\"sieve\"],\"application/smil+xml\":[\"smi\",\"smil\"],\"application/sparql-query\":[\"rq\"],\"application/sparql-results+xml\":[\"srx\"],\"application/srgs\":[\"gram\"],\"application/srgs+xml\":[\"grxml\"],\"application/sru+xml\":[\"sru\"],\"application/ssdl+xml\":[\"ssdl\"],\"application/ssml+xml\":[\"ssml\"],\"application/swid+xml\":[\"swidtag\"],\"application/tei+xml\":[\"tei\",\"teicorpus\"],\"application/thraud+xml\":[\"tfi\"],\"application/timestamped-data\":[\"tsd\"],\"application/toml\":[\"toml\"],\"application/trig\":[\"trig\"],\"application/ttml+xml\":[\"ttml\"],\"application/ubjson\":[\"ubj\"],\"application/urc-ressheet+xml\":[\"rsheet\"],\"application/urc-targetdesc+xml\":[\"td\"],\"application/voicexml+xml\":[\"vxml\"],\"application/wasm\":[\"wasm\"],\"application/widget\":[\"wgt\"],\"application/winhlp\":[\"hlp\"],\"application/wsdl+xml\":[\"wsdl\"],\"application/wspolicy+xml\":[\"wspolicy\"],\"application/xaml+xml\":[\"xaml\"],\"application/xcap-att+xml\":[\"xav\"],\"application/xcap-caps+xml\":[\"xca\"],\"application/xcap-diff+xml\":[\"xdf\"],\"application/xcap-el+xml\":[\"xel\"],\"application/xcap-ns+xml\":[\"xns\"],\"application/xenc+xml\":[\"xenc\"],\"application/xhtml+xml\":[\"xhtml\",\"xht\"],\"application/xliff+xml\":[\"xlf\"],\"application/xml\":[\"xml\",\"xsl\",\"xsd\",\"rng\"],\"application/xml-dtd\":[\"dtd\"],\"application/xop+xml\":[\"xop\"],\"application/xproc+xml\":[\"xpl\"],\"application/xslt+xml\":[\"*xsl\",\"xslt\"],\"application/xspf+xml\":[\"xspf\"],\"application/xv+xml\":[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"],\"application/yang\":[\"yang\"],\"application/yin+xml\":[\"yin\"],\"application/zip\":[\"zip\"],\"audio/3gpp\":[\"*3gpp\"],\"audio/adpcm\":[\"adp\"],\"audio/amr\":[\"amr\"],\"audio/basic\":[\"au\",\"snd\"],\"audio/midi\":[\"mid\",\"midi\",\"kar\",\"rmi\"],\"audio/mobile-xmf\":[\"mxmf\"],\"audio/mp3\":[\"*mp3\"],\"audio/mp4\":[\"m4a\",\"mp4a\"],\"audio/mpeg\":[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"],\"audio/ogg\":[\"oga\",\"ogg\",\"spx\",\"opus\"],\"audio/s3m\":[\"s3m\"],\"audio/silk\":[\"sil\"],\"audio/wav\":[\"wav\"],\"audio/wave\":[\"*wav\"],\"audio/webm\":[\"weba\"],\"audio/xm\":[\"xm\"],\"font/collection\":[\"ttc\"],\"font/otf\":[\"otf\"],\"font/ttf\":[\"ttf\"],\"font/woff\":[\"woff\"],\"font/woff2\":[\"woff2\"],\"image/aces\":[\"exr\"],\"image/apng\":[\"apng\"],\"image/avif\":[\"avif\"],\"image/bmp\":[\"bmp\"],\"image/cgm\":[\"cgm\"],\"image/dicom-rle\":[\"drle\"],\"image/emf\":[\"emf\"],\"image/fits\":[\"fits\"],\"image/g3fax\":[\"g3\"],\"image/gif\":[\"gif\"],\"image/heic\":[\"heic\"],\"image/heic-sequence\":[\"heics\"],\"image/heif\":[\"heif\"],\"image/heif-sequence\":[\"heifs\"],\"image/hej2k\":[\"hej2\"],\"image/hsj2\":[\"hsj2\"],\"image/ief\":[\"ief\"],\"image/jls\":[\"jls\"],\"image/jp2\":[\"jp2\",\"jpg2\"],\"image/jpeg\":[\"jpeg\",\"jpg\",\"jpe\"],\"image/jph\":[\"jph\"],\"image/jphc\":[\"jhc\"],\"image/jpm\":[\"jpm\"],\"image/jpx\":[\"jpx\",\"jpf\"],\"image/jxr\":[\"jxr\"],\"image/jxra\":[\"jxra\"],\"image/jxrs\":[\"jxrs\"],\"image/jxs\":[\"jxs\"],\"image/jxsc\":[\"jxsc\"],\"image/jxsi\":[\"jxsi\"],\"image/jxss\":[\"jxss\"],\"image/ktx\":[\"ktx\"],\"image/ktx2\":[\"ktx2\"],\"image/png\":[\"png\"],\"image/sgi\":[\"sgi\"],\"image/svg+xml\":[\"svg\",\"svgz\"],\"image/t38\":[\"t38\"],\"image/tiff\":[\"tif\",\"tiff\"],\"image/tiff-fx\":[\"tfx\"],\"image/webp\":[\"webp\"],\"image/wmf\":[\"wmf\"],\"message/disposition-notification\":[\"disposition-notification\"],\"message/global\":[\"u8msg\"],\"message/global-delivery-status\":[\"u8dsn\"],\"message/global-disposition-notification\":[\"u8mdn\"],\"message/global-headers\":[\"u8hdr\"],\"message/rfc822\":[\"eml\",\"mime\"],\"model/3mf\":[\"3mf\"],\"model/gltf+json\":[\"gltf\"],\"model/gltf-binary\":[\"glb\"],\"model/iges\":[\"igs\",\"iges\"],\"model/mesh\":[\"msh\",\"mesh\",\"silo\"],\"model/mtl\":[\"mtl\"],\"model/obj\":[\"obj\"],\"model/step+xml\":[\"stpx\"],\"model/step+zip\":[\"stpz\"],\"model/step-xml+zip\":[\"stpxz\"],\"model/stl\":[\"stl\"],\"model/vrml\":[\"wrl\",\"vrml\"],\"model/x3d+binary\":[\"*x3db\",\"x3dbz\"],\"model/x3d+fastinfoset\":[\"x3db\"],\"model/x3d+vrml\":[\"*x3dv\",\"x3dvz\"],\"model/x3d+xml\":[\"x3d\",\"x3dz\"],\"model/x3d-vrml\":[\"x3dv\"],\"text/cache-manifest\":[\"appcache\",\"manifest\"],\"text/calendar\":[\"ics\",\"ifb\"],\"text/coffeescript\":[\"coffee\",\"litcoffee\"],\"text/css\":[\"css\"],\"text/csv\":[\"csv\"],\"text/html\":[\"html\",\"htm\",\"shtml\"],\"text/jade\":[\"jade\"],\"text/jsx\":[\"jsx\"],\"text/less\":[\"less\"],\"text/markdown\":[\"markdown\",\"md\"],\"text/mathml\":[\"mml\"],\"text/mdx\":[\"mdx\"],\"text/n3\":[\"n3\"],\"text/plain\":[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"],\"text/richtext\":[\"rtx\"],\"text/rtf\":[\"*rtf\"],\"text/sgml\":[\"sgml\",\"sgm\"],\"text/shex\":[\"shex\"],\"text/slim\":[\"slim\",\"slm\"],\"text/spdx\":[\"spdx\"],\"text/stylus\":[\"stylus\",\"styl\"],\"text/tab-separated-values\":[\"tsv\"],\"text/troff\":[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"],\"text/turtle\":[\"ttl\"],\"text/uri-list\":[\"uri\",\"uris\",\"urls\"],\"text/vcard\":[\"vcard\"],\"text/vtt\":[\"vtt\"],\"text/xml\":[\"*xml\"],\"text/yaml\":[\"yaml\",\"yml\"],\"video/3gpp\":[\"3gp\",\"3gpp\"],\"video/3gpp2\":[\"3g2\"],\"video/h261\":[\"h261\"],\"video/h263\":[\"h263\"],\"video/h264\":[\"h264\"],\"video/iso.segment\":[\"m4s\"],\"video/jpeg\":[\"jpgv\"],\"video/jpm\":[\"*jpm\",\"jpgm\"],\"video/mj2\":[\"mj2\",\"mjp2\"],\"video/mp2t\":[\"ts\"],\"video/mp4\":[\"mp4\",\"mp4v\",\"mpg4\"],\"video/mpeg\":[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"],\"video/ogg\":[\"ogv\"],\"video/quicktime\":[\"qt\",\"mov\"],\"video/webm\":[\"webm\"]};","module.exports = {\"application/prs.cww\":[\"cww\"],\"application/vnd.1000minds.decision-model+xml\":[\"1km\"],\"application/vnd.3gpp.pic-bw-large\":[\"plb\"],\"application/vnd.3gpp.pic-bw-small\":[\"psb\"],\"application/vnd.3gpp.pic-bw-var\":[\"pvb\"],\"application/vnd.3gpp2.tcap\":[\"tcap\"],\"application/vnd.3m.post-it-notes\":[\"pwn\"],\"application/vnd.accpac.simply.aso\":[\"aso\"],\"application/vnd.accpac.simply.imp\":[\"imp\"],\"application/vnd.acucobol\":[\"acu\"],\"application/vnd.acucorp\":[\"atc\",\"acutc\"],\"application/vnd.adobe.air-application-installer-package+zip\":[\"air\"],\"application/vnd.adobe.formscentral.fcdt\":[\"fcdt\"],\"application/vnd.adobe.fxp\":[\"fxp\",\"fxpl\"],\"application/vnd.adobe.xdp+xml\":[\"xdp\"],\"application/vnd.adobe.xfdf\":[\"xfdf\"],\"application/vnd.ahead.space\":[\"ahead\"],\"application/vnd.airzip.filesecure.azf\":[\"azf\"],\"application/vnd.airzip.filesecure.azs\":[\"azs\"],\"application/vnd.amazon.ebook\":[\"azw\"],\"application/vnd.americandynamics.acc\":[\"acc\"],\"application/vnd.amiga.ami\":[\"ami\"],\"application/vnd.android.package-archive\":[\"apk\"],\"application/vnd.anser-web-certificate-issue-initiation\":[\"cii\"],\"application/vnd.anser-web-funds-transfer-initiation\":[\"fti\"],\"application/vnd.antix.game-component\":[\"atx\"],\"application/vnd.apple.installer+xml\":[\"mpkg\"],\"application/vnd.apple.keynote\":[\"key\"],\"application/vnd.apple.mpegurl\":[\"m3u8\"],\"application/vnd.apple.numbers\":[\"numbers\"],\"application/vnd.apple.pages\":[\"pages\"],\"application/vnd.apple.pkpass\":[\"pkpass\"],\"application/vnd.aristanetworks.swi\":[\"swi\"],\"application/vnd.astraea-software.iota\":[\"iota\"],\"application/vnd.audiograph\":[\"aep\"],\"application/vnd.balsamiq.bmml+xml\":[\"bmml\"],\"application/vnd.blueice.multipass\":[\"mpm\"],\"application/vnd.bmi\":[\"bmi\"],\"application/vnd.businessobjects\":[\"rep\"],\"application/vnd.chemdraw+xml\":[\"cdxml\"],\"application/vnd.chipnuts.karaoke-mmd\":[\"mmd\"],\"application/vnd.cinderella\":[\"cdy\"],\"application/vnd.citationstyles.style+xml\":[\"csl\"],\"application/vnd.claymore\":[\"cla\"],\"application/vnd.cloanto.rp9\":[\"rp9\"],\"application/vnd.clonk.c4group\":[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"],\"application/vnd.cluetrust.cartomobile-config\":[\"c11amc\"],\"application/vnd.cluetrust.cartomobile-config-pkg\":[\"c11amz\"],\"application/vnd.commonspace\":[\"csp\"],\"application/vnd.contact.cmsg\":[\"cdbcmsg\"],\"application/vnd.cosmocaller\":[\"cmc\"],\"application/vnd.crick.clicker\":[\"clkx\"],\"application/vnd.crick.clicker.keyboard\":[\"clkk\"],\"application/vnd.crick.clicker.palette\":[\"clkp\"],\"application/vnd.crick.clicker.template\":[\"clkt\"],\"application/vnd.crick.clicker.wordbank\":[\"clkw\"],\"application/vnd.criticaltools.wbs+xml\":[\"wbs\"],\"application/vnd.ctc-posml\":[\"pml\"],\"application/vnd.cups-ppd\":[\"ppd\"],\"application/vnd.curl.car\":[\"car\"],\"application/vnd.curl.pcurl\":[\"pcurl\"],\"application/vnd.dart\":[\"dart\"],\"application/vnd.data-vision.rdz\":[\"rdz\"],\"application/vnd.dbf\":[\"dbf\"],\"application/vnd.dece.data\":[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"],\"application/vnd.dece.ttml+xml\":[\"uvt\",\"uvvt\"],\"application/vnd.dece.unspecified\":[\"uvx\",\"uvvx\"],\"application/vnd.dece.zip\":[\"uvz\",\"uvvz\"],\"application/vnd.denovo.fcselayout-link\":[\"fe_launch\"],\"application/vnd.dna\":[\"dna\"],\"application/vnd.dolby.mlp\":[\"mlp\"],\"application/vnd.dpgraph\":[\"dpg\"],\"application/vnd.dreamfactory\":[\"dfac\"],\"application/vnd.ds-keypoint\":[\"kpxx\"],\"application/vnd.dvb.ait\":[\"ait\"],\"application/vnd.dvb.service\":[\"svc\"],\"application/vnd.dynageo\":[\"geo\"],\"application/vnd.ecowin.chart\":[\"mag\"],\"application/vnd.enliven\":[\"nml\"],\"application/vnd.epson.esf\":[\"esf\"],\"application/vnd.epson.msf\":[\"msf\"],\"application/vnd.epson.quickanime\":[\"qam\"],\"application/vnd.epson.salt\":[\"slt\"],\"application/vnd.epson.ssf\":[\"ssf\"],\"application/vnd.eszigno3+xml\":[\"es3\",\"et3\"],\"application/vnd.ezpix-album\":[\"ez2\"],\"application/vnd.ezpix-package\":[\"ez3\"],\"application/vnd.fdf\":[\"fdf\"],\"application/vnd.fdsn.mseed\":[\"mseed\"],\"application/vnd.fdsn.seed\":[\"seed\",\"dataless\"],\"application/vnd.flographit\":[\"gph\"],\"application/vnd.fluxtime.clip\":[\"ftc\"],\"application/vnd.framemaker\":[\"fm\",\"frame\",\"maker\",\"book\"],\"application/vnd.frogans.fnc\":[\"fnc\"],\"application/vnd.frogans.ltf\":[\"ltf\"],\"application/vnd.fsc.weblaunch\":[\"fsc\"],\"application/vnd.fujitsu.oasys\":[\"oas\"],\"application/vnd.fujitsu.oasys2\":[\"oa2\"],\"application/vnd.fujitsu.oasys3\":[\"oa3\"],\"application/vnd.fujitsu.oasysgp\":[\"fg5\"],\"application/vnd.fujitsu.oasysprs\":[\"bh2\"],\"application/vnd.fujixerox.ddd\":[\"ddd\"],\"application/vnd.fujixerox.docuworks\":[\"xdw\"],\"application/vnd.fujixerox.docuworks.binder\":[\"xbd\"],\"application/vnd.fuzzysheet\":[\"fzs\"],\"application/vnd.genomatix.tuxedo\":[\"txd\"],\"application/vnd.geogebra.file\":[\"ggb\"],\"application/vnd.geogebra.tool\":[\"ggt\"],\"application/vnd.geometry-explorer\":[\"gex\",\"gre\"],\"application/vnd.geonext\":[\"gxt\"],\"application/vnd.geoplan\":[\"g2w\"],\"application/vnd.geospace\":[\"g3w\"],\"application/vnd.gmx\":[\"gmx\"],\"application/vnd.google-apps.document\":[\"gdoc\"],\"application/vnd.google-apps.presentation\":[\"gslides\"],\"application/vnd.google-apps.spreadsheet\":[\"gsheet\"],\"application/vnd.google-earth.kml+xml\":[\"kml\"],\"application/vnd.google-earth.kmz\":[\"kmz\"],\"application/vnd.grafeq\":[\"gqf\",\"gqs\"],\"application/vnd.groove-account\":[\"gac\"],\"application/vnd.groove-help\":[\"ghf\"],\"application/vnd.groove-identity-message\":[\"gim\"],\"application/vnd.groove-injector\":[\"grv\"],\"application/vnd.groove-tool-message\":[\"gtm\"],\"application/vnd.groove-tool-template\":[\"tpl\"],\"application/vnd.groove-vcard\":[\"vcg\"],\"application/vnd.hal+xml\":[\"hal\"],\"application/vnd.handheld-entertainment+xml\":[\"zmm\"],\"application/vnd.hbci\":[\"hbci\"],\"application/vnd.hhe.lesson-player\":[\"les\"],\"application/vnd.hp-hpgl\":[\"hpgl\"],\"application/vnd.hp-hpid\":[\"hpid\"],\"application/vnd.hp-hps\":[\"hps\"],\"application/vnd.hp-jlyt\":[\"jlt\"],\"application/vnd.hp-pcl\":[\"pcl\"],\"application/vnd.hp-pclxl\":[\"pclxl\"],\"application/vnd.hydrostatix.sof-data\":[\"sfd-hdstx\"],\"application/vnd.ibm.minipay\":[\"mpy\"],\"application/vnd.ibm.modcap\":[\"afp\",\"listafp\",\"list3820\"],\"application/vnd.ibm.rights-management\":[\"irm\"],\"application/vnd.ibm.secure-container\":[\"sc\"],\"application/vnd.iccprofile\":[\"icc\",\"icm\"],\"application/vnd.igloader\":[\"igl\"],\"application/vnd.immervision-ivp\":[\"ivp\"],\"application/vnd.immervision-ivu\":[\"ivu\"],\"application/vnd.insors.igm\":[\"igm\"],\"application/vnd.intercon.formnet\":[\"xpw\",\"xpx\"],\"application/vnd.intergeo\":[\"i2g\"],\"application/vnd.intu.qbo\":[\"qbo\"],\"application/vnd.intu.qfx\":[\"qfx\"],\"application/vnd.ipunplugged.rcprofile\":[\"rcprofile\"],\"application/vnd.irepository.package+xml\":[\"irp\"],\"application/vnd.is-xpr\":[\"xpr\"],\"application/vnd.isac.fcs\":[\"fcs\"],\"application/vnd.jam\":[\"jam\"],\"application/vnd.jcp.javame.midlet-rms\":[\"rms\"],\"application/vnd.jisp\":[\"jisp\"],\"application/vnd.joost.joda-archive\":[\"joda\"],\"application/vnd.kahootz\":[\"ktz\",\"ktr\"],\"application/vnd.kde.karbon\":[\"karbon\"],\"application/vnd.kde.kchart\":[\"chrt\"],\"application/vnd.kde.kformula\":[\"kfo\"],\"application/vnd.kde.kivio\":[\"flw\"],\"application/vnd.kde.kontour\":[\"kon\"],\"application/vnd.kde.kpresenter\":[\"kpr\",\"kpt\"],\"application/vnd.kde.kspread\":[\"ksp\"],\"application/vnd.kde.kword\":[\"kwd\",\"kwt\"],\"application/vnd.kenameaapp\":[\"htke\"],\"application/vnd.kidspiration\":[\"kia\"],\"application/vnd.kinar\":[\"kne\",\"knp\"],\"application/vnd.koan\":[\"skp\",\"skd\",\"skt\",\"skm\"],\"application/vnd.kodak-descriptor\":[\"sse\"],\"application/vnd.las.las+xml\":[\"lasxml\"],\"application/vnd.llamagraphics.life-balance.desktop\":[\"lbd\"],\"application/vnd.llamagraphics.life-balance.exchange+xml\":[\"lbe\"],\"application/vnd.lotus-1-2-3\":[\"123\"],\"application/vnd.lotus-approach\":[\"apr\"],\"application/vnd.lotus-freelance\":[\"pre\"],\"application/vnd.lotus-notes\":[\"nsf\"],\"application/vnd.lotus-organizer\":[\"org\"],\"application/vnd.lotus-screencam\":[\"scm\"],\"application/vnd.lotus-wordpro\":[\"lwp\"],\"application/vnd.macports.portpkg\":[\"portpkg\"],\"application/vnd.mapbox-vector-tile\":[\"mvt\"],\"application/vnd.mcd\":[\"mcd\"],\"application/vnd.medcalcdata\":[\"mc1\"],\"application/vnd.mediastation.cdkey\":[\"cdkey\"],\"application/vnd.mfer\":[\"mwf\"],\"application/vnd.mfmp\":[\"mfm\"],\"application/vnd.micrografx.flo\":[\"flo\"],\"application/vnd.micrografx.igx\":[\"igx\"],\"application/vnd.mif\":[\"mif\"],\"application/vnd.mobius.daf\":[\"daf\"],\"application/vnd.mobius.dis\":[\"dis\"],\"application/vnd.mobius.mbk\":[\"mbk\"],\"application/vnd.mobius.mqy\":[\"mqy\"],\"application/vnd.mobius.msl\":[\"msl\"],\"application/vnd.mobius.plc\":[\"plc\"],\"application/vnd.mobius.txf\":[\"txf\"],\"application/vnd.mophun.application\":[\"mpn\"],\"application/vnd.mophun.certificate\":[\"mpc\"],\"application/vnd.mozilla.xul+xml\":[\"xul\"],\"application/vnd.ms-artgalry\":[\"cil\"],\"application/vnd.ms-cab-compressed\":[\"cab\"],\"application/vnd.ms-excel\":[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"],\"application/vnd.ms-excel.addin.macroenabled.12\":[\"xlam\"],\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":[\"xlsb\"],\"application/vnd.ms-excel.sheet.macroenabled.12\":[\"xlsm\"],\"application/vnd.ms-excel.template.macroenabled.12\":[\"xltm\"],\"application/vnd.ms-fontobject\":[\"eot\"],\"application/vnd.ms-htmlhelp\":[\"chm\"],\"application/vnd.ms-ims\":[\"ims\"],\"application/vnd.ms-lrm\":[\"lrm\"],\"application/vnd.ms-officetheme\":[\"thmx\"],\"application/vnd.ms-outlook\":[\"msg\"],\"application/vnd.ms-pki.seccat\":[\"cat\"],\"application/vnd.ms-pki.stl\":[\"*stl\"],\"application/vnd.ms-powerpoint\":[\"ppt\",\"pps\",\"pot\"],\"application/vnd.ms-powerpoint.addin.macroenabled.12\":[\"ppam\"],\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":[\"pptm\"],\"application/vnd.ms-powerpoint.slide.macroenabled.12\":[\"sldm\"],\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":[\"ppsm\"],\"application/vnd.ms-powerpoint.template.macroenabled.12\":[\"potm\"],\"application/vnd.ms-project\":[\"mpp\",\"mpt\"],\"application/vnd.ms-word.document.macroenabled.12\":[\"docm\"],\"application/vnd.ms-word.template.macroenabled.12\":[\"dotm\"],\"application/vnd.ms-works\":[\"wps\",\"wks\",\"wcm\",\"wdb\"],\"application/vnd.ms-wpl\":[\"wpl\"],\"application/vnd.ms-xpsdocument\":[\"xps\"],\"application/vnd.mseq\":[\"mseq\"],\"application/vnd.musician\":[\"mus\"],\"application/vnd.muvee.style\":[\"msty\"],\"application/vnd.mynfc\":[\"taglet\"],\"application/vnd.neurolanguage.nlu\":[\"nlu\"],\"application/vnd.nitf\":[\"ntf\",\"nitf\"],\"application/vnd.noblenet-directory\":[\"nnd\"],\"application/vnd.noblenet-sealer\":[\"nns\"],\"application/vnd.noblenet-web\":[\"nnw\"],\"application/vnd.nokia.n-gage.ac+xml\":[\"*ac\"],\"application/vnd.nokia.n-gage.data\":[\"ngdat\"],\"application/vnd.nokia.n-gage.symbian.install\":[\"n-gage\"],\"application/vnd.nokia.radio-preset\":[\"rpst\"],\"application/vnd.nokia.radio-presets\":[\"rpss\"],\"application/vnd.novadigm.edm\":[\"edm\"],\"application/vnd.novadigm.edx\":[\"edx\"],\"application/vnd.novadigm.ext\":[\"ext\"],\"application/vnd.oasis.opendocument.chart\":[\"odc\"],\"application/vnd.oasis.opendocument.chart-template\":[\"otc\"],\"application/vnd.oasis.opendocument.database\":[\"odb\"],\"application/vnd.oasis.opendocument.formula\":[\"odf\"],\"application/vnd.oasis.opendocument.formula-template\":[\"odft\"],\"application/vnd.oasis.opendocument.graphics\":[\"odg\"],\"application/vnd.oasis.opendocument.graphics-template\":[\"otg\"],\"application/vnd.oasis.opendocument.image\":[\"odi\"],\"application/vnd.oasis.opendocument.image-template\":[\"oti\"],\"application/vnd.oasis.opendocument.presentation\":[\"odp\"],\"application/vnd.oasis.opendocument.presentation-template\":[\"otp\"],\"application/vnd.oasis.opendocument.spreadsheet\":[\"ods\"],\"application/vnd.oasis.opendocument.spreadsheet-template\":[\"ots\"],\"application/vnd.oasis.opendocument.text\":[\"odt\"],\"application/vnd.oasis.opendocument.text-master\":[\"odm\"],\"application/vnd.oasis.opendocument.text-template\":[\"ott\"],\"application/vnd.oasis.opendocument.text-web\":[\"oth\"],\"application/vnd.olpc-sugar\":[\"xo\"],\"application/vnd.oma.dd2+xml\":[\"dd2\"],\"application/vnd.openblox.game+xml\":[\"obgx\"],\"application/vnd.openofficeorg.extension\":[\"oxt\"],\"application/vnd.openstreetmap.data+xml\":[\"osm\"],\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":[\"pptx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slide\":[\"sldx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":[\"ppsx\"],\"application/vnd.openxmlformats-officedocument.presentationml.template\":[\"potx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":[\"xlsx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":[\"xltx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":[\"docx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":[\"dotx\"],\"application/vnd.osgeo.mapguide.package\":[\"mgp\"],\"application/vnd.osgi.dp\":[\"dp\"],\"application/vnd.osgi.subsystem\":[\"esa\"],\"application/vnd.palm\":[\"pdb\",\"pqa\",\"oprc\"],\"application/vnd.pawaafile\":[\"paw\"],\"application/vnd.pg.format\":[\"str\"],\"application/vnd.pg.osasli\":[\"ei6\"],\"application/vnd.picsel\":[\"efif\"],\"application/vnd.pmi.widget\":[\"wg\"],\"application/vnd.pocketlearn\":[\"plf\"],\"application/vnd.powerbuilder6\":[\"pbd\"],\"application/vnd.previewsystems.box\":[\"box\"],\"application/vnd.proteus.magazine\":[\"mgz\"],\"application/vnd.publishare-delta-tree\":[\"qps\"],\"application/vnd.pvi.ptid1\":[\"ptid\"],\"application/vnd.quark.quarkxpress\":[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"],\"application/vnd.rar\":[\"rar\"],\"application/vnd.realvnc.bed\":[\"bed\"],\"application/vnd.recordare.musicxml\":[\"mxl\"],\"application/vnd.recordare.musicxml+xml\":[\"musicxml\"],\"application/vnd.rig.cryptonote\":[\"cryptonote\"],\"application/vnd.rim.cod\":[\"cod\"],\"application/vnd.rn-realmedia\":[\"rm\"],\"application/vnd.rn-realmedia-vbr\":[\"rmvb\"],\"application/vnd.route66.link66+xml\":[\"link66\"],\"application/vnd.sailingtracker.track\":[\"st\"],\"application/vnd.seemail\":[\"see\"],\"application/vnd.sema\":[\"sema\"],\"application/vnd.semd\":[\"semd\"],\"application/vnd.semf\":[\"semf\"],\"application/vnd.shana.informed.formdata\":[\"ifm\"],\"application/vnd.shana.informed.formtemplate\":[\"itp\"],\"application/vnd.shana.informed.interchange\":[\"iif\"],\"application/vnd.shana.informed.package\":[\"ipk\"],\"application/vnd.simtech-mindmapper\":[\"twd\",\"twds\"],\"application/vnd.smaf\":[\"mmf\"],\"application/vnd.smart.teacher\":[\"teacher\"],\"application/vnd.software602.filler.form+xml\":[\"fo\"],\"application/vnd.solent.sdkm+xml\":[\"sdkm\",\"sdkd\"],\"application/vnd.spotfire.dxp\":[\"dxp\"],\"application/vnd.spotfire.sfs\":[\"sfs\"],\"application/vnd.stardivision.calc\":[\"sdc\"],\"application/vnd.stardivision.draw\":[\"sda\"],\"application/vnd.stardivision.impress\":[\"sdd\"],\"application/vnd.stardivision.math\":[\"smf\"],\"application/vnd.stardivision.writer\":[\"sdw\",\"vor\"],\"application/vnd.stardivision.writer-global\":[\"sgl\"],\"application/vnd.stepmania.package\":[\"smzip\"],\"application/vnd.stepmania.stepchart\":[\"sm\"],\"application/vnd.sun.wadl+xml\":[\"wadl\"],\"application/vnd.sun.xml.calc\":[\"sxc\"],\"application/vnd.sun.xml.calc.template\":[\"stc\"],\"application/vnd.sun.xml.draw\":[\"sxd\"],\"application/vnd.sun.xml.draw.template\":[\"std\"],\"application/vnd.sun.xml.impress\":[\"sxi\"],\"application/vnd.sun.xml.impress.template\":[\"sti\"],\"application/vnd.sun.xml.math\":[\"sxm\"],\"application/vnd.sun.xml.writer\":[\"sxw\"],\"application/vnd.sun.xml.writer.global\":[\"sxg\"],\"application/vnd.sun.xml.writer.template\":[\"stw\"],\"application/vnd.sus-calendar\":[\"sus\",\"susp\"],\"application/vnd.svd\":[\"svd\"],\"application/vnd.symbian.install\":[\"sis\",\"sisx\"],\"application/vnd.syncml+xml\":[\"xsm\"],\"application/vnd.syncml.dm+wbxml\":[\"bdm\"],\"application/vnd.syncml.dm+xml\":[\"xdm\"],\"application/vnd.syncml.dmddf+xml\":[\"ddf\"],\"application/vnd.tao.intent-module-archive\":[\"tao\"],\"application/vnd.tcpdump.pcap\":[\"pcap\",\"cap\",\"dmp\"],\"application/vnd.tmobile-livetv\":[\"tmo\"],\"application/vnd.trid.tpt\":[\"tpt\"],\"application/vnd.triscape.mxs\":[\"mxs\"],\"application/vnd.trueapp\":[\"tra\"],\"application/vnd.ufdl\":[\"ufd\",\"ufdl\"],\"application/vnd.uiq.theme\":[\"utz\"],\"application/vnd.umajin\":[\"umj\"],\"application/vnd.unity\":[\"unityweb\"],\"application/vnd.uoml+xml\":[\"uoml\"],\"application/vnd.vcx\":[\"vcx\"],\"application/vnd.visio\":[\"vsd\",\"vst\",\"vss\",\"vsw\"],\"application/vnd.visionary\":[\"vis\"],\"application/vnd.vsf\":[\"vsf\"],\"application/vnd.wap.wbxml\":[\"wbxml\"],\"application/vnd.wap.wmlc\":[\"wmlc\"],\"application/vnd.wap.wmlscriptc\":[\"wmlsc\"],\"application/vnd.webturbo\":[\"wtb\"],\"application/vnd.wolfram.player\":[\"nbp\"],\"application/vnd.wordperfect\":[\"wpd\"],\"application/vnd.wqd\":[\"wqd\"],\"application/vnd.wt.stf\":[\"stf\"],\"application/vnd.xara\":[\"xar\"],\"application/vnd.xfdl\":[\"xfdl\"],\"application/vnd.yamaha.hv-dic\":[\"hvd\"],\"application/vnd.yamaha.hv-script\":[\"hvs\"],\"application/vnd.yamaha.hv-voice\":[\"hvp\"],\"application/vnd.yamaha.openscoreformat\":[\"osf\"],\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":[\"osfpvg\"],\"application/vnd.yamaha.smaf-audio\":[\"saf\"],\"application/vnd.yamaha.smaf-phrase\":[\"spf\"],\"application/vnd.yellowriver-custom-menu\":[\"cmp\"],\"application/vnd.zul\":[\"zir\",\"zirz\"],\"application/vnd.zzazz.deck+xml\":[\"zaz\"],\"application/x-7z-compressed\":[\"7z\"],\"application/x-abiword\":[\"abw\"],\"application/x-ace-compressed\":[\"ace\"],\"application/x-apple-diskimage\":[\"*dmg\"],\"application/x-arj\":[\"arj\"],\"application/x-authorware-bin\":[\"aab\",\"x32\",\"u32\",\"vox\"],\"application/x-authorware-map\":[\"aam\"],\"application/x-authorware-seg\":[\"aas\"],\"application/x-bcpio\":[\"bcpio\"],\"application/x-bdoc\":[\"*bdoc\"],\"application/x-bittorrent\":[\"torrent\"],\"application/x-blorb\":[\"blb\",\"blorb\"],\"application/x-bzip\":[\"bz\"],\"application/x-bzip2\":[\"bz2\",\"boz\"],\"application/x-cbr\":[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"],\"application/x-cdlink\":[\"vcd\"],\"application/x-cfs-compressed\":[\"cfs\"],\"application/x-chat\":[\"chat\"],\"application/x-chess-pgn\":[\"pgn\"],\"application/x-chrome-extension\":[\"crx\"],\"application/x-cocoa\":[\"cco\"],\"application/x-conference\":[\"nsc\"],\"application/x-cpio\":[\"cpio\"],\"application/x-csh\":[\"csh\"],\"application/x-debian-package\":[\"*deb\",\"udeb\"],\"application/x-dgc-compressed\":[\"dgc\"],\"application/x-director\":[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"],\"application/x-doom\":[\"wad\"],\"application/x-dtbncx+xml\":[\"ncx\"],\"application/x-dtbook+xml\":[\"dtb\"],\"application/x-dtbresource+xml\":[\"res\"],\"application/x-dvi\":[\"dvi\"],\"application/x-envoy\":[\"evy\"],\"application/x-eva\":[\"eva\"],\"application/x-font-bdf\":[\"bdf\"],\"application/x-font-ghostscript\":[\"gsf\"],\"application/x-font-linux-psf\":[\"psf\"],\"application/x-font-pcf\":[\"pcf\"],\"application/x-font-snf\":[\"snf\"],\"application/x-font-type1\":[\"pfa\",\"pfb\",\"pfm\",\"afm\"],\"application/x-freearc\":[\"arc\"],\"application/x-futuresplash\":[\"spl\"],\"application/x-gca-compressed\":[\"gca\"],\"application/x-glulx\":[\"ulx\"],\"application/x-gnumeric\":[\"gnumeric\"],\"application/x-gramps-xml\":[\"gramps\"],\"application/x-gtar\":[\"gtar\"],\"application/x-hdf\":[\"hdf\"],\"application/x-httpd-php\":[\"php\"],\"application/x-install-instructions\":[\"install\"],\"application/x-iso9660-image\":[\"*iso\"],\"application/x-iwork-keynote-sffkey\":[\"*key\"],\"application/x-iwork-numbers-sffnumbers\":[\"*numbers\"],\"application/x-iwork-pages-sffpages\":[\"*pages\"],\"application/x-java-archive-diff\":[\"jardiff\"],\"application/x-java-jnlp-file\":[\"jnlp\"],\"application/x-keepass2\":[\"kdbx\"],\"application/x-latex\":[\"latex\"],\"application/x-lua-bytecode\":[\"luac\"],\"application/x-lzh-compressed\":[\"lzh\",\"lha\"],\"application/x-makeself\":[\"run\"],\"application/x-mie\":[\"mie\"],\"application/x-mobipocket-ebook\":[\"prc\",\"mobi\"],\"application/x-ms-application\":[\"application\"],\"application/x-ms-shortcut\":[\"lnk\"],\"application/x-ms-wmd\":[\"wmd\"],\"application/x-ms-wmz\":[\"wmz\"],\"application/x-ms-xbap\":[\"xbap\"],\"application/x-msaccess\":[\"mdb\"],\"application/x-msbinder\":[\"obd\"],\"application/x-mscardfile\":[\"crd\"],\"application/x-msclip\":[\"clp\"],\"application/x-msdos-program\":[\"*exe\"],\"application/x-msdownload\":[\"*exe\",\"*dll\",\"com\",\"bat\",\"*msi\"],\"application/x-msmediaview\":[\"mvb\",\"m13\",\"m14\"],\"application/x-msmetafile\":[\"*wmf\",\"*wmz\",\"*emf\",\"emz\"],\"application/x-msmoney\":[\"mny\"],\"application/x-mspublisher\":[\"pub\"],\"application/x-msschedule\":[\"scd\"],\"application/x-msterminal\":[\"trm\"],\"application/x-mswrite\":[\"wri\"],\"application/x-netcdf\":[\"nc\",\"cdf\"],\"application/x-ns-proxy-autoconfig\":[\"pac\"],\"application/x-nzb\":[\"nzb\"],\"application/x-perl\":[\"pl\",\"pm\"],\"application/x-pilot\":[\"*prc\",\"*pdb\"],\"application/x-pkcs12\":[\"p12\",\"pfx\"],\"application/x-pkcs7-certificates\":[\"p7b\",\"spc\"],\"application/x-pkcs7-certreqresp\":[\"p7r\"],\"application/x-rar-compressed\":[\"*rar\"],\"application/x-redhat-package-manager\":[\"rpm\"],\"application/x-research-info-systems\":[\"ris\"],\"application/x-sea\":[\"sea\"],\"application/x-sh\":[\"sh\"],\"application/x-shar\":[\"shar\"],\"application/x-shockwave-flash\":[\"swf\"],\"application/x-silverlight-app\":[\"xap\"],\"application/x-sql\":[\"sql\"],\"application/x-stuffit\":[\"sit\"],\"application/x-stuffitx\":[\"sitx\"],\"application/x-subrip\":[\"srt\"],\"application/x-sv4cpio\":[\"sv4cpio\"],\"application/x-sv4crc\":[\"sv4crc\"],\"application/x-t3vm-image\":[\"t3\"],\"application/x-tads\":[\"gam\"],\"application/x-tar\":[\"tar\"],\"application/x-tcl\":[\"tcl\",\"tk\"],\"application/x-tex\":[\"tex\"],\"application/x-tex-tfm\":[\"tfm\"],\"application/x-texinfo\":[\"texinfo\",\"texi\"],\"application/x-tgif\":[\"*obj\"],\"application/x-ustar\":[\"ustar\"],\"application/x-virtualbox-hdd\":[\"hdd\"],\"application/x-virtualbox-ova\":[\"ova\"],\"application/x-virtualbox-ovf\":[\"ovf\"],\"application/x-virtualbox-vbox\":[\"vbox\"],\"application/x-virtualbox-vbox-extpack\":[\"vbox-extpack\"],\"application/x-virtualbox-vdi\":[\"vdi\"],\"application/x-virtualbox-vhd\":[\"vhd\"],\"application/x-virtualbox-vmdk\":[\"vmdk\"],\"application/x-wais-source\":[\"src\"],\"application/x-web-app-manifest+json\":[\"webapp\"],\"application/x-x509-ca-cert\":[\"der\",\"crt\",\"pem\"],\"application/x-xfig\":[\"fig\"],\"application/x-xliff+xml\":[\"*xlf\"],\"application/x-xpinstall\":[\"xpi\"],\"application/x-xz\":[\"xz\"],\"application/x-zmachine\":[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"],\"audio/vnd.dece.audio\":[\"uva\",\"uvva\"],\"audio/vnd.digital-winds\":[\"eol\"],\"audio/vnd.dra\":[\"dra\"],\"audio/vnd.dts\":[\"dts\"],\"audio/vnd.dts.hd\":[\"dtshd\"],\"audio/vnd.lucent.voice\":[\"lvp\"],\"audio/vnd.ms-playready.media.pya\":[\"pya\"],\"audio/vnd.nuera.ecelp4800\":[\"ecelp4800\"],\"audio/vnd.nuera.ecelp7470\":[\"ecelp7470\"],\"audio/vnd.nuera.ecelp9600\":[\"ecelp9600\"],\"audio/vnd.rip\":[\"rip\"],\"audio/x-aac\":[\"aac\"],\"audio/x-aiff\":[\"aif\",\"aiff\",\"aifc\"],\"audio/x-caf\":[\"caf\"],\"audio/x-flac\":[\"flac\"],\"audio/x-m4a\":[\"*m4a\"],\"audio/x-matroska\":[\"mka\"],\"audio/x-mpegurl\":[\"m3u\"],\"audio/x-ms-wax\":[\"wax\"],\"audio/x-ms-wma\":[\"wma\"],\"audio/x-pn-realaudio\":[\"ram\",\"ra\"],\"audio/x-pn-realaudio-plugin\":[\"rmp\"],\"audio/x-realaudio\":[\"*ra\"],\"audio/x-wav\":[\"*wav\"],\"chemical/x-cdx\":[\"cdx\"],\"chemical/x-cif\":[\"cif\"],\"chemical/x-cmdf\":[\"cmdf\"],\"chemical/x-cml\":[\"cml\"],\"chemical/x-csml\":[\"csml\"],\"chemical/x-xyz\":[\"xyz\"],\"image/prs.btif\":[\"btif\"],\"image/prs.pti\":[\"pti\"],\"image/vnd.adobe.photoshop\":[\"psd\"],\"image/vnd.airzip.accelerator.azv\":[\"azv\"],\"image/vnd.dece.graphic\":[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"],\"image/vnd.djvu\":[\"djvu\",\"djv\"],\"image/vnd.dvb.subtitle\":[\"*sub\"],\"image/vnd.dwg\":[\"dwg\"],\"image/vnd.dxf\":[\"dxf\"],\"image/vnd.fastbidsheet\":[\"fbs\"],\"image/vnd.fpx\":[\"fpx\"],\"image/vnd.fst\":[\"fst\"],\"image/vnd.fujixerox.edmics-mmr\":[\"mmr\"],\"image/vnd.fujixerox.edmics-rlc\":[\"rlc\"],\"image/vnd.microsoft.icon\":[\"ico\"],\"image/vnd.ms-dds\":[\"dds\"],\"image/vnd.ms-modi\":[\"mdi\"],\"image/vnd.ms-photo\":[\"wdp\"],\"image/vnd.net-fpx\":[\"npx\"],\"image/vnd.pco.b16\":[\"b16\"],\"image/vnd.tencent.tap\":[\"tap\"],\"image/vnd.valve.source.texture\":[\"vtf\"],\"image/vnd.wap.wbmp\":[\"wbmp\"],\"image/vnd.xiff\":[\"xif\"],\"image/vnd.zbrush.pcx\":[\"pcx\"],\"image/x-3ds\":[\"3ds\"],\"image/x-cmu-raster\":[\"ras\"],\"image/x-cmx\":[\"cmx\"],\"image/x-freehand\":[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"],\"image/x-icon\":[\"*ico\"],\"image/x-jng\":[\"jng\"],\"image/x-mrsid-image\":[\"sid\"],\"image/x-ms-bmp\":[\"*bmp\"],\"image/x-pcx\":[\"*pcx\"],\"image/x-pict\":[\"pic\",\"pct\"],\"image/x-portable-anymap\":[\"pnm\"],\"image/x-portable-bitmap\":[\"pbm\"],\"image/x-portable-graymap\":[\"pgm\"],\"image/x-portable-pixmap\":[\"ppm\"],\"image/x-rgb\":[\"rgb\"],\"image/x-tga\":[\"tga\"],\"image/x-xbitmap\":[\"xbm\"],\"image/x-xpixmap\":[\"xpm\"],\"image/x-xwindowdump\":[\"xwd\"],\"message/vnd.wfa.wsc\":[\"wsc\"],\"model/vnd.collada+xml\":[\"dae\"],\"model/vnd.dwf\":[\"dwf\"],\"model/vnd.gdl\":[\"gdl\"],\"model/vnd.gtw\":[\"gtw\"],\"model/vnd.mts\":[\"mts\"],\"model/vnd.opengex\":[\"ogex\"],\"model/vnd.parasolid.transmit.binary\":[\"x_b\"],\"model/vnd.parasolid.transmit.text\":[\"x_t\"],\"model/vnd.sap.vds\":[\"vds\"],\"model/vnd.usdz+zip\":[\"usdz\"],\"model/vnd.valve.source.compiled-map\":[\"bsp\"],\"model/vnd.vtu\":[\"vtu\"],\"text/prs.lines.tag\":[\"dsc\"],\"text/vnd.curl\":[\"curl\"],\"text/vnd.curl.dcurl\":[\"dcurl\"],\"text/vnd.curl.mcurl\":[\"mcurl\"],\"text/vnd.curl.scurl\":[\"scurl\"],\"text/vnd.dvb.subtitle\":[\"sub\"],\"text/vnd.fly\":[\"fly\"],\"text/vnd.fmi.flexstor\":[\"flx\"],\"text/vnd.graphviz\":[\"gv\"],\"text/vnd.in3d.3dml\":[\"3dml\"],\"text/vnd.in3d.spot\":[\"spot\"],\"text/vnd.sun.j2me.app-descriptor\":[\"jad\"],\"text/vnd.wap.wml\":[\"wml\"],\"text/vnd.wap.wmlscript\":[\"wmls\"],\"text/x-asm\":[\"s\",\"asm\"],\"text/x-c\":[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"],\"text/x-component\":[\"htc\"],\"text/x-fortran\":[\"f\",\"for\",\"f77\",\"f90\"],\"text/x-handlebars-template\":[\"hbs\"],\"text/x-java-source\":[\"java\"],\"text/x-lua\":[\"lua\"],\"text/x-markdown\":[\"mkd\"],\"text/x-nfo\":[\"nfo\"],\"text/x-opml\":[\"opml\"],\"text/x-org\":[\"*org\"],\"text/x-pascal\":[\"p\",\"pas\"],\"text/x-processing\":[\"pde\"],\"text/x-sass\":[\"sass\"],\"text/x-scss\":[\"scss\"],\"text/x-setext\":[\"etx\"],\"text/x-sfv\":[\"sfv\"],\"text/x-suse-ymp\":[\"ymp\"],\"text/x-uuencode\":[\"uu\"],\"text/x-vcalendar\":[\"vcs\"],\"text/x-vcard\":[\"vcf\"],\"video/vnd.dece.hd\":[\"uvh\",\"uvvh\"],\"video/vnd.dece.mobile\":[\"uvm\",\"uvvm\"],\"video/vnd.dece.pd\":[\"uvp\",\"uvvp\"],\"video/vnd.dece.sd\":[\"uvs\",\"uvvs\"],\"video/vnd.dece.video\":[\"uvv\",\"uvvv\"],\"video/vnd.dvb.file\":[\"dvb\"],\"video/vnd.fvt\":[\"fvt\"],\"video/vnd.mpegurl\":[\"mxu\",\"m4u\"],\"video/vnd.ms-playready.media.pyv\":[\"pyv\"],\"video/vnd.uvvu.mp4\":[\"uvu\",\"uvvu\"],\"video/vnd.vivo\":[\"viv\"],\"video/x-f4v\":[\"f4v\"],\"video/x-fli\":[\"fli\"],\"video/x-flv\":[\"flv\"],\"video/x-m4v\":[\"m4v\"],\"video/x-matroska\":[\"mkv\",\"mk3d\",\"mks\"],\"video/x-mng\":[\"mng\"],\"video/x-ms-asf\":[\"asf\",\"asx\"],\"video/x-ms-vob\":[\"vob\"],\"video/x-ms-wm\":[\"wm\"],\"video/x-ms-wmv\":[\"wmv\"],\"video/x-ms-wmx\":[\"wmx\"],\"video/x-ms-wvx\":[\"wvx\"],\"video/x-msvideo\":[\"avi\"],\"video/x-sgi-movie\":[\"movie\"],\"video/x-smv\":[\"smv\"],\"x-conference/x-cooltalk\":[\"ice\"]};","import { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_MESSAGE_BACK } from '../actions/sendMessageBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#message-back\nfunction* postActivityWithMessageBack({ payload: { displayText, text, value } }) {\n yield put(\n postActivity({\n channelData: {\n messageBack: {\n displayText\n }\n },\n text,\n type: 'message',\n value\n })\n );\n}\n\nfunction* sendMessageBackToPostActivity() {\n yield takeEvery(SEND_MESSAGE_BACK, postActivityWithMessageBack);\n}\n\nexport default function* sendMessageBackToPostActivitySaga() {\n yield whileConnected(sendMessageBackToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { SEND_MESSAGE } from '../actions/sendMessage';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithMessage({ payload: { channelData, method, text } }) {\n yield put(\n postActivity(\n {\n channelData,\n text,\n textFormat: 'plain',\n type: 'message'\n },\n method\n )\n );\n}\n\nfunction* sendMessageToPostActivity() {\n yield takeEvery(({ payload, type }) => type === SEND_MESSAGE && payload.text, postActivityWithMessage);\n}\n\nexport default function* sendMessageToPostActivitySaga() {\n yield whileConnected(sendMessageToPostActivity);\n}\n","// This is for the ternary operator of text and value.\n/* eslint no-undefined: \"off\" */\n\nimport { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_POST_BACK } from '../actions/sendPostBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#post-back\nfunction* postActivityWithPostBack({ payload: { value } }) {\n yield put(\n postActivity({\n channelData: {\n postBack: true\n },\n text: typeof value === 'string' ? value : undefined,\n type: 'message',\n value: typeof value !== 'string' ? value : undefined\n })\n );\n}\n\nfunction* sendPostBackToPostActivity() {\n yield takeEvery(SEND_POST_BACK, postActivityWithPostBack);\n}\n\nexport default function* sendPostBackToPostActivitySaga() {\n yield whileConnected(sendPostBackToPostActivity);\n}\n","// We will revisit this logic in #2157 and should remove the following eslint ignore\n/* eslint require-atomic-updates: \"off\" */\n\nimport { call, cancel, put, select, take, takeLatest } from 'redux-saga/effects';\n\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\nimport { POST_ACTIVITY } from '../actions/postActivity';\nimport emitTypingIndicator from '../actions/emitTypingIndicator';\nimport sendTypingIndicatorSelector from '../selectors/sendTypingIndicator';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type setSendTypingIndicator from '../actions/setSendTypingIndicator';\n\ntype SetSendTypingIndicatorAction = ReturnType<typeof setSendTypingIndicator>;\n\nconst SEND_INTERVAL = 3000;\n\nfunction takeSendTypingIndicator(value: boolean) {\n return take<SetSendTypingIndicatorAction>(\n // TODO: \"any\" should be replaced all known types in the system.\n ({ payload, type }: any) => type === SET_SEND_TYPING_INDICATOR && !payload.sendTypingIndicator === !value\n );\n}\n\nfunction* sendTypingIndicatorOnSetSendBox(_, ponyfill: GlobalScopePonyfill) {\n const { Date } = ponyfill;\n const sendTypingIndicator = yield select(sendTypingIndicatorSelector);\n\n if (!sendTypingIndicator) {\n yield takeSendTypingIndicator(true);\n }\n\n for (;;) {\n let lastSend = -Infinity;\n const task = yield takeLatest(\n ({ payload, type }) =>\n (type === SET_SEND_BOX && payload.text) ||\n // Stop sending pending typing indicator if the user has posted anything.\n // We send typing indicator in a debounce way (t = 0, t = 3000, t = 6000).\n // When the user type, and then post the activity at t = 1500, we still have a pending typing indicator at t = 3000.\n // This code is to cancel the typing indicator at t = 3000.\n (type === POST_ACTIVITY && payload.activity.type !== 'typing'),\n function* ({ payload, type }) {\n if (type === SET_SEND_BOX) {\n const interval = SEND_INTERVAL - Date.now() + lastSend;\n\n if (interval > 0) {\n yield call(sleep, interval, ponyfill);\n }\n\n yield put(emitTypingIndicator());\n\n lastSend = Date.now();\n } else if (payload.activity.type === 'message') {\n lastSend = -Infinity;\n }\n }\n );\n\n yield takeSendTypingIndicator(false);\n yield cancel(task);\n yield takeSendTypingIndicator(true);\n }\n}\n\nexport default function* sendTypingIndicatorOnSetSendBoxSaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(sendTypingIndicatorOnSetSendBox, ponyfill);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTypingIndicator }: ReduxState): boolean => sendTypingIndicator;\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { WILL_START } from '../constants/DictateState';\nimport markActivity from '../actions/markActivity';\nimport setDictateState from '../actions/setDictateState';\nimport shouldSpeakIncomingActivitySelector from '../selectors/shouldSpeakIncomingActivity';\nimport speakableActivity from '../definitions/speakableActivity';\nimport stopDictate from '../actions/stopDictate';\nimport whileConnected from './effects/whileConnected';\n\nfunction* speakActivityAndStartDictateOnIncomingActivityFromOthers({ userID }) {\n yield takeEvery(\n ({ payload, type }) =>\n // In Direct Line, the \"role\" is not filled (yet), but we do know the user ID.\n // In Direct Line Speech, we do not know the user ID, but \"role\" is filled with \"bot\" or \"user\".\n // Here, we do two checks: the speakable activity must not have user ID, and must not have role === 'user'\n type === INCOMING_ACTIVITY && payload.activity.from.id !== userID && payload.activity.from.role !== 'user',\n function* ({ payload: { activity } }) {\n const shouldSpeakIncomingActivity = yield select(shouldSpeakIncomingActivitySelector);\n const shouldSpeak = speakableActivity(activity) && shouldSpeakIncomingActivity;\n\n if (\n shouldSpeak &&\n (activity.speak ||\n activity.text ||\n ~(activity.attachments || []).findIndex(({ content: { speak } = {} }) => speak))\n ) {\n yield put(markActivity(activity, 'speak', true));\n }\n\n if (shouldSpeak && activity.inputHint === 'expectingInput') {\n yield put(setDictateState(WILL_START));\n } else if (activity.inputHint === 'ignoringInput') {\n yield put(stopDictate());\n }\n }\n );\n}\n\nexport default function* speakActivityAndStartDictateOnIncomingActivityFromOthersSaga() {\n yield whileConnected(speakActivityAndStartDictateOnIncomingActivityFromOthers);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ shouldSpeakIncomingActivity }: ReduxState): boolean => shouldSpeakIncomingActivity;\n","export default function speakableActivity(activity) {\n return activity && activity.from && activity.type === 'message';\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { MARK_ACTIVITY } from '../actions/markActivity';\nimport { of as activitiesOf } from '../selectors/activities';\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport { WILL_START } from '../constants/DictateState';\nimport dictateStateSelector from '../selectors/dictateState';\nimport speakingActivity from '../definitions/speakingActivity';\nimport startDictate from '../actions/startDictate';\n\nfunction* startDictateOnSpeakComplete() {\n const speakingActivities = yield select(activitiesOf(speakingActivity));\n const dictateState = yield select(dictateStateSelector);\n\n if (dictateState === WILL_START && !speakingActivities.length) {\n yield put(startDictate());\n }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* startDictateOnSpeakCompleteSaga() {\n yield takeEvery(({ type }) => type === MARK_ACTIVITY || type === SET_DICTATE_STATE, startDictateOnSpeakComplete);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ dictateState }: ReduxState) => dictateState;\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport startSpeakingActivity from '../actions/startSpeakingActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* startSpeakActivityOnPostActivity() {\n yield takeEvery(\n ({ meta, payload, type }) =>\n type === POST_ACTIVITY_PENDING && meta.method === 'speech' && payload.activity.type === 'message',\n function* () {\n yield put(startSpeakingActivity());\n }\n );\n}\n\nexport default function* startSpeakActivityOnPostActivitySaga() {\n yield whileConnected(startSpeakActivityOnPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport stopDictate from '../actions/stopDictate';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopDictateOnCardAction() {\n // TODO: [P2] We should stop speech input when the user click on anything on a card, including open URL which doesn't generate postActivity\n // This functionality was not implemented in v3\n\n yield takeEvery(\n // Currently, there are no actions that are related to card input\n // For now, we are using POST_ACTIVITY of a \"message\" activity\n // In the future, if we have an action for card input, we should use that instead\n ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n function* putStopDictate() {\n yield put(stopDictate());\n }\n );\n}\n\nexport default function* stopDictateOnCardActionSaga() {\n yield whileConnected(stopDictateOnCardAction);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport stopSpeakingActivity from '../actions/stopSpeakingActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopSpeakingActivityOnInput() {\n yield takeEvery(\n ({ meta, payload, type }) =>\n (type === SET_SEND_BOX && payload.text) ||\n // We want to stop speaking activity when the user click on a card action\n // But currently there are no actions generated out of a card action\n // So, right now, we are using best-effort by listening to POST_ACTIVITY_PENDING with a \"message\" event\n // We filter out speech because we will call startSpeakingActivity() for POST_ACTIVITY_PENDING dispatched by speech\n (type === POST_ACTIVITY_PENDING && meta.method !== 'speech' && payload.activity.type === 'message'),\n function* () {\n yield put(stopSpeakingActivity());\n }\n );\n}\n\nexport default function* stopSpeakingActivityOnInputSaga() {\n yield whileConnected(stopSpeakingActivityOnInput);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { SUBMIT_SEND_BOX } from '../actions/submitSendBox';\nimport sendBoxValueSelector from '../selectors/sendBoxValue';\nimport sendMessage from '../actions/sendMessage';\nimport setSendBox from '../actions/setSendBox';\nimport whileConnected from './effects/whileConnected';\n\nfunction* submitSendBox() {\n yield takeEvery(SUBMIT_SEND_BOX, function* ({ payload: { channelData, method } }) {\n const sendBoxValue = yield select(sendBoxValueSelector);\n\n // TODO: [P2] If the trimmed value is empty, we should not send.\n // TODO: [P2] We should expose this logic (\"cannot send empty message\") to other components such as UI.\n if (sendBoxValue) {\n yield put(sendMessage(sendBoxValue.trim(), method, { channelData }));\n yield put(setSendBox(''));\n }\n });\n}\n\nexport default function* submitSendBoxSaga() {\n // TODO: [P2] We should expose this logic (\"send only when connected\") to other components such as UI.\n yield whileConnected(submitSendBox);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendBoxValue }: ReduxState): string => sendBoxValue;\n","export default function singleToArray<T>(singleOrArray: T | T[]): T[] {\n return singleOrArray ? (Array.isArray(singleOrArray) ? singleOrArray : [singleOrArray]) : [];\n}\n","import once from './once';\n\nexport default function warnOnce(message: string): () => void {\n return once(() => console.warn(`botframework-webchat: ${message}.`));\n}\n","export default function once(fn: () => void): () => void {\n let done;\n\n return () => {\n if (!done) {\n fn();\n done = 1;\n }\n };\n}\n","import { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nimport LocalizedStrings from '../types/LocalizedStrings';\n\ntype LocalizedStringsMap = { [language: string]: LocalizedStrings };\n\nexport default function mergeLocalizedStrings(...args: LocalizedStringsMap[]): LocalizedStringsMap {\n const merged = {};\n const languages = args.reduce((keys, arg) => [...keys, ...Object.keys(arg)], []);\n\n for (const language of new Set(languages)) {\n if (!isForbiddenPropertyName(language)) {\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n merged[language] = args.reduce((merged, arg) => ({ ...merged, ...arg[language] }), {});\n }\n }\n\n return merged;\n}\n","import { useEffect } from 'react';\n\nimport { useSelector } from './internal/WebChatReduxContext';\nimport Typing from '../types/Typing';\nimport useForceRender from './internal/useForceRender';\nimport usePonyfill from './usePonyfill';\nimport useStyleOptions from './useStyleOptions';\n\nfunction useActiveTyping(expireAfter?: number): [{ [userId: string]: Typing }] {\n const [{ clearTimeout, Date, setTimeout }] = usePonyfill();\n const [{ typingAnimationDuration }] = useStyleOptions();\n const forceRender = useForceRender();\n const typing: { [userId: string]: { at: number; last: number; name: string; role: string } } = useSelector(\n ({ typing }) => typing\n );\n\n const now = Date.now();\n\n if (typeof expireAfter !== 'number') {\n expireAfter = typingAnimationDuration;\n }\n\n const activeTyping: { [userId: string]: Typing } = Object.entries(typing).reduce(\n (activeTyping, [id, { at, last, name, role }]) => {\n const until = last + expireAfter;\n\n if (until > now) {\n return { ...activeTyping, [id]: { at, expireAt: until, name, role } };\n }\n\n return activeTyping;\n },\n {}\n );\n\n const earliestExpireAt = Math.min(...Object.values(activeTyping).map(({ expireAt }) => expireAt));\n const timeToRender = earliestExpireAt && earliestExpireAt - now;\n\n useEffect(() => {\n if (timeToRender && isFinite(timeToRender)) {\n const timeout = setTimeout(forceRender, Math.max(0, timeToRender));\n\n return () => clearTimeout(timeout);\n }\n }, [clearTimeout, forceRender, setTimeout, timeToRender]);\n\n return [activeTyping];\n}\n\nexport default useActiveTyping;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","import { useContext } from 'react';\n\nimport PonyfillContext from './PonyfillContext';\n\nimport type { Context } from 'react';\n\ntype ContextOf<T> = T extends Context<infer C> ? C : never;\n\nexport default function usePonyfillContext(): Exclude<ContextOf<typeof PonyfillContext>, undefined> {\n const context = useContext(PonyfillContext);\n\n if (!context) {\n throw new Error('botframework-webchat: This hook can only be used under <PonyfillContext>.');\n }\n\n return context;\n}\n","import useActivityKeys from '../providers/ActivityKeyer/useActivityKeys';\n\nexport default useActivityKeys;\n","import useActivityKeysByRead from '../providers/ActivityAcknowledgement/useActivityKeysByRead';\n\nexport default useActivityKeysByRead;\n","import useActivityAcknowledgementContext from './private/useContext';\n\n/**\n * Returns an arrays of two list of activity keys: read and unread.\n */\nexport default function useActivityKeysByRead(): readonly [readonly string[], readonly string[]] {\n return useActivityAcknowledgementContext().activityKeysByReadState;\n}\n","import useStyleOptions from './useStyleOptions';\n\nexport default function useAvatarForBot(): [{ image: string; initials: string }] {\n const [{ botAvatarImage: image, botAvatarInitials: initials }] = useStyleOptions();\n\n return [\n {\n image,\n initials\n }\n ];\n}\n","import useStyleOptions from './useStyleOptions';\n\nexport default function useAvatarForUser(): [{ image: string; initials: string }] {\n const [{ userAvatarImage: image, userAvatarInitials: initials }] = useStyleOptions();\n\n return [\n {\n image,\n initials\n }\n ];\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [1024, 1048576, 1073741824] }] */\n\nimport { useMemo } from 'react';\nimport useLocalizedGlobalize from './internal/useLocalizedGlobalize';\n\nconst KILOBYTE = 1024;\nconst MEGABYTE = 1048576;\nconst GIGABYTE = 1073741824;\n\nconst LONG_FORM = {\n form: 'long'\n};\n\nconst SHORT_FORM = {\n form: 'short'\n};\n\nexport default function useByteFormatter(): (bytes: number) => string {\n const [globalize] = useLocalizedGlobalize();\n\n return useMemo(() => {\n const unitFormatter = globalize.unitFormatter.bind(globalize);\n\n return bytes => {\n if (bytes < KILOBYTE) {\n return unitFormatter('byte', LONG_FORM)(bytes);\n } else if (bytes < MEGABYTE) {\n return unitFormatter('kilobyte', SHORT_FORM)(~~(bytes / KILOBYTE));\n } else if (bytes < GIGABYTE) {\n return unitFormatter('megabyte', SHORT_FORM)(~~(bytes / MEGABYTE));\n }\n\n return unitFormatter('gigabyte', SHORT_FORM)(~~(bytes / GIGABYTE));\n };\n }, [globalize]);\n}\n","import { useSelector } from './internal/WebChatReduxContext';\n\nexport default function useConnectivityStatus(): [string] {\n return [useSelector(({ connectivityStatus }) => connectivityStatus)];\n}\n","import { ActivityComponentFactory } from '../types/ActivityMiddleware';\nimport useCreateActivityRendererInternal from './internal/useCreateActivityRendererInternal';\n\n// The newer useCreateActivityRenderer() hook does not support override renderAttachment().\n// Only the deprecated useRenderActivity() hook support overriding renderAttachment().\nexport default function useCreateActivityRenderer(): ActivityComponentFactory {\n return useCreateActivityRendererInternal();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import useActivitySendStatusContext from './private/useContext';\n\nimport type { SendStatus } from '../../types/internal/SendStatus';\n\n/**\n * Returns a key/value map which stores the outgoing activity send status by activity key:\n *\n * - `\"sending\"`, the activity is currently in transit;\n * - `\"sent\"`, the activity is sent and acknowledged by the platform;\n * - `\"send failed\"`, the activity failed to send.\n *\n * If the send status is `\"send failed\"`, it could be due to (non-exhaustive):\n *\n * - Immediate or almost immediate failures, such as network error;\n * - It took longer than `styleOptions.sendTimeout` or `styleOptions.sendTimeoutForAttachments` to send.\n *\n * The send status of an activity could turn from `\"send failed\"` back to `\"sending\"` if (non-exhaustive):\n *\n * - The platform support resend and the activity is being resend;\n * - The `styleOptions.sendTimeout` or `styleOptions.sendTimeoutForAttachments` has increased past the expiry, overthrown the previous decision for timeout.\n *\n * If the activity key does not exists in this map, the activity is not an outgoing activity.\n */\nexport default function useSendStatus(): readonly [ReadonlyMap<string, SendStatus>] {\n return useActivitySendStatusContext().sendStatusByActivityKeyState;\n}\n","import { useContext } from 'react';\n\nimport ActivitySendStatusContext from './Context';\n\nimport type { ActivitySendStatusContextType } from './Context';\n\nexport default function useActivitySendStatusContext(thrownOnUndefined = true): ActivitySendStatusContextType {\n const contextValue = useContext(ActivitySendStatusContext);\n\n if (thrownOnUndefined && !contextValue) {\n throw new Error('botframework-webchat internal: This hook can only be used under <ActivitySendStatusComposer>.');\n }\n\n return contextValue;\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useCreateAttachmentForScreenReaderRenderer() {\n return useWebChatAPIContext().attachmentForScreenReaderRenderer;\n}\n","import { ScrollToEndButtonComponentFactory } from '../types/ScrollToEndButtonMiddleware';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useCreateScrollToEndButtonRenderer(): ScrollToEndButtonComponentFactory {\n return useWebChatAPIContext().scrollToEndButtonRenderer;\n}\n","import { useRef } from 'react';\nimport updateIn from 'simple-update-in';\n\nimport findMin from '../utils/findMin';\nimport Notification from '../types/Notification';\nimport useForceRender from './internal/useForceRender';\nimport useNotifications from './useNotifications';\nimport usePonyfill from './usePonyfill';\nimport useStyleOptions from './useStyleOptions';\nimport useTimer from './internal/useTimer';\n\ntype DebouncedNotification = Notification & {\n outOfDate: boolean;\n updateNotBefore: number;\n};\n\ntype DebouncedNotifications = { [id: string]: DebouncedNotification };\n\nfunction getEarliestUpdateNotBefore(notificationMap: DebouncedNotifications) {\n return findMin(\n Object.values(notificationMap)\n .filter(({ outOfDate }) => outOfDate)\n .map(({ updateNotBefore }) => updateNotBefore)\n );\n}\n\nfunction useDebouncedNotifications(): [DebouncedNotifications] {\n const [{ Date }] = usePonyfill();\n const [{ notificationDebounceTimeout }] = useStyleOptions();\n const [notifications] = useNotifications();\n const debouncedNotificationsRef = useRef({});\n const forceRender = useForceRender();\n\n const now = Date.now();\n\n // Delete notifications or mark them to be deleted if debouncing.\n for (const id of Object.keys(debouncedNotificationsRef.current).filter(id => !(id in notifications))) {\n debouncedNotificationsRef.current = updateIn(debouncedNotificationsRef.current, [id], debouncedNotification => {\n if (now < debouncedNotification.updateNotBefore) {\n // The update need to be postponed.\n return { ...debouncedNotification, outOfDate: true };\n }\n\n // Otherwise, return undefined will remove it.\n });\n }\n\n // For any changes, update notifications or mark them to be updated if debouncing.\n for (const [, { alt, data, id, level, message, timestamp }] of Object.entries(notifications)) {\n debouncedNotificationsRef.current = updateIn(debouncedNotificationsRef.current, [id], debouncedNotification => {\n if (\n debouncedNotification &&\n alt === debouncedNotification.alt &&\n Object.is(data, debouncedNotification.data) &&\n level === debouncedNotification.level &&\n message === debouncedNotification.message &&\n timestamp === debouncedNotification.timestamp\n ) {\n // If nothing changed, return as-is.\n return debouncedNotification;\n }\n\n if (debouncedNotification && now < debouncedNotification.updateNotBefore) {\n // The update need to be postponed.\n return {\n ...debouncedNotification,\n outOfDate: true\n };\n }\n\n // Update the notification.\n return {\n ...debouncedNotification,\n alt,\n data,\n id,\n level,\n message,\n outOfDate: false,\n timestamp,\n updateNotBefore: now + notificationDebounceTimeout\n };\n });\n }\n\n useTimer(getEarliestUpdateNotBefore(debouncedNotificationsRef.current), forceRender);\n\n return [debouncedNotificationsRef.current];\n}\n\nexport default useDebouncedNotifications;\n\nexport { getEarliestUpdateNotBefore };\n","function isUndefined(obj: any): boolean {\n return typeof obj === 'undefined';\n}\n\nconst DEFAULT_SELECTOR = value => value;\n\nfunction findMin<T>(array: T[], selector = DEFAULT_SELECTOR): T {\n return array.reduce((minValue, value) => {\n const minScore = isUndefined(minValue) ? minValue : selector(minValue);\n const score = isUndefined(value) ? value : selector(value);\n\n if (isUndefined(minScore)) {\n return value;\n } else if (isUndefined(score)) {\n return minValue;\n }\n\n return minScore < score ? minValue : value;\n }, undefined);\n}\n\nfunction map<T>(map: { [key: string]: T }, selector = DEFAULT_SELECTOR): [string, T] {\n return findMin(\n Object.entries(map).map(entry => (isUndefined(entry[1]) ? undefined : entry)),\n ([key, value]) => selector.call(map, value, key)\n );\n}\n\nexport default findMin;\n\nexport { map };\n","import { useSelector } from './internal/WebChatReduxContext';\nimport Notification from '../types/Notification';\n\nexport default function useNotifications(): [Notification[]] {\n return [useSelector(({ notifications }) => notifications)];\n}\n","import { useSelector } from './internal/WebChatReduxContext';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useDictateInterims(): [string[], (interims: string[]) => void] {\n return [useSelector(({ dictateInterims }) => dictateInterims) || [], useWebChatAPIContext().setDictateInterims];\n}\n","import { useSelector } from './internal/WebChatReduxContext';\n\n// TODO: [P3] We should update this code to use core/src/selectors/dictateState.js\nexport default function useDictateState(): [number] {\n return [useSelector(({ dictateState }) => dictateState)];\n}\n","import { useMemo } from 'react';\n\nimport getRTLList from '../localization/getRTLList';\nimport useDirFromProps from './internal/useDirFromProps';\nimport useLanguage from './useLanguage';\n\nfunction determineDirection(dir, language) {\n if (dir !== 'auto') {\n return dir;\n } else if (getRTLList().includes(language)) {\n return 'rtl';\n }\n\n return 'ltr';\n}\n\nexport default function useDirection(): ['auto' | 'ltr' | 'rtl'] {\n const [dir] = useDirFromProps();\n const [language] = useLanguage();\n const determinedDirection = useMemo(() => determineDirection(dir, language), [dir, language]);\n\n return [determinedDirection];\n}\n","import useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useDirFromProps() {\n return [useWebChatAPIContext().dir];\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useDisabled(): [boolean] {\n return [useWebChatAPIContext().disabled];\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useDismissNotification(): (id: string) => void {\n return useWebChatAPIContext().dismissNotification;\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useEmitTypingIndicator(): () => void {\n return useWebChatAPIContext().emitTypingIndicator;\n}\n","import useGetActivityByKey from '../providers/ActivityKeyer/useGetActivityByKey';\n\nexport default useGetActivityByKey;\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useActivityKeyerContext from './private/useContext';\n\nexport default function useGetActivityByKey(): (key?: string) => undefined | WebChatActivity {\n return useActivityKeyerContext().getActivityByKey;\n}\n","import useGetHasAcknowledgedByActivityKey from '../providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey';\n\nexport default useGetHasAcknowledgedByActivityKey;\n","import useActivityAcknowledgementContext from './private/useContext';\n\nexport default function useGetHasAcknoweledgedByActivityKey(): (activityKey: string) => boolean | undefined {\n return useActivityAcknowledgementContext().getHasAcknowledgedByActivityKey;\n}\n","import useGetKeyByActivityId from '../providers/ActivityKeyer/useGetKeyByActivityId';\n\nexport default useGetKeyByActivityId;\n","import useActivityKeyerContext from './private/useContext';\n\nexport default function useGetKeyByActivityId(): (activityId?: string) => string | undefined {\n return useActivityKeyerContext().getKeyByActivityId;\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useGrammars(): [any] {\n return [useWebChatAPIContext().grammars];\n}\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useGroupActivities(): ({ activities }: { activities: WebChatActivity[] }) => {\n sender: WebChatActivity[][];\n status: WebChatActivity[][];\n} {\n return useWebChatAPIContext().groupActivities;\n}\n","import useStyleOptions from './useStyleOptions';\n\nexport default function useGroupTimestamp(): [boolean | number] {\n const [{ groupTimestamp }] = useStyleOptions();\n\n return [groupTimestamp];\n}\n","import useLastAcknowledgedActivityKey from '../providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey';\n\nexport default useLastAcknowledgedActivityKey;\n","import useActivityAcknowledgementContext from './private/useContext';\n\nexport default function useLastAcknowledgedActivityKey(): readonly [string] {\n return useActivityAcknowledgementContext().lastAcknowledgedActivityKeyState;\n}\n","import useLastReadActivityKey from '../providers/ActivityAcknowledgement/useLastReadActivityKey';\n\nexport default useLastReadActivityKey;\n","import useActivityAcknowledgementContext from './private/useContext';\n\nexport default function useLastReadActivityKey(): readonly [string] {\n return useActivityAcknowledgementContext().lastReadActivityKeyState;\n}\n","import { useCallback } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useMarkActivity from './internal/useMarkActivity';\n\nexport default function useMarkActivityAsSpoken(): (activity: WebChatActivity) => void {\n const markActivity = useMarkActivity();\n\n return useCallback(activity => markActivity(activity, 'speak', false), [markActivity]);\n}\n","import useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useMarkActivity() {\n return useWebChatAPIContext().markActivity;\n}\n","import useMarkActivityKeyAsRead from '../providers/ActivityAcknowledgement/useMarkActivityKeyAsRead';\n\nexport default useMarkActivityKeyAsRead;\n","import useActivityAcknowledgementContext from './private/useContext';\n\nexport default function useMarkActivityKeyAsRead(): (activityKey: string) => void {\n return useActivityAcknowledgementContext().markActivityKeyAsRead;\n}\n","import useActivityAcknowledgementContext from './private/useContext';\n\nexport default function useMarkAllAsAcknowledged(): () => void {\n return useActivityAcknowledgementContext().markAllAsAcknowledged;\n}\n","import { PerformCardAction } from '../types/CardActionMiddleware';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function usePerformCardAction(): PerformCardAction {\n return useWebChatAPIContext().onCardAction;\n}\n","import Observable from 'core-js/features/observable';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function usePostActivity(): (activity: WebChatActivity) => Observable<string> {\n return useWebChatAPIContext().postActivity;\n}\n","import { useSelector } from './internal/WebChatReduxContext';\n\nexport default function useReferenceGrammarID(): [string] {\n return [useSelector(({ referenceGrammarID }) => referenceGrammarID)];\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [1, 5, 24, 48, 60000, 3600000] }] */\n\nimport { useMemo } from 'react';\n\nimport useDateFormatter from './useDateFormatter';\nimport useLocalizedGlobalize from './internal/useLocalizedGlobalize';\nimport useLocalizer from './useLocalizer';\nimport usePonyfill from './usePonyfill';\n\n// False positive: we are using `Date` as a type.\n// eslint-disable-next-line no-restricted-globals\nexport default function useRelativeTimeFormatter(): (dateOrString: Date | string) => string {\n const [{ Date }] = usePonyfill();\n const [globalize] = useLocalizedGlobalize();\n const formatDate = useDateFormatter();\n const localize = useLocalizer();\n\n return useMemo(() => {\n const relativeTimeFormatter = globalize.relativeTimeFormatter.bind(globalize);\n\n return dateOrString => {\n const date = new Date(dateOrString);\n const dateTime = date.getTime();\n\n if (isNaN(dateTime)) {\n return dateOrString;\n }\n\n const now = Date.now();\n const deltaInMs = now - dateTime;\n const deltaInMinutes = Math.floor(deltaInMs / 60000);\n const deltaInHours = Math.floor(deltaInMs / 3600000);\n\n if (deltaInMinutes < 1) {\n return localize('ACTIVITY_STATUS_TIMESTAMP_JUST_NOW');\n } else if (deltaInMinutes === 1) {\n return localize('ACTIVITY_STATUS_TIMESTAMP_ONE_MINUTE_AGO');\n } else if (deltaInHours < 1) {\n return relativeTimeFormatter('minute')(-deltaInMinutes);\n } else if (deltaInHours === 1) {\n return localize('ACTIVITY_STATUS_TIMESTAMP_ONE_HOUR_AGO');\n } else if (deltaInHours < 5) {\n return relativeTimeFormatter('hour')(-deltaInHours);\n } else if (deltaInHours <= 24) {\n return localize('ACTIVITY_STATUS_TIMESTAMP_TODAY');\n } else if (deltaInHours <= 48) {\n return localize('ACTIVITY_STATUS_TIMESTAMP_YESTERDAY');\n }\n\n return formatDate(date);\n };\n }, [Date, formatDate, globalize, localize]);\n}\n","import { useMemo } from 'react';\n\nimport useCreateActivityRendererInternal from './internal/useCreateActivityRendererInternal';\n\n// In the old days, the useRenderActivity() will be called like this:\n//\n// const renderActivity = useRenderActivity();\n// const element = renderActivity({ activity, nextVisibleActivity });\n\n// In the new days, the useCreateActivityRenderer() is a 3-pass function:\n//\n// const createActivityRenderer = useCreateActivityRenderer();\n// const renderActivity = createActivityRenderer({ activity, nextVisibleActivity });\n// const element = renderActivity && renderActivity(undefined, { renderActivityStatus, renderAvatar, showCallout });\n\n// Despite deprecation, useRenderActivity() can be retrofitted using useCreateActivityRenderer().\n\nlet showDeprecationNotes = true;\n\n/** @deprecated Please use `useCreateActivityRenderer()` instead. */\nexport default function useRenderActivity(renderAttachment) {\n if (showDeprecationNotes) {\n console.warn(\n 'botframework-webchat: \"useRenderActivity\" is deprecated and will be removed on or after 2022-07-22. Please use \"useCreateActivityRenderer()\" instead.'\n );\n\n showDeprecationNotes = false;\n }\n\n if (typeof renderAttachment !== 'function') {\n throw new Error('botframework-webchat: First argument passed to \"useRenderActivity\" must be a function.');\n }\n\n const createActivityRenderer = useCreateActivityRendererInternal(renderAttachment);\n\n return useMemo(\n () =>\n (renderActivityArg, renderOptions = {}) => {\n const { activity } = renderActivityArg || {};\n\n if (!activity) {\n throw new Error(\n 'botframework-webchat: First argument passed to the callback of useRenderActivity() must contain an \"activity\" property.'\n );\n }\n\n const renderActivity = createActivityRenderer(renderActivityArg);\n\n return !!renderActivity && renderActivity(renderOptions);\n },\n [createActivityRenderer]\n );\n}\n","import { useMemo } from 'react';\n\nimport useCreateActivityStatusRenderer from './useCreateActivityStatusRenderer';\n\n// Previously, useRenderActivity() was called like this:\n//\n// const element = useRenderActivityStatus({ activity, nextVisibleActivity });\n\n// Now, the useCreateActivityRenderer() is a 3-pass function:\n//\n// const createActivityStatusRenderer = useCreateActivityStatusRenderer();\n// const renderActivityStatus = createActivityStatusRenderer({ activity, hideTimestamp });\n// const element = renderActivityStatus && renderActivityStatus(undefined);\n\n// Despite deprecation, useRenderActivityStatus() can be retrofitted using useCreateActivityStatusRenderer().\n\nlet showDeprecationNotes = true;\n\n/** @deprecated Please use `useCreateActivityStatusRenderer()` instead. */\nexport default function useRenderActivityStatus({ activity, nextVisibleActivity }) {\n if (showDeprecationNotes) {\n console.warn(\n 'botframework-webchat: \"useRenderActivityStatus\" is deprecated and will be removed on or after 2022-07-22. Please use \"useCreateActivityStatusRenderer()\" instead.'\n );\n\n showDeprecationNotes = false;\n }\n\n const createActivityStatusRenderer = useCreateActivityStatusRenderer();\n\n return useMemo(() => {\n const renderActivityStatus = createActivityStatusRenderer({ activity, nextVisibleActivity });\n\n return !!renderActivityStatus && renderActivityStatus;\n }, [activity, createActivityStatusRenderer, nextVisibleActivity]);\n}\n","import useCreateAvatarRenderer from './useCreateAvatarRenderer';\n\nlet showDeprecationNotes = true;\n\n/** @deprecated Please use \"useRenderAvatar()\" instead. */\nexport default function useRenderAvatar({ activity }) {\n if (showDeprecationNotes) {\n console.warn(\n 'botframework-webchat: \"useRenderAvatar\" is deprecated and will be removed on or after 2022-07-28. Please use \"useRenderAvatar()\" instead.'\n );\n\n showDeprecationNotes = false;\n }\n\n const createAvatarRenderer = useCreateAvatarRenderer();\n\n return createAvatarRenderer({ activity });\n}\n","import { RenderToast } from '../types/ToastMiddleware';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useRenderToast(): RenderToast {\n return useWebChatAPIContext().toastRenderer;\n}\n","import { RenderTypingIndicator } from '../types/TypingIndicatorMiddleware';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useRenderTypingIndicator(): RenderTypingIndicator {\n return useWebChatAPIContext().typingIndicatorRenderer;\n}\n","import { useSelector } from './internal/WebChatReduxContext';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSendBoxValue(): [string, (value: string) => void] {\n return [useSelector(({ sendBoxValue }) => sendBoxValue), useWebChatAPIContext().setSendBox];\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSendEvent(): (name: string, value: any) => void {\n return useWebChatAPIContext().sendEvent;\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1024] }] */\n\nimport { useCallback } from 'react';\n\nimport useTrackEvent from './useTrackEvent';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\ntype PostActivityFile = {\n name: string;\n size: number;\n thumbnail?: string;\n url: string;\n};\n\nexport default function useSendFiles(): (files: PostActivityFile[]) => void {\n const { sendFiles } = useWebChatAPIContext();\n const trackEvent = useTrackEvent();\n\n return useCallback(\n files => {\n if (files && files.length) {\n sendFiles(files);\n\n trackEvent('sendFiles', {\n numFiles: files.length,\n sumSizeInKB: Math.round(files.reduce((total, { size }) => total + size, 0) / 1024)\n });\n }\n },\n [sendFiles, trackEvent]\n );\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSendMessage(): (\n text: string,\n method?: string,\n { channelData }?: { channelData?: any }\n) => void {\n return useWebChatAPIContext().sendMessage;\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSendMessageBack(): (value: any, text?: string, displayText?: string) => void {\n return useWebChatAPIContext().sendMessageBack;\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSendPostBack(): (value?: any) => void {\n return useWebChatAPIContext().sendPostBack;\n}\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useGetSendTimeoutForActivity from './useGetSendTimeoutForActivity';\n\nlet showDeprecationNotes = true;\n\n/** @deprecated Please use \"useGetSendTimeoutForActivity()\" instead. */\nexport default function useSendTimeoutForActivity(activity: WebChatActivity) {\n if (showDeprecationNotes) {\n console.warn(\n 'botframework-webchat: \"useSendTimeoutForActivity\" is deprecated and will be removed on or after 2022-07-28. Please use \"useGetSendTimeoutForActivity()\" instead.'\n );\n\n showDeprecationNotes = false;\n }\n\n const getSendTimeoutForActivity = useGetSendTimeoutForActivity();\n\n return getSendTimeoutForActivity({ activity });\n}\n","import { useSelector } from './internal/WebChatReduxContext';\n\nexport default function useSendTypingIndicator(): [boolean] {\n return [useSelector(({ sendTypingIndicator }) => sendTypingIndicator)];\n}\n","import Notification from '../types/Notification';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSetNotification(): (notification: Notification) => void {\n return useWebChatAPIContext().setNotification;\n}\n","import { useCallback } from 'react';\n\nimport { useSelector } from './internal/WebChatReduxContext';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useShouldSpeakIncomingActivity(): [boolean, (value: boolean) => void] {\n const { startSpeakingActivity, stopSpeakingActivity } = useWebChatAPIContext();\n\n return [\n useSelector(({ shouldSpeakIncomingActivity }) => shouldSpeakIncomingActivity),\n useCallback(\n value => {\n value ? startSpeakingActivity() : stopSpeakingActivity();\n },\n [startSpeakingActivity, stopSpeakingActivity]\n )\n ];\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useStartDictate(): () => void {\n return useWebChatAPIContext().startDictate;\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useStopDictate(): () => void {\n return useWebChatAPIContext().stopDictate;\n}\n","import { useCallback } from 'react';\n\nimport useTrackEvent from './useTrackEvent';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSubmitSendBox(): (method?: string, { channelData }?: { channelData: any }) => void {\n const { submitSendBox } = useWebChatAPIContext();\n const trackEvent = useTrackEvent();\n\n return useCallback(\n (method: string, { channelData }: { channelData?: any } = {}) => {\n trackEvent('submitSendBox', method);\n\n return submitSendBox(method, channelData && { channelData });\n },\n [submitSendBox, trackEvent]\n );\n}\n","import { useCallback } from 'react';\nimport type { DirectLineSuggestedAction } from 'botframework-webchat-core';\n\nimport { useSelector } from './internal/WebChatReduxContext';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useSuggestedActions(): [\n DirectLineSuggestedAction[],\n (suggestedActions: DirectLineSuggestedAction[]) => void\n] {\n const value = useSelector(({ suggestedActions }) => suggestedActions);\n const { clearSuggestedActions } = useWebChatAPIContext();\n\n return [\n value,\n useCallback(\n value => {\n if (value && value.length) {\n throw new Error('SuggestedActions cannot be set to values other than empty.');\n }\n\n clearSuggestedActions();\n },\n [clearSuggestedActions]\n )\n ];\n}\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useStyleOptions from './useStyleOptions';\n\nexport default function useTimeoutForSend(): [number | ((activity: WebChatActivity) => number)] {\n const [{ sendTimeout }] = useStyleOptions();\n\n return [sendTimeout];\n}\n","import { useCallback } from 'react';\n\nimport createCustomEvent from '../utils/createCustomEvent';\nimport randomId from '../utils/randomId';\nimport usePonyfill from './usePonyfill';\nimport useReadTelemetryDimensions from './internal/useReadTelemetryDimensions';\nimport useTrackException from './useTrackException';\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useTrackTiming<T>(): (\n name: string,\n functionOrPromise: (() => T) | Promise<T>\n) => Promise<T | void> {\n const [{ Date }] = usePonyfill();\n const { onTelemetry } = useWebChatAPIContext();\n const readTelemetryDimensions = useReadTelemetryDimensions();\n const trackException = useTrackException();\n\n return useCallback(\n async (name, functionOrPromise) => {\n if (!name || typeof name !== 'string') {\n return console.warn(\n 'botframework-webchat: \"name\" passed to \"useTrackTiming\" hook must be specified and of type string.'\n );\n } else if (typeof functionOrPromise !== 'function' && typeof functionOrPromise.then !== 'function') {\n return console.warn(\n 'botframework-webchat: \"functionOrPromise\" passed to \"useTrackTiming\" hook must be specified, of type function or Promise.'\n );\n }\n\n const timingId = randomId();\n\n onTelemetry &&\n onTelemetry(\n createCustomEvent('timingstart', {\n dimensions: readTelemetryDimensions(),\n name,\n timingId\n })\n );\n\n const startTime = Date.now();\n\n try {\n return await (typeof functionOrPromise === 'function' ? functionOrPromise() : functionOrPromise);\n } catch (err) {\n trackException(err, false);\n\n throw err;\n } finally {\n const duration = Date.now() - startTime;\n\n onTelemetry &&\n onTelemetry(\n createCustomEvent('timingend', {\n dimensions: readTelemetryDimensions(),\n duration,\n name,\n timingId\n })\n );\n }\n },\n [Date, onTelemetry, readTelemetryDimensions, trackException]\n );\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 5, 36] }] */\n\nimport random from 'math-random';\n\nexport default function randomId(maxLength = 5): string {\n return random().toString(36).substr(2, maxLength);\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useUserID(): [string] {\n return [useWebChatAPIContext().userID];\n}\n","import useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useUsername(): [string] {\n return [useWebChatAPIContext().username];\n}\n","import { useCallback } from 'react';\n\nimport useWebChatAPIContext from './internal/useWebChatAPIContext';\n\nexport default function useVoiceSelector(\n activity\n): (voices: (typeof window.SpeechSynthesisVoice)[]) => typeof window.SpeechSynthesisVoice {\n const context = useWebChatAPIContext();\n\n return useCallback(voices => context.selectVoice(voices, activity), [activity, context]);\n}\n","import { Provider } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport updateIn from 'simple-update-in';\nimport {\n clearSuggestedActions,\n connect as createConnectAction,\n createStoreWithOptions,\n disconnect,\n dismissNotification,\n emitTypingIndicator,\n markActivity,\n postActivity,\n sendEvent,\n sendFiles,\n sendMessage,\n sendMessageBack,\n sendPostBack,\n setDictateInterims,\n setDictateState,\n setLanguage,\n setNotification,\n setSendBox,\n setSendTimeout,\n setSendTypingIndicator,\n singleToArray,\n startDictate,\n startSpeakingActivity,\n stopDictate,\n stopSpeakingActivity,\n submitSendBox\n} from 'botframework-webchat-core';\n\nimport { default as WebChatAPIContext } from './internal/WebChatAPIContext';\nimport ActivityAcknowledgementComposer from '../providers/ActivityAcknowledgement/ActivityAcknowledgementComposer';\nimport ActivityKeyerComposer from '../providers/ActivityKeyer/ActivityKeyerComposer';\nimport ActivityMiddleware from '../types/ActivityMiddleware';\nimport ActivitySendStatusComposer from '../providers/ActivitySendStatus/ActivitySendStatusComposer';\nimport ActivitySendStatusTelemetryComposer from '../providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer';\nimport AttachmentForScreenReaderMiddleware from '../types/AttachmentForScreenReaderMiddleware';\nimport AttachmentMiddleware from '../types/AttachmentMiddleware';\nimport AvatarMiddleware from '../types/AvatarMiddleware';\nimport CardActionMiddleware from '../types/CardActionMiddleware';\nimport createCustomEvent from '../utils/createCustomEvent';\nimport createDefaultCardActionMiddleware from './middleware/createDefaultCardActionMiddleware';\nimport createDefaultGroupActivitiesMiddleware from './middleware/createDefaultGroupActivitiesMiddleware';\nimport defaultSelectVoice from './internal/defaultSelectVoice';\nimport ErrorBoundary from './utils/ErrorBoundary';\nimport getAllLocalizedStrings from '../localization/getAllLocalizedStrings';\nimport GroupActivitiesMiddleware from '../types/GroupActivitiesMiddleware';\nimport isObject from '../utils/isObject';\nimport LocalizedStrings from '../types/LocalizedStrings';\nimport mapMap from '../utils/mapMap';\nimport normalizeLanguage from '../utils/normalizeLanguage';\nimport normalizeStyleOptions from '../normalizeStyleOptions';\nimport observableToPromise from './utils/observableToPromise';\nimport patchStyleOptionsFromDeprecatedProps from '../patchStyleOptionsFromDeprecatedProps';\nimport PonyfillComposer from '../providers/Ponyfill/PonyfillComposer';\nimport PrecompiledGlobalizeType from '../types/PrecompiledGlobalize';\nimport ScrollToEndButtonMiddleware, { ScrollToEndButtonComponentFactory } from '../types/ScrollToEndButtonMiddleware';\nimport StyleOptions from '../StyleOptions';\nimport TelemetryMeasurementEvent, { TelemetryExceptionMeasurementEvent } from '../types/TelemetryMeasurementEvent';\nimport ToastMiddleware from '../types/ToastMiddleware';\nimport Tracker from './internal/Tracker';\nimport TypingIndicatorMiddleware from '../types/TypingIndicatorMiddleware';\nimport useMarkAllAsAcknowledged from './useMarkAllAsAcknowledged';\nimport usePonyfill from '../hooks/usePonyfill';\nimport WebChatReduxContext, { useDispatch } from './internal/WebChatReduxContext';\n\nimport applyMiddleware, {\n forLegacyRenderer as applyMiddlewareForLegacyRenderer,\n forRenderer as applyMiddlewareForRenderer\n} from './middleware/applyMiddleware';\n\n// PrecompileGlobalize is a generated file and is not ES module. TypeScript don't work with UMD.\n// @ts-ignore\nimport PrecompiledGlobalize from '../external/PrecompiledGlobalize';\n\nimport type { ActivityStatusMiddleware, RenderActivityStatus } from '../types/ActivityStatusMiddleware';\nimport type { ContextOf } from '../types/internal/ContextOf';\nimport type {\n DirectLineJSBotConnection,\n OneOrMany,\n GlobalScopePonyfill,\n WebChatActivity\n} from 'botframework-webchat-core';\nimport type { ReactNode } from 'react';\n\n// List of Redux actions factory we are hoisting as Web Chat functions\nconst DISPATCHERS = {\n clearSuggestedActions,\n dismissNotification,\n emitTypingIndicator,\n markActivity,\n postActivity,\n sendEvent,\n sendFiles,\n sendMessage,\n sendMessageBack,\n sendPostBack,\n setDictateInterims,\n setDictateState,\n setNotification,\n setSendBox,\n setSendTimeout,\n startDictate,\n startSpeakingActivity,\n stopDictate,\n stopSpeakingActivity,\n submitSendBox\n};\n\nfunction createCardActionContext({ cardActionMiddleware, directLine, dispatch, markAllAsAcknowledged, ponyfill }) {\n const runMiddleware = applyMiddleware(\n 'card action',\n ...singleToArray(cardActionMiddleware),\n createDefaultCardActionMiddleware()\n )({ dispatch });\n\n return {\n onCardAction: (cardAction, { target }: { target?: any } = {}) => {\n markAllAsAcknowledged();\n\n return runMiddleware({\n cardAction,\n getSignInUrl:\n cardAction.type === 'signin'\n ? () => {\n const { value } = cardAction;\n\n if (directLine.getSessionId) {\n /**\n * @todo TODO: [P3] We should change this one to async/await.\n * This is the first place in this project to use async.\n * Thus, we need to add @babel/plugin-transform-runtime and @babel/runtime.\n */\n return observableToPromise(directLine.getSessionId(), ponyfill).then(\n sessionId => `${value}${encodeURIComponent(`&code_challenge=${sessionId}`)}`\n );\n }\n\n console.warn('botframework-webchat: OAuth is not supported on this Direct Line adapter.');\n\n return value;\n }\n : null,\n target\n });\n }\n };\n}\n\nfunction createGroupActivitiesContext({ groupActivitiesMiddleware, groupTimestamp, ponyfill }) {\n const runMiddleware = applyMiddleware(\n 'group activities',\n ...singleToArray(groupActivitiesMiddleware),\n createDefaultGroupActivitiesMiddleware({ groupTimestamp, ponyfill })\n );\n\n return {\n groupActivities: runMiddleware({})\n };\n}\n\nfunction mergeStringsOverrides(localizedStrings, language, overrideLocalizedStrings) {\n if (!overrideLocalizedStrings) {\n return localizedStrings;\n } else if (typeof overrideLocalizedStrings === 'function') {\n const merged = overrideLocalizedStrings(localizedStrings, language);\n\n if (!isObject(merged)) {\n throw new Error('botframework-webchat: overrideLocalizedStrings function must return an object.');\n }\n\n return merged;\n }\n\n if (!isObject(overrideLocalizedStrings)) {\n throw new Error('botframework-webchat: overrideLocalizedStrings must be either a function, an object, or falsy.');\n }\n\n return { ...localizedStrings, ...overrideLocalizedStrings };\n}\n\n// It seems \"react/require-default-props\" did not pick up `ComposerCore.defaultProps`.\n// And it falsely complaint `optional?: string` must have a corresponding `ComposerCore.defaultProps.optional = undefined`, even we already set it below.\n// Since we set both TypeScript `Props` class and `ComposerCore.propTypes`, this check will be done there as well.\n// Ignoring it in TypeScript version should be safe, as we have `propTypes` version to protect us.\n\n/* eslint-disable react/require-default-props */\ntype ComposerCoreProps = {\n activityMiddleware?: OneOrMany<ActivityMiddleware>;\n activityStatusMiddleware?: OneOrMany<ActivityStatusMiddleware>;\n attachmentForScreenReaderMiddleware?: OneOrMany<AttachmentForScreenReaderMiddleware>;\n attachmentMiddleware?: OneOrMany<AttachmentMiddleware>;\n avatarMiddleware?: OneOrMany<AvatarMiddleware>;\n cardActionMiddleware?: OneOrMany<CardActionMiddleware>;\n children?: ReactNode | ((context: ContextOf<typeof WebChatAPIContext>) => ReactNode);\n dir?: string;\n directLine: DirectLineJSBotConnection;\n disabled?: boolean;\n downscaleImageToDataURL?: (blob: Blob, maxWidth: number, maxHeight: number, type: string, quality: number) => string;\n grammars?: any;\n groupActivitiesMiddleware?: OneOrMany<GroupActivitiesMiddleware>;\n internalErrorBoxClass?: React.Component | Function;\n locale?: string;\n onTelemetry?: (event: TelemetryMeasurementEvent) => void;\n overrideLocalizedStrings?: LocalizedStrings | ((strings: LocalizedStrings, language: string) => LocalizedStrings);\n renderMarkdown?: (\n markdown: string,\n newLineOptions: { markdownRespectCRLF: boolean },\n linkOptions: { externalLinkAlt: string }\n ) => string;\n scrollToEndButtonMiddleware?: OneOrMany<ScrollToEndButtonMiddleware>;\n selectVoice?: (voices: (typeof window.SpeechSynthesisVoice)[], activity: WebChatActivity) => void;\n sendTypingIndicator?: boolean;\n styleOptions?: StyleOptions;\n toastMiddleware?: OneOrMany<ToastMiddleware>;\n typingIndicatorMiddleware?: OneOrMany<TypingIndicatorMiddleware>;\n userID?: string;\n username?: string;\n\n /** @deprecated Please use \"activityMiddleware\" instead. */\n activityRenderer?: any; // TODO: [P4] Remove on or after 2022-06-15.\n /** @deprecated Please use \"activityStatusMiddleware\" instead. */\n activityStatusRenderer?: any; // TODO: [P4] Remove on or after 2022-06-15.\n /** @deprecated Please use \"attachmentMiddleware\" instead. */\n attachmentRenderer?: any; // TODO: [P4] Remove on or after 2022-06-15.\n /** @deprecated Please use \"avatarMiddleware\" instead. */\n avatarRenderer?: any; // TODO: [P4] Remove on or after 2022-06-15.\n /** @deprecated Please use \"styleOptions.groupTimestamp\" instead. */\n groupTimestamp?: boolean | number; // TODO: [P4] Remove on or after 2022-01-01\n /** @deprecated Please use \"styleOptions.sendTimeout\" instead. */\n sendTimeout?: number; // TODO: [P4] Remove on or after 2022-01-01.\n /** @deprecated Please use \"toastMiddleware\" instead. */\n toastRenderer?: any; // TODO: [P4] Remove on or after 2022-06-15.\n /** @deprecated Please use \"typingIndicatorRenderer\" instead. */\n typingIndicatorRenderer?: any; // TODO: [P4] Remove on or after 2022-06-15.\n};\n/* eslint-enable react/require-default-props */\n\nconst ComposerCore = ({\n activityMiddleware,\n activityRenderer,\n activityStatusMiddleware,\n activityStatusRenderer,\n attachmentForScreenReaderMiddleware,\n attachmentMiddleware,\n attachmentRenderer,\n avatarMiddleware,\n avatarRenderer,\n cardActionMiddleware,\n children,\n dir,\n directLine,\n disabled,\n downscaleImageToDataURL,\n grammars,\n groupActivitiesMiddleware,\n groupTimestamp,\n internalErrorBoxClass,\n locale,\n onTelemetry,\n overrideLocalizedStrings,\n renderMarkdown,\n scrollToEndButtonMiddleware,\n selectVoice,\n sendTimeout,\n sendTypingIndicator,\n styleOptions,\n toastMiddleware,\n toastRenderer,\n typingIndicatorMiddleware,\n typingIndicatorRenderer,\n userID,\n username\n}: ComposerCoreProps) => {\n const [ponyfill] = usePonyfill();\n const dispatch = useDispatch();\n const telemetryDimensionsRef = useRef({});\n\n const patchedDir = useMemo(() => (dir === 'ltr' || dir === 'rtl' ? dir : 'auto'), [dir]);\n const patchedGrammars = useMemo(() => grammars || [], [grammars]);\n const patchedStyleOptions = useMemo(\n () => normalizeStyleOptions(patchStyleOptionsFromDeprecatedProps(styleOptions, { groupTimestamp, sendTimeout })),\n [groupTimestamp, sendTimeout, styleOptions]\n );\n\n useEffect(() => {\n dispatch(setLanguage(locale));\n }, [dispatch, locale]);\n\n useEffect(() => {\n typeof sendTimeout === 'number' && dispatch(setSendTimeout(sendTimeout));\n }, [dispatch, sendTimeout]);\n\n useEffect(() => {\n dispatch(setSendTypingIndicator(!!sendTypingIndicator));\n }, [dispatch, sendTypingIndicator]);\n\n useEffect(() => {\n dispatch(\n createConnectAction({\n directLine,\n userID,\n username\n })\n );\n\n return () => {\n /**\n * @todo TODO: [P3] disconnect() is an async call (pending -> fulfilled), we need to wait, or change it to reconnect()\n */\n dispatch(disconnect());\n };\n }, [dispatch, directLine, userID, username]);\n\n const markAllAsAcknowledged = useMarkAllAsAcknowledged();\n\n const cardActionContext = useMemo(\n () => createCardActionContext({ cardActionMiddleware, directLine, dispatch, markAllAsAcknowledged, ponyfill }),\n [cardActionMiddleware, directLine, dispatch, markAllAsAcknowledged, ponyfill]\n );\n\n const patchedSelectVoice = useMemo(\n () => selectVoice || defaultSelectVoice.bind(null, { language: locale }),\n [locale, selectVoice]\n );\n\n const groupActivitiesContext = useMemo(\n () =>\n createGroupActivitiesContext({\n groupActivitiesMiddleware,\n groupTimestamp: patchedStyleOptions.groupTimestamp,\n ponyfill\n }),\n [groupActivitiesMiddleware, patchedStyleOptions.groupTimestamp, ponyfill]\n );\n\n const hoistedDispatchers = useMemo(\n () =>\n mapMap(\n DISPATCHERS,\n dispatcher =>\n (...args) =>\n dispatch(dispatcher(...args))\n ),\n [dispatch]\n );\n\n const patchedLocalizedStrings = useMemo(\n () => mergeStringsOverrides(getAllLocalizedStrings()[normalizeLanguage(locale)], locale, overrideLocalizedStrings),\n [locale, overrideLocalizedStrings]\n );\n\n const localizedGlobalize = useMemo<PrecompiledGlobalizeType>(() => {\n const { GLOBALIZE, GLOBALIZE_LANGUAGE } = patchedLocalizedStrings || {};\n\n return GLOBALIZE || (GLOBALIZE_LANGUAGE && PrecompiledGlobalize(GLOBALIZE_LANGUAGE)) || PrecompiledGlobalize('en');\n }, [patchedLocalizedStrings]);\n\n const trackDimension = useCallback(\n (name: string, data: any) => {\n if (!name || typeof name !== 'string') {\n return console.warn('botframework-webchat: Telemetry dimension name must be a string.');\n }\n\n const type = typeof data;\n\n if (type !== 'string' && type !== 'undefined') {\n return console.warn('botframework-webchat: Telemetry dimension data must be a string or undefined.');\n }\n\n telemetryDimensionsRef.current = updateIn(\n telemetryDimensionsRef.current,\n [name],\n type === 'undefined' ? data : () => data\n );\n },\n [telemetryDimensionsRef]\n );\n\n const patchedActivityRenderer = useMemo(() => {\n activityRenderer &&\n console.warn(\n 'Web Chat: \"activityRenderer\" is deprecated and will be removed on 2022-06-15, please use \"activityMiddleware\" instead.'\n );\n\n return (\n activityRenderer ||\n applyMiddlewareForRenderer(\n 'activity',\n { strict: false },\n ...singleToArray(activityMiddleware),\n () =>\n () =>\n ({ activity }) => {\n if (activity) {\n throw new Error(`No renderer for activity of type \"${activity.type}\"`);\n } else {\n throw new Error('No activity to render');\n }\n }\n )({})\n );\n }, [activityMiddleware, activityRenderer]);\n\n const patchedActivityStatusRenderer = useMemo<RenderActivityStatus>(() => {\n activityStatusRenderer &&\n console.warn(\n 'Web Chat: \"activityStatusRenderer\" is deprecated and will be removed on 2022-06-15, please use \"activityStatusMiddleware\" instead.'\n );\n\n return (\n activityStatusRenderer ||\n applyMiddlewareForRenderer(\n 'activity status',\n { strict: false },\n ...singleToArray(activityStatusMiddleware),\n () => () => () => false\n )({})\n );\n }, [activityStatusMiddleware, activityStatusRenderer]);\n\n const patchedAttachmentForScreenReaderRenderer = useMemo(\n () =>\n applyMiddlewareForRenderer(\n 'attachment for screen reader',\n { strict: true },\n ...singleToArray(attachmentForScreenReaderMiddleware),\n () =>\n () =>\n ({ attachment }) => {\n if (attachment) {\n console.warn(`No renderer for attachment for screen reader of type \"${attachment.contentType}\"`);\n return false;\n }\n\n return () => {\n /**\n * @todo TODO: [P4] Might be able to throw without returning a function -- investigate and possibly fix\n */\n throw new Error('No attachment to render');\n };\n }\n )({}),\n [attachmentForScreenReaderMiddleware]\n );\n\n const patchedAttachmentRenderer = useMemo(() => {\n if (attachmentRenderer) {\n console.warn(\n 'Web Chat: \"attachmentRenderer\" is deprecated and will be removed on 2022-06-15, please use \"attachmentMiddleware\" instead.'\n );\n\n return attachmentRenderer;\n }\n\n // Attachment renderer\n return applyMiddlewareForLegacyRenderer(\n 'attachment',\n ...singleToArray(attachmentMiddleware),\n () =>\n () =>\n ({ attachment }) => {\n if (attachment) {\n throw new Error(`No renderer for attachment of type \"${attachment.contentType}\"`);\n } else {\n throw new Error('No attachment to render');\n }\n }\n )({});\n }, [attachmentMiddleware, attachmentRenderer]);\n\n const patchedAvatarRenderer = useMemo(() => {\n avatarRenderer &&\n console.warn(\n 'Web Chat: \"avatarRenderer\" is deprecated and will be removed on 2022-06-15, please use \"avatarMiddleware\" instead.'\n );\n\n return (\n avatarRenderer ||\n applyMiddlewareForRenderer(\n 'avatar',\n { strict: false },\n ...singleToArray(avatarMiddleware),\n () => () => () => false\n )({})\n );\n }, [avatarMiddleware, avatarRenderer]);\n\n const patchedToastRenderer = useMemo(() => {\n toastRenderer &&\n console.warn(\n 'Web Chat: \"toastRenderer\" is deprecated and will be removed on 2022-06-15, please use \"toastMiddleware\" instead.'\n );\n\n return (\n toastRenderer ||\n applyMiddlewareForRenderer(\n 'toast',\n { strict: false },\n ...singleToArray(toastMiddleware),\n () =>\n () =>\n ({ notification }) => {\n if (notification) {\n throw new Error(`No renderer for notification of type \"${notification.contentType}\"`);\n } else {\n throw new Error('No notification to render');\n }\n }\n )({})\n );\n }, [toastMiddleware, toastRenderer]);\n\n const patchedTypingIndicatorRenderer = useMemo(() => {\n typingIndicatorRenderer &&\n console.warn(\n 'Web Chat: \"typingIndicatorRenderer\" is deprecated and will be removed on 2022-06-15, please use \"typingIndicatorMiddleware\" instead.'\n );\n\n return (\n typingIndicatorRenderer ||\n applyMiddlewareForRenderer(\n 'typing indicator',\n { strict: false },\n ...singleToArray(typingIndicatorMiddleware),\n () => () => () => false\n )({})\n );\n }, [typingIndicatorMiddleware, typingIndicatorRenderer]);\n\n const scrollToEndButtonRenderer: ScrollToEndButtonComponentFactory = useMemo(\n () =>\n applyMiddlewareForRenderer(\n 'scroll to end button',\n { strict: true },\n ...singleToArray(scrollToEndButtonMiddleware),\n () => () => () => false\n )() as any,\n [scrollToEndButtonMiddleware]\n );\n\n /**\n * This is a heavy function, and it is expected to be only called when there is a need to recreate business logic, e.g.\n * - User ID changed, causing all send* functions to be updated\n * - send\n * @todo TODO: [P3] We should think about if we allow the user to change onSendBoxValueChanged/sendBoxValue, e.g.\n * 1. Turns text into UPPERCASE\n * 2. Filter out profanity\n * @todo TODO: [P4] Revisit all members of context\n * This context should consist of members that are not in the Redux store\n * i.e. members that are not interested in other types of UIs\n */\n const context = useMemo<ContextOf<typeof WebChatAPIContext>>(\n () => ({\n ...cardActionContext,\n ...groupActivitiesContext,\n ...hoistedDispatchers,\n activityRenderer: patchedActivityRenderer,\n activityStatusRenderer: patchedActivityStatusRenderer,\n attachmentForScreenReaderRenderer: patchedAttachmentForScreenReaderRenderer,\n attachmentRenderer: patchedAttachmentRenderer,\n avatarRenderer: patchedAvatarRenderer,\n dir: patchedDir,\n directLine,\n disabled,\n downscaleImageToDataURL,\n grammars: patchedGrammars,\n internalErrorBoxClass,\n language: locale,\n localizedGlobalizeState: [localizedGlobalize],\n localizedStrings: patchedLocalizedStrings,\n onTelemetry,\n renderMarkdown,\n scrollToEndButtonRenderer,\n selectVoice: patchedSelectVoice,\n sendTypingIndicator,\n styleOptions: patchedStyleOptions,\n telemetryDimensionsRef,\n toastRenderer: patchedToastRenderer,\n trackDimension,\n typingIndicatorRenderer: patchedTypingIndicatorRenderer,\n userID,\n username\n }),\n [\n cardActionContext,\n directLine,\n disabled,\n downscaleImageToDataURL,\n groupActivitiesContext,\n hoistedDispatchers,\n internalErrorBoxClass,\n locale,\n localizedGlobalize,\n onTelemetry,\n patchedActivityRenderer,\n patchedActivityStatusRenderer,\n patchedAttachmentForScreenReaderRenderer,\n patchedAttachmentRenderer,\n patchedAvatarRenderer,\n patchedDir,\n patchedGrammars,\n patchedLocalizedStrings,\n patchedSelectVoice,\n patchedStyleOptions,\n patchedToastRenderer,\n patchedTypingIndicatorRenderer,\n renderMarkdown,\n scrollToEndButtonRenderer,\n sendTypingIndicator,\n telemetryDimensionsRef,\n trackDimension,\n userID,\n username\n ]\n );\n\n return (\n <WebChatAPIContext.Provider value={context}>\n <ActivitySendStatusComposer>\n {typeof children === 'function' ? children(context) : children}\n <ActivitySendStatusTelemetryComposer />\n </ActivitySendStatusComposer>\n {onTelemetry && <Tracker />}\n </WebChatAPIContext.Provider>\n );\n};\n\n/**\n * @todo TODO: [P3] We should consider moving some data from Redux store to props\n * Although we use `connectToWebChat` to hide the details of accessor of Redux store,\n * we should clean up the responsibility between Context and Redux store\n * We should decide which data is needed for React but not in other environment such as CLI/VSCode\n */\nComposerCore.defaultProps = {\n activityMiddleware: undefined,\n activityRenderer: undefined,\n activityStatusMiddleware: undefined,\n activityStatusRenderer: undefined,\n attachmentForScreenReaderMiddleware: undefined,\n attachmentMiddleware: undefined,\n attachmentRenderer: undefined,\n avatarMiddleware: undefined,\n avatarRenderer: undefined,\n cardActionMiddleware: undefined,\n children: undefined,\n dir: 'auto',\n disabled: false,\n downscaleImageToDataURL: undefined,\n grammars: [],\n groupActivitiesMiddleware: undefined,\n groupTimestamp: undefined,\n internalErrorBoxClass: undefined,\n locale: window.navigator.language || 'en-US',\n onTelemetry: undefined,\n overrideLocalizedStrings: undefined,\n renderMarkdown: undefined,\n scrollToEndButtonMiddleware: undefined,\n selectVoice: undefined,\n sendTimeout: undefined,\n sendTypingIndicator: false,\n styleOptions: {},\n toastMiddleware: undefined,\n toastRenderer: undefined,\n typingIndicatorMiddleware: undefined,\n typingIndicatorRenderer: undefined,\n userID: '',\n username: ''\n};\n\nComposerCore.propTypes = {\n activityMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n activityRenderer: PropTypes.func,\n activityStatusMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n activityStatusRenderer: PropTypes.func,\n attachmentForScreenReaderMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n attachmentMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n attachmentRenderer: PropTypes.func,\n avatarMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n avatarRenderer: PropTypes.func,\n cardActionMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n children: PropTypes.any,\n dir: PropTypes.oneOf(['auto', 'ltr', 'rtl']),\n // PropTypes.shape({ ... }) did not honor isRequired for its members.\n // @ts-ignore\n directLine: PropTypes.shape({\n activity$: PropTypes.shape({\n subscribe: PropTypes.func.isRequired\n }).isRequired,\n connectionStatus$: PropTypes.shape({\n subscribe: PropTypes.func.isRequired\n }).isRequired,\n end: PropTypes.func,\n getSessionId: PropTypes.func,\n postActivity: PropTypes.func.isRequired,\n referenceGrammarID: PropTypes.string,\n token: PropTypes.string\n }).isRequired,\n disabled: PropTypes.bool,\n downscaleImageToDataURL: PropTypes.func,\n grammars: PropTypes.arrayOf(PropTypes.string),\n groupActivitiesMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n groupTimestamp: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n internalErrorBoxClass: PropTypes.func, // This is for internal use only. We don't allow customization of error box.\n locale: PropTypes.string,\n onTelemetry: PropTypes.func,\n overrideLocalizedStrings: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n renderMarkdown: PropTypes.func,\n scrollToEndButtonMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n selectVoice: PropTypes.func,\n sendTimeout: PropTypes.number,\n sendTypingIndicator: PropTypes.bool,\n styleOptions: PropTypes.any,\n toastMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n toastRenderer: PropTypes.func,\n typingIndicatorMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),\n typingIndicatorRenderer: PropTypes.func,\n userID: PropTypes.string,\n username: PropTypes.string\n};\n\ntype ComposerWithStoreProps = ComposerCoreProps & {\n store?: any;\n};\n\ntype ComposerProps = ComposerWithStoreProps & {\n internalRenderErrorBox?: any;\n\n /**\n * Ponyfill to overrides specific global scope members. This prop cannot be changed after initial render.\n *\n * This option is for development use only. Not all features in Web Chat are ponyfilled.\n *\n * To fake timers, `setTimeout` and related functions can be passed to overrides the original global scope members.\n *\n * Please see [#4662](https://github.com/microsoft/BotFramework-WebChat/pull/4662) for details.\n */\n ponyfill?: Partial<GlobalScopePonyfill>;\n};\n\n// We will create a Redux store if it was not passed in\nconst ComposerWithStore = ({ onTelemetry, store, ...props }: ComposerWithStoreProps) => {\n const [ponyfill] = usePonyfill();\n\n const memoizedStore = useMemo(() => {\n const nextStore = store || createStoreWithOptions({ ponyfill });\n\n const storePonyfill = nextStore.getState().internal?.ponyfill || {};\n\n const keys = new Set([...Object.keys(storePonyfill), ...Object.keys(ponyfill)]);\n\n // Filter out forbidden properties.\n keys.delete('prototype');\n\n Object.getOwnPropertyNames(Object.prototype).forEach(key => {\n keys.delete(key);\n });\n\n const nativeFunction = (fn: (...args: unknown[]) => unknown): boolean =>\n typeof fn === 'function' && ('' + fn).endsWith('() { [native code] }');\n\n const ponyfillFunctionEquals = (x: (...args: unknown[]) => unknown, y: (...args: unknown[]) => unknown) =>\n (nativeFunction(x) && nativeFunction(y)) || x === y;\n\n // We have filtered out all forbidden properties.\n // eslint-disable-next-line security/detect-object-injection\n const differentKeys = Array.from(keys).filter(key => !ponyfillFunctionEquals(storePonyfill[key], ponyfill[key]));\n\n if (differentKeys.length) {\n console.warn(\n `botframework-webchat: Ponyfill used in store should match the ponyfill passed in props: ${differentKeys.join(\n ', '\n )}`\n );\n }\n\n return nextStore;\n }, [ponyfill, store]);\n\n return (\n <Provider context={WebChatReduxContext} store={memoizedStore}>\n <ActivityKeyerComposer>\n <ActivityAcknowledgementComposer>\n <ComposerCore onTelemetry={onTelemetry} {...props} />\n </ActivityAcknowledgementComposer>\n </ActivityKeyerComposer>\n </Provider>\n );\n};\n\nComposerWithStore.defaultProps = {\n onTelemetry: undefined,\n store: undefined\n};\n\nComposerWithStore.propTypes = {\n onTelemetry: PropTypes.func,\n store: PropTypes.any\n};\n\nconst Composer = ({ internalRenderErrorBox, onTelemetry, ponyfill, ...props }: ComposerProps) => {\n const [error, setError] = useState();\n\n const handleError = useCallback(\n error => {\n console.error('botframework-webchat: Uncaught exception', { error });\n\n onTelemetry &&\n onTelemetry(createCustomEvent('exception', { error, fatal: true }) as TelemetryExceptionMeasurementEvent);\n setError(error);\n },\n [onTelemetry, setError]\n );\n\n return error ? (\n !!internalRenderErrorBox && internalRenderErrorBox({ error, type: 'uncaught exception' })\n ) : (\n <ErrorBoundary onError={handleError}>\n <PonyfillComposer ponyfill={ponyfill}>\n <ComposerWithStore onTelemetry={onTelemetry} {...props} />\n </PonyfillComposer>\n </ErrorBoundary>\n );\n};\n\nComposer.defaultProps = {\n ...ComposerWithStore.defaultProps,\n internalRenderErrorBox: undefined,\n onTelemetry: undefined,\n ponyfill: undefined\n};\n\nComposer.propTypes = {\n ...ComposerWithStore.propTypes,\n internalRenderErrorBox: PropTypes.any,\n onTelemetry: PropTypes.func,\n ponyfill: PropTypes.any\n};\n\nexport default Composer;\n\nexport type { ComposerProps };\n","import React, { useCallback, useMemo, useState } from 'react';\n\nimport type { FC, PropsWithChildren } from 'react';\n\nimport ActivityAcknowledgementContext, { ActivityAcknowledgementContextType } from './private/Context';\nimport findLastIndex from '../../utils/findLastIndex';\nimport useActivities from '../../hooks/useActivities';\nimport useActivityKeys from '../ActivityKeyer/useActivityKeys';\nimport usePrevious from '../../hooks/internal/usePrevious';\nimport useValueRef from '../../hooks/internal/useValueRef';\n\nimport type { ActivityAcknowledgement } from './private/types';\n\ntype ActivityAcknowledgementComposerProps = PropsWithChildren<{}>;\n\nfunction findClosestActivityKeyIfNotExists(\n activityKey: string,\n keys: readonly string[],\n prevKeys: readonly string[]\n): string | undefined {\n if (keys.includes(activityKey)) {\n return activityKey;\n } else if (!prevKeys || !activityKey) {\n // Initially, when the transcript was empty, there should be nothing read.\n return;\n }\n\n // If the last activity key is no longer in this activities (say, deleted), we try to find the closest one.\n const prevIndex = prevKeys.indexOf(activityKey);\n\n if (~prevIndex) {\n // List out all previously activity keys, find the closest one that is in the new transcript.\n const acknowledgedActivityKeys = prevKeys.slice(0, prevIndex).reverse();\n\n for (const prevAcknowledgedActivityKey of acknowledgedActivityKeys) {\n if (keys.includes(prevAcknowledgedActivityKey)) {\n return prevAcknowledgedActivityKey;\n }\n }\n }\n\n // If nothing is found, return `undefined`.\n}\n\nconst ActivityAcknowledgementComposer: FC<ActivityAcknowledgementComposerProps> = ({ children }) => {\n const [activities] = useActivities();\n const [allActivityKeys] = useActivityKeys();\n const [rawLastAcknowledgedActivityKey, setRawLastAcknowledgedActivityKey] = useState<string | undefined>();\n const [rawLastReadActivityKey, setRawLastReadActivityKey] = useState<string | undefined>();\n\n const allActivityKeysRef = useValueRef(allActivityKeys);\n const prevAllActivityKeys = usePrevious(allActivityKeys);\n\n const lastOutgoingActivityKeyIndex = useMemo(\n () => findLastIndex(activities, activity => activity.from?.role === 'user'),\n [activities]\n );\n\n // Make sure when we return \"lastReadActivityKey\" exists in the current transcript.\n const lastReadActivityKey = useMemo(() => {\n rawLastReadActivityKey &&\n !~prevAllActivityKeys.includes(rawLastReadActivityKey) &&\n console.warn(\n `botframework-webchat internal assertion: \"rawLastReadActivityKey\" of value ${rawLastReadActivityKey} should be in the \"prevAllActivityKeys\" array.`\n );\n\n return findClosestActivityKeyIfNotExists(rawLastReadActivityKey, allActivityKeys, prevAllActivityKeys);\n }, [allActivityKeys, prevAllActivityKeys, rawLastReadActivityKey]);\n\n const lastReadActivityKeyRef = useValueRef(lastReadActivityKey);\n\n // Make sure when we return \"lastAcknowledgedActivityKey\" exists in the current transcript.\n const lastAcknowledgedActivityKey = useMemo(() => {\n rawLastAcknowledgedActivityKey &&\n !~prevAllActivityKeys.includes(rawLastAcknowledgedActivityKey) &&\n console.warn(\n `botframework-webchat internal assertion: \"rawLastAcknowledgedActivityKey\" of value ${rawLastAcknowledgedActivityKey} should be in the \"prevAllActivityKeys\" array.`\n );\n\n const lastAcknowledgedActivityKey = findClosestActivityKeyIfNotExists(\n rawLastAcknowledgedActivityKey,\n allActivityKeys,\n prevAllActivityKeys\n );\n\n // TODO: [P2] Since Direct Line may send history and does not have read receipt.\n // Thus, if we don't assume everything is acknowledged initially, while displaying the history,\n // the transcript would soon stop scrolling.\n // Thus, before the first outgoing activity is detected, we need to assume everything is acknowledged.\n return (\n allActivityKeys[Math.max(allActivityKeys.indexOf(lastAcknowledgedActivityKey), lastOutgoingActivityKeyIndex)] ||\n allActivityKeys[allActivityKeys.length - 1]\n );\n }, [allActivityKeys, lastOutgoingActivityKeyIndex, prevAllActivityKeys, rawLastAcknowledgedActivityKey]);\n\n const activityAcknowledgements = useMemo<Readonly<Map<string, ActivityAcknowledgement>>>(() => {\n const activityAcknowledgements = new Map<string, ActivityAcknowledgement>();\n const lastAcknowledgedIndex = allActivityKeys.indexOf(lastAcknowledgedActivityKey);\n const lastReadIndex = allActivityKeys.indexOf(lastReadActivityKey);\n\n allActivityKeys.forEach((activityKey, index) => {\n activityAcknowledgements.set(activityKey, {\n acknowledged: index <= lastAcknowledgedIndex,\n read: index <= lastReadIndex\n });\n });\n\n return Object.freeze(activityAcknowledgements);\n }, [allActivityKeys, lastAcknowledgedActivityKey, lastReadActivityKey]);\n\n const activityAcknowledgementsRef = useValueRef(activityAcknowledgements);\n\n const getHasAcknowledgedByActivityKey = useCallback<(activityKey: string) => boolean>(\n (activityKey: string) => activityAcknowledgementsRef.current.get(activityKey)?.acknowledged,\n [activityAcknowledgementsRef]\n );\n\n // TODO: [P2] Memoize with `useMemoWithPrevious` for better memoization of arrays.\n const activityKeysByReadState = useMemo<readonly [readonly string[], readonly string[]]>(() => {\n const index = allActivityKeys.indexOf(lastReadActivityKey);\n\n return Object.freeze([\n Object.freeze(allActivityKeys.slice(0, index + 1)),\n Object.freeze(allActivityKeys.slice(index + 1))\n ]) as readonly [readonly string[], readonly string[]];\n }, [allActivityKeys, lastReadActivityKey]);\n\n const markAllAsAcknowledged = useCallback((): void => {\n const { current: allActivityKeys } = allActivityKeysRef;\n\n setRawLastAcknowledgedActivityKey(allActivityKeys[allActivityKeys.length - 1]);\n }, [allActivityKeysRef, setRawLastAcknowledgedActivityKey]);\n\n const markActivityKeyAsRead = useCallback(\n (activityKey: string): void => {\n const { current: allActivityKeys } = allActivityKeysRef;\n const index = allActivityKeys.indexOf(activityKey);\n\n if (!~index) {\n return console.warn(\n `botframework-webchat: Cannot mark activity with key ${activityKey} as read because it is not in the transcript.`\n );\n }\n\n index > allActivityKeys.indexOf(lastReadActivityKeyRef.current) && setRawLastReadActivityKey(activityKey);\n },\n [allActivityKeysRef, lastReadActivityKeyRef, setRawLastReadActivityKey]\n );\n\n if (activityKeysByReadState[0].length + activityKeysByReadState[1].length !== allActivityKeys.length) {\n console.warn(\n 'botframework-webchat internal: Sum of count of read and unread activity keys MUST equals to total number of activity keys.'\n );\n }\n\n const contextValue = useMemo<ActivityAcknowledgementContextType>(\n () => ({\n activityKeysByReadState,\n getHasAcknowledgedByActivityKey,\n lastAcknowledgedActivityKeyState: Object.freeze([lastAcknowledgedActivityKey]) as readonly [string],\n lastReadActivityKeyState: Object.freeze([lastReadActivityKey]) as readonly [string],\n markActivityKeyAsRead,\n markAllAsAcknowledged\n }),\n [\n activityKeysByReadState,\n getHasAcknowledgedByActivityKey,\n lastAcknowledgedActivityKey,\n lastReadActivityKey,\n markActivityKeyAsRead,\n markAllAsAcknowledged\n ]\n );\n\n return (\n <ActivityAcknowledgementContext.Provider value={contextValue}>{children}</ActivityAcknowledgementContext.Provider>\n );\n};\n\nexport default ActivityAcknowledgementComposer;\n","export default function findLastIndex<T>(array: readonly T[], predicate: (value: T, index: number) => boolean): number {\n const index = [...array].reverse().findIndex(predicate);\n\n if (~index) {\n const { length } = array || [];\n\n return length - index - 1;\n }\n\n return index;\n}\n","import { RefObject, useMemo, useRef } from 'react';\n\nexport default function useValueRef<T>(value: T): RefObject<T> {\n const ref = useRef<T>();\n const readOnlyRef = useMemo(\n () =>\n Object.create(\n {},\n {\n current: {\n get: () => ref.current\n }\n }\n ),\n []\n );\n\n ref.current = value;\n\n return readOnlyRef;\n}\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useMemo, useRef } from 'react';\n\nimport ActivityKeyerContext from './private/Context';\nimport getActivityId from './private/getActivityId';\nimport getClientActivityId from './private/getClientActivityId';\nimport uniqueId from './private/uniqueId';\nimport useActivities from '../../hooks/useActivities';\nimport useActivityKeyerContext from './private/useContext';\n\nimport type { ActivityKeyerContextType } from './private/Context';\nimport type { FC, PropsWithChildren } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\ntype ActivityIdToKeyMap = Map<string, string>;\ntype ActivityToKeyMap = Map<WebChatActivity, string>;\ntype ClientActivityIdToKeyMap = Map<string, string>;\ntype KeyToActivityMap = Map<string, WebChatActivity>;\n\n/**\n * React context composer component to assign a perma-key to every activity.\n * This will support both `useGetActivityByKey` and `useGetKeyByActivity` custom hooks.\n *\n * Today, `activity.id` is only guaranteed for activity from others.\n * Not all activities sent by the local user has `activity.id`.\n *\n * To track outgoing activities, we added `activity.channelData.clientActivityId`.\n *\n * This component will create a local key, which can be used to track both\n * incoming and outgoing activities in a consistent way.\n *\n * Local key are only persisted in memory. On refresh, they will be a new random key.\n */\nconst ActivityKeyerComposer: FC<PropsWithChildren<{}>> = ({ children }) => {\n const existingContext = useActivityKeyerContext(false);\n\n if (existingContext) {\n throw new Error('botframework-webchat internal: <ActivityKeyerComposer> should not be nested.');\n }\n\n const [activities] = useActivities();\n const activityIdToKeyMapRef = useRef<Readonly<ActivityIdToKeyMap>>(Object.freeze(new Map()));\n const activityToKeyMapRef = useRef<Readonly<ActivityToKeyMap>>(Object.freeze(new Map()));\n const clientActivityIdToKeyMapRef = useRef<Readonly<ClientActivityIdToKeyMap>>(Object.freeze(new Map()));\n const keyToActivityMapRef = useRef<Readonly<KeyToActivityMap>>(Object.freeze(new Map()));\n\n // TODO: [P1] `useMemoWithPrevious` to check and cache the resulting array if it hasn't changed.\n const activityKeysState = useMemo<readonly [readonly string[]]>(() => {\n const { current: activityIdToKeyMap } = activityIdToKeyMapRef;\n const { current: activityToKeyMap } = activityToKeyMapRef;\n const { current: clientActivityIdToKeyMap } = clientActivityIdToKeyMapRef;\n const nextActivityIdToKeyMap: ActivityIdToKeyMap = new Map();\n const nextActivityKeys: string[] = [];\n const nextActivityToKeyMap: ActivityToKeyMap = new Map();\n const nextClientActivityIdToKeyMap: ClientActivityIdToKeyMap = new Map();\n const nextKeyToActivityMap: KeyToActivityMap = new Map();\n\n activities.forEach(activity => {\n const activityId = getActivityId(activity);\n const clientActivityId = getClientActivityId(activity);\n\n const key =\n (clientActivityId && clientActivityIdToKeyMap.get(clientActivityId)) ||\n (activityId && activityIdToKeyMap.get(activityId)) ||\n activityToKeyMap.get(activity) ||\n uniqueId();\n\n activityId && nextActivityIdToKeyMap.set(activityId, key);\n clientActivityId && nextClientActivityIdToKeyMap.set(clientActivityId, key);\n nextActivityToKeyMap.set(activity, key);\n nextKeyToActivityMap.set(key, activity);\n nextActivityKeys.push(key);\n });\n\n activityIdToKeyMapRef.current = Object.freeze(nextActivityIdToKeyMap);\n activityToKeyMapRef.current = Object.freeze(nextActivityToKeyMap);\n clientActivityIdToKeyMapRef.current = Object.freeze(nextClientActivityIdToKeyMap);\n keyToActivityMapRef.current = Object.freeze(nextKeyToActivityMap);\n\n // `nextActivityKeys` could potentially same as `prevActivityKeys` despite reference differences, we should memoize it.\n return Object.freeze([Object.freeze(nextActivityKeys)]) as readonly [readonly string[]];\n }, [activities, activityIdToKeyMapRef, activityToKeyMapRef, clientActivityIdToKeyMapRef, keyToActivityMapRef]);\n\n const getActivityByKey: (key?: string) => undefined | WebChatActivity = useCallback(\n (key?: string): undefined | WebChatActivity => key && keyToActivityMapRef.current.get(key),\n [keyToActivityMapRef]\n );\n\n const getKeyByActivity: (activity?: WebChatActivity) => string | undefined = useCallback(\n (activity?: WebChatActivity) => activity && activityToKeyMapRef.current.get(activity),\n [activityToKeyMapRef]\n );\n\n const getKeyByActivityId: (activityId?: string) => string | undefined = useCallback(\n (activityId?: string) => activityId && activityIdToKeyMapRef.current.get(activityId),\n [activityIdToKeyMapRef]\n );\n\n const contextValue = useMemo<ActivityKeyerContextType>(\n () => ({\n activityKeysState,\n getActivityByKey,\n getKeyByActivity,\n getKeyByActivityId\n }),\n [activityKeysState, getActivityByKey, getKeyByActivity, getKeyByActivityId]\n );\n\n const { length: numActivities } = activities;\n\n if (activityIdToKeyMapRef.current.size > numActivities) {\n console.warn(\n 'botframework-webchat internal assertion: \"activityIdToKeyMap.size\" should be equal or less than \"activities.length\".'\n );\n }\n\n if (activityToKeyMapRef.current.size !== numActivities) {\n console.warn(\n 'botframework-webchat internal assertion: \"activityToKeyMap.size\" should be same as \"activities.length\".'\n );\n }\n\n if (clientActivityIdToKeyMapRef.current.size > numActivities) {\n console.warn(\n 'botframework-webchat internal assertion: \"clientActivityIdToKeyMap.size\" should be equal or less than \"activities.length\".'\n );\n }\n\n if (keyToActivityMapRef.current.size !== numActivities) {\n console.warn(\n 'botframework-webchat internal assertion: \"keyToActivityMap.size\" should be same as \"activities.length\".'\n );\n }\n\n if (activityKeysState[0].length !== numActivities) {\n console.warn(\n 'botframework-webchat internal assertion: \"activityKeys.length\" should be same as \"activities.length\".'\n );\n }\n\n return <ActivityKeyerContext.Provider value={contextValue}>{children}</ActivityKeyerContext.Provider>;\n};\n\nActivityKeyerComposer.defaultProps = {\n children: undefined\n};\n\nActivityKeyerComposer.propTypes = {\n children: PropTypes.any\n};\n\nexport default ActivityKeyerComposer;\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nexport default function getActivityId(activity: WebChatActivity): string {\n return activity.id;\n}\n","import type { WebChatActivity } from 'botframework-webchat-core';\n\nexport default function getClientActivityId(activity: WebChatActivity): string {\n return activity.channelData?.clientActivityID;\n}\n","import random from 'math-random';\n\n// This format ID must be compatible with HTML \"className\" and \"id\" attribute.\n// It will be suffixed as \"webchat__activity--{id}\".\nexport default function uniqueId(): string {\n // eslint-disable-next-line no-magic-numbers\n return random().toString(36).substring(2, 7);\n}\n","import React, { useEffect, useMemo, useRef } from 'react';\n\nimport { SENDING, SEND_FAILED, SENT } from '../../types/internal/SendStatus';\nimport ActivitySendStatusContext from './private/Context';\nimport freezeArray from '../../utils/freezeArray';\nimport isMapEqual from './private/isMapEqual';\nimport useActivities from '../../hooks/useActivities';\nimport useForceRender from '../../hooks/internal/useForceRender';\nimport useGetKeyByActivity from '../ActivityKeyer/useGetKeyByActivity';\nimport useGetSendTimeoutForActivity from '../../hooks/useGetSendTimeoutForActivity';\nimport usePonyfill from '../../hooks/usePonyfill';\n\nimport type { ActivitySendStatusContextType } from './private/Context';\nimport type { FC, PropsWithChildren } from 'react';\nimport type { SendStatus } from '../../types/internal/SendStatus';\n\n// Magic numbers for `expiryByActivityKey`.\nconst EXPIRY_SEND_FAILED = -Infinity;\nconst EXPIRY_SENT = Infinity;\n\nconst ActivitySendStatusComposer: FC<PropsWithChildren<{}>> = ({ children }) => {\n const [activities] = useActivities();\n const [{ clearTimeout, Date, setTimeout }] = usePonyfill();\n const forceRender = useForceRender();\n const getKeyByActivity = useGetKeyByActivity();\n const getSendTimeoutForActivity = useGetSendTimeoutForActivity();\n const sendStatusByActivityKeyRef = useRef<ReadonlyMap<string, SendStatus>>(Object.freeze(new Map()));\n\n /**\n * Map of outgoing activities and their respective expiry.\n *\n * The key is the activity key.\n *\n * The value is:\n *\n * - `Infinity` if the activity is already sent (and will never expire), otherwise;\n * - `-Infinity` if the activity failed to send (a.k.a. already expired), otherwise;\n * - An epoch time of when the activity will be expired.\n */\n const expiryByActivityKey = useMemo<ReadonlyMap<string, number>>(\n // We could build a `useMemoMap()` hook to memoize mapper function more efficiently.\n () =>\n Object.freeze(\n activities.reduce<Map<string, number>>((expiryByActivityKey, activity) => {\n if (activity.from.role === 'user') {\n const key = getKeyByActivity(activity);\n\n if (key) {\n const {\n channelData: { state, 'webchat:send-status': sendStatus }\n } = activity;\n\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n const rectifiedSendStatus = sendStatus || (state === SENT ? SENT : SENDING);\n\n if (rectifiedSendStatus === SENT) {\n expiryByActivityKey.set(key, EXPIRY_SENT);\n } else if (rectifiedSendStatus === SEND_FAILED) {\n expiryByActivityKey.set(key, EXPIRY_SEND_FAILED);\n } else {\n const expiry = +new Date(activity.localTimestamp) + getSendTimeoutForActivity({ activity });\n\n expiry && expiryByActivityKey.set(key, expiry);\n }\n }\n }\n\n return expiryByActivityKey;\n }, new Map())\n ),\n [activities, Date, getKeyByActivity, getSendTimeoutForActivity]\n );\n\n /** Map of outgoing activities and their respective send status. */\n const nextSendStatusByActivityKey = new Map<string, SendStatus>();\n const now = Date.now();\n\n // Turns the expiry (epoch time) into `SendStatus`, which is based on current clock.\n for (const [key, expiry] of expiryByActivityKey) {\n nextSendStatusByActivityKey.set(key, expiry === EXPIRY_SENT ? SENT : now >= expiry ? SEND_FAILED : SENDING);\n }\n\n // Only memoize the new result if it has changed.\n if (!isMapEqual(sendStatusByActivityKeyRef.current, nextSendStatusByActivityKey)) {\n sendStatusByActivityKeyRef.current = Object.freeze(nextSendStatusByActivityKey);\n }\n\n // Gets/realizes the `current` from `ref` because we need to use it for `deps` array in hooks for memoization.\n const { current: sendStatusByActivityKey } = sendStatusByActivityKeyRef;\n\n const sendStatusByActivityKeyState = useMemo<readonly [ReadonlyMap<string, SendStatus>]>(\n () => freezeArray([sendStatusByActivityKey]),\n [sendStatusByActivityKey]\n );\n\n const context = useMemo<ActivitySendStatusContextType>(\n () => ({ sendStatusByActivityKeyState }),\n [sendStatusByActivityKeyState]\n );\n\n // Finds the closest expiry. This is the time we should recompute `sendStatusByActivityKey`.\n const nextExpiry = Array.from(expiryByActivityKey.values())\n // Ignores activities which are already marked as `\"send failed\"`, because the magic number its `-Infinity`.\n // We don't need to recompute them because `\"send failed\"` cannot change back to `\"sending\"` without modifying `activities` or `styleOptions`.\n .reduce((nextExpiry, expiry) => {\n // Finds the next closest expiry, exclude those that already expired.\n if (expiry > now && expiry < nextExpiry) {\n return expiry;\n }\n\n return nextExpiry;\n }, Infinity);\n\n // When the activity with closest expiry expire, recomputes everything so the `sendStatusByActivityKey` will be updated.\n useEffect(() => {\n if (nextExpiry) {\n const timeout = setTimeout(forceRender, nextExpiry - Date.now());\n\n return () => clearTimeout(timeout);\n }\n }, [clearTimeout, Date, forceRender, nextExpiry, setTimeout]);\n\n return <ActivitySendStatusContext.Provider value={context}>{children}</ActivitySendStatusContext.Provider>;\n};\n\nexport default ActivitySendStatusComposer;\n","function freezeArray<T>(array: [T]): readonly [T];\nfunction freezeArray<T1, T2>(array: [T1, T2]): readonly [T1, T2];\nfunction freezeArray<T1, T2, T3>(array: [T1, T2, T3]): readonly [T1, T2, T3];\nfunction freezeArray<T1, T2, T3, T4>(array: [T1, T2, T3, T4]): readonly [T1, T2, T3, T4];\nfunction freezeArray<T1, T2, T3, T4, T5>(array: [T1, T2, T3, T4, T5]): readonly [T1, T2, T3, T4, T5];\nfunction freezeArray<T>(array: T[]): readonly T[];\n\n/**\n * This is same as `Object.freeze` with improved typing for typed arrays.\n *\n * In TypeScript, `Object.freeze([1])` is `number[]`.\n *\n * Instead, `freezeArray([1])` is `[number]` and supports up to 5 elements in the array.\n */\nfunction freezeArray<T>(array: T[]): readonly T[] {\n return Object.freeze(array);\n}\n\nexport default freezeArray;\n","/**\n * Returns `true` if both `Map` are different, otherwise, `false`.\n *\n * The equality of the value is compared using `Object.is`.\n */\nexport default function isMapEqual<K, V>(x: ReadonlyMap<K, V>, y: ReadonlyMap<K, V>): boolean {\n if ((!x && y) || (x && !y)) {\n return false;\n }\n\n const xKeys = new Set(x?.keys());\n const yKeys = new Set(y?.keys());\n\n if (xKeys.size !== yKeys.size) {\n return false;\n }\n\n for (const key of yKeys) {\n xKeys.add(key);\n }\n\n if (xKeys.size !== yKeys.size) {\n return false;\n }\n\n for (const key of xKeys) {\n if (!Object.is(x.get(key), y.get(key))) {\n return false;\n }\n }\n\n return true;\n}\n","import { useGetActivityByKey, useSendStatusByActivityKey, useTrackEvent } from '../../hooks';\r\n\r\nimport usePrevious from '../../hooks/internal/usePrevious';\r\n\r\ntype TelemetrySendStatusChangePayload = {\r\n clientActivityID?: string;\r\n hasAttachment?: 'true' | 'false';\r\n key: string;\r\n prevStatus?: 'sending' | 'send failed' | 'sent';\r\n status: 'sending' | 'send failed' | 'sent';\r\n type?: string;\r\n};\r\n\r\nconst ActivitySendStatusTelemetryComposer = () => {\r\n const [activityToSendStatusMap] = useSendStatusByActivityKey();\r\n const prevActivityToSendStatusMap = usePrevious(activityToSendStatusMap);\r\n const getActivityByKey = useGetActivityByKey();\r\n const trackEvent = useTrackEvent();\r\n\r\n if (prevActivityToSendStatusMap) {\r\n for (const key of activityToSendStatusMap.keys()) {\r\n const status = activityToSendStatusMap.get(key);\r\n const prevStatus = prevActivityToSendStatusMap.get(key);\r\n\r\n // `status` is falsy if it is not an outgoing activity.\r\n // `prevStatus` is undefined or a valid status, if it is undefined, it is newly added\r\n // This telemetry data point only emit changes in outgoing activities.\r\n if (status && status !== prevStatus) {\r\n const activity = getActivityByKey(key);\r\n const clientActivityID = activity?.channelData.clientActivityID;\r\n const type = activity?.type;\r\n\r\n const telemetryPayload: TelemetrySendStatusChangePayload = {\r\n hasAttachment: activity?.type === 'message' && activity.attachments?.length > 0 ? 'true' : 'false',\r\n key,\r\n status,\r\n ...(clientActivityID ? { clientActivityID } : {}),\r\n ...(type ? { type } : {})\r\n };\r\n\r\n // Only add prevStatus if it is NOT null/undefined\r\n if (prevStatus) {\r\n telemetryPayload.prevStatus = prevStatus;\r\n }\r\n\r\n trackEvent('send-status:change', telemetryPayload);\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default ActivitySendStatusTelemetryComposer;\r\n","import { sendMessage, sendMessageBack, sendPostBack } from 'botframework-webchat-core';\n\nimport CardActionMiddleware from '../../types/CardActionMiddleware';\n\nexport default function createDefaultCardActionMiddleware(): CardActionMiddleware {\n return ({ dispatch }) =>\n next =>\n (...args) => {\n const [\n {\n cardAction,\n cardAction: { value }\n }\n ] = args;\n\n // We cannot use destructured \"type\" here because TypeScript don't recognize \"messageBack\" is \"MessageBackCardAction\".\n switch (cardAction.type) {\n case 'imBack':\n if (typeof value === 'string') {\n // TODO: [P4] Instead of calling dispatch, we should move to dispatchers instead for completeness\n dispatch(sendMessage(value, 'imBack'));\n } else {\n throw new Error('cannot send \"imBack\" with a non-string value');\n }\n\n break;\n\n case 'messageBack':\n dispatch(sendMessageBack(value, cardAction.text, cardAction.displayText));\n\n break;\n\n case 'postBack':\n dispatch(sendPostBack(value));\n\n break;\n\n default:\n return next(...args);\n }\n };\n}\n","import { SENDING, SENT } from '../../types/internal/SendStatus';\nimport GroupActivitiesMiddleware from '../../types/GroupActivitiesMiddleware';\n\nimport type { GlobalScopePonyfill, WebChatActivity } from 'botframework-webchat-core';\nimport type { SendStatus } from '../../types/internal/SendStatus';\n\nfunction bin<T>(items: T[], grouping: (last: T, current: T) => boolean): T[][] {\n let lastBin: T[];\n const bins: T[][] = [];\n let lastItem: T;\n\n items.forEach(item => {\n if (lastItem && grouping(lastItem, item)) {\n lastBin.push(item);\n } else {\n lastBin = [item];\n bins.push(lastBin);\n }\n\n lastItem = item;\n });\n\n return bins;\n}\n\nfunction sending(activity: WebChatActivity): SendStatus | undefined {\n if (activity.from.role === 'user') {\n const {\n channelData: { state, 'webchat:send-status': sendStatus }\n } = activity;\n\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n return sendStatus || (state === SENT ? SENT : SENDING);\n }\n}\n\nfunction shouldGroupTimestamp(\n activityX: WebChatActivity,\n activityY: WebChatActivity,\n groupTimestamp: boolean | number,\n { Date }: GlobalScopePonyfill\n): boolean {\n if (groupTimestamp === false) {\n // Hide timestamp for all activities.\n return true;\n } else if (activityX && activityY) {\n if (sending(activityX) !== sending(activityY)) {\n return false;\n }\n\n groupTimestamp = typeof groupTimestamp === 'number' ? groupTimestamp : Infinity;\n\n const timeX = new Date(activityX.timestamp).getTime();\n const timeY = new Date(activityY.timestamp).getTime();\n\n return Math.abs(timeX - timeY) <= groupTimestamp;\n }\n\n return false;\n}\n\nexport default function createDefaultGroupActivitiesMiddleware({\n groupTimestamp,\n ponyfill\n}: {\n groupTimestamp: boolean | number;\n ponyfill: GlobalScopePonyfill;\n}): GroupActivitiesMiddleware {\n return () =>\n () =>\n ({ activities }) => ({\n sender: bin(activities, (x, y) => x.from.role === y.from.role),\n status: bin(activities, (x, y) => shouldGroupTimestamp(x, y, groupTimestamp, ponyfill))\n });\n}\n","export default function ({ language }, voices, activity) {\n // Find the first voice based on this order:\n // 1. Voice with language same as locale as defined in the activity\n // 2. Voice with language same as locale as passed into Web Chat\n // 3. Voice with language same as browser\n // 4. English (United States)\n // 5. First voice\n\n // We also prioritize voices powered by deep neural network (with keyword \"neural\" in the voice name).\n return (\n [activity.locale, language, window.navigator.language, 'en-US'].reduce(\n (result, targetLanguage) =>\n result ||\n voices.find(({ lang, name }) => lang === targetLanguage && /neural/iu.test(name)) ||\n voices.find(({ lang }) => lang === targetLanguage),\n null\n ) || voices[0]\n );\n}\n","import { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nexport default function mapMap<T>(\n map: { [key: string]: T },\n mapper: (value: T, key: string) => T\n): { [key: string]: T } {\n return Object.entries(map).reduce((result, [key, value]) => {\n if (!isForbiddenPropertyName(key)) {\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n result[key] = mapper(value, key);\n }\n\n return result;\n }, {});\n}\n","import Observable from 'core-js/features/observable';\n\nimport type { GlobalScopePonyfill } from 'botframework-webchat-core';\n\nexport default function observableToPromise<T>(\n observable: Observable<T>,\n { setTimeout }: GlobalScopePonyfill\n): Promise<T> {\n return new Promise((resolve, reject) => {\n const subscription = observable.subscribe(\n (sessionId: T) => {\n resolve(sessionId);\n\n // HACK: Sometimes, the call complete asynchronously and we cannot unsubscribe.\n // Need to wait some short time here to make sure the subscription variable has setup.\n // Potentially, this can be fixed by assigning to `subscription` variable thru `Observer.start`.\n // However, we should do some testing because we are not sure if RxJS@5 supports `Observer.start`.\n setTimeout(() => subscription.unsubscribe(), 0);\n },\n (error: Error) => {\n reject(error);\n setTimeout(() => subscription.unsubscribe(), 0);\n }\n );\n });\n}\n","import updateIn from 'simple-update-in';\n\n// TODO: [P4] We should add a notice for people who want to use \"styleSet\" instead of \"styleOptions\".\n// \"styleSet\" is actually CSS stylesheet and it is based on the DOM tree.\n// DOM tree may change from time to time, thus, maintaining \"styleSet\" becomes a constant effort.\nexport default function patchStyleOptionsFromDeprecatedProps(\n styleOptions,\n { groupTimestamp: groupTimestampFromProps, sendTimeout: sendTimeoutFromProps }\n) {\n if (typeof groupTimestampFromProps !== 'undefined' && typeof styleOptions.groupTimestamp === 'undefined') {\n console.warn(\n 'Web Chat: \"groupTimestamp\" has been moved to \"styleOptions\". This deprecation migration will be removed on or after January 1 2022.'\n );\n\n styleOptions = updateIn(styleOptions, ['groupTimestamp'], () => groupTimestampFromProps);\n }\n\n if (typeof sendTimeoutFromProps !== 'undefined' && typeof styleOptions.sendTimeout === 'undefined') {\n console.warn(\n 'Web Chat: \"sendTimeout\" has been moved to \"styleOptions\". This deprecation migration will be removed on or after January 1 2022.'\n );\n\n styleOptions = updateIn(styleOptions, ['sendTimeout'], () => sendTimeoutFromProps);\n }\n\n if (styleOptions.slowConnectionAfter < 0) {\n console.warn('Web Chat: \"slowConnectionAfter\" cannot be negative, will set to 0.');\n\n styleOptions = updateIn(styleOptions, ['slowConnectionAfter'], () => 0);\n }\n\n return styleOptions;\n}\n","import PropTypes from 'prop-types';\nimport React, { useMemo, useRef } from 'react';\n\nimport PonyfillContext from './private/PonyfillContext';\n\nimport type { ContextOf } from '../../types/internal/ContextOf';\nimport type { GlobalScopePonyfill } from 'botframework-webchat-core';\nimport type { PropsWithChildren } from 'react';\n\ntype Props = PropsWithChildren<{\n ponyfill?: Partial<GlobalScopePonyfill>;\n}>;\n\nconst PonyfillComposer = ({ children, ponyfill: partialPonyfill }: Props) => {\n // Note: `useRef(value)` always return the initial value that was called with.\n if (useRef(partialPonyfill).current !== partialPonyfill) {\n // We does not support changing ponyfill.\n // This is because ponyfill is used to create Redux store (if not passed via props).\n // Once the store is created, we cannot change its ponyfill.\n // However, we could rework the `createStore` function to support changing ponyfill.\n // Locking down ponyfill is just for code simplicity.\n throw new Error('botframework-webchat: \"ponyfill\" props cannot be changed after initial render.');\n }\n\n // TODO: [P2] Dedupe: when we have an utility package, move this code there and mark it as internal use.\n const ponyfill = useMemo<GlobalScopePonyfill>(\n // The complexity is introduced by the check of ponyfill.\n // eslint-disable-next-line complexity\n () => {\n // IE Mode does not have `globalThis`.\n const globalThisOrWindow = typeof globalThis === 'undefined' ? window : globalThis;\n\n return {\n cancelAnimationFrame:\n partialPonyfill?.cancelAnimationFrame ||\n // Using clock functions from global if not provided.\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame.bind(globalThisOrWindow) : undefined),\n cancelIdleCallback:\n partialPonyfill?.cancelIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelIdleCallback === 'function' ? cancelIdleCallback.bind(globalThisOrWindow) : undefined),\n clearImmediate:\n partialPonyfill?.clearImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearImmediate === 'function' ? clearImmediate.bind(globalThisOrWindow) : undefined),\n clearInterval:\n partialPonyfill?.clearInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearInterval === 'function' ? clearInterval.bind(globalThisOrWindow) : undefined),\n clearTimeout:\n partialPonyfill?.clearTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearTimeout === 'function' ? clearTimeout.bind(globalThisOrWindow) : undefined),\n // eslint-disable-next-line no-restricted-globals\n Date: partialPonyfill?.Date || Date,\n requestAnimationFrame:\n partialPonyfill?.requestAnimationFrame ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestAnimationFrame === 'function' ? requestAnimationFrame.bind(globalThisOrWindow) : undefined),\n requestIdleCallback:\n partialPonyfill?.requestIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestIdleCallback === 'function' ? requestIdleCallback.bind(globalThisOrWindow) : undefined),\n setImmediate:\n partialPonyfill?.setImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setImmediate === 'function' ? setImmediate.bind(globalThisOrWindow) : undefined),\n setInterval:\n partialPonyfill?.setInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setInterval === 'function' ? setInterval.bind(globalThisOrWindow) : undefined),\n setTimeout:\n partialPonyfill?.setTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setTimeout === 'function' ? setTimeout.bind(globalThisOrWindow) : undefined)\n };\n },\n [partialPonyfill]\n );\n\n const contextValue = useMemo<Exclude<ContextOf<typeof PonyfillContext>, undefined>>(\n () => ({ ponyfillState: Object.freeze([ponyfill]) as readonly [GlobalScopePonyfill] }),\n [ponyfill]\n );\n\n return <PonyfillContext.Provider value={contextValue}>{children}</PonyfillContext.Provider>;\n};\n\nPonyfillComposer.defaultProps = {\n ponyfill: undefined\n};\n\nPonyfillComposer.propTypes = {\n ponyfill: PropTypes.any\n};\n\nexport default PonyfillComposer;\n","import useTracker from './useTracker';\n\nconst Tracker: React.FC<{}> = () => {\n useTracker();\n\n return null;\n};\n\nexport default Tracker;\n","import { useEffect } from 'react';\n\nimport useLanguage from '../useLanguage';\nimport useTrackDimension from '../useTrackDimension';\nimport useTrackEvent from '../useTrackEvent';\n\nfunction useTracker() {\n const [language] = useLanguage();\n const trackDimension = useTrackDimension();\n const trackEvent = useTrackEvent();\n\n // TODO: [P2] #2937 Track how many of them customized the following:\n // - activityMiddleware\n // - activityStatusMiddleware\n // - attachmentMiddleware\n // - cardActionMiddleware\n // - toastMiddleware\n // - styleOptions\n\n useEffect(() => {\n trackDimension('prop:locale', language);\n }, [language, trackDimension]);\n\n useEffect(() => {\n trackEvent('init');\n }, [trackEvent]);\n}\n\nexport default useTracker;\n","import React, { isValidElement } from 'react';\nimport ErrorBox from '../internal/ErrorBox';\nimport concatMiddleware from './concatMiddleware';\nimport UserlandBoundary from './UserlandBoundary';\n\nexport default function applyMiddleware(type, ...middleware) {\n return (...setupArgs) =>\n concatMiddleware(...middleware)(...setupArgs)(() => {\n throw new Error(`reached terminator of ${type}`);\n });\n}\n\nexport function forLegacyRenderer(type, ...middleware) {\n return (...setupArgs) => {\n const fn = concatMiddleware(...middleware)(...setupArgs)(() => {\n throw new Error(`reached terminator of ${type}`);\n });\n\n return (...args) => (\n <UserlandBoundary type={`render of ${type}`}>\n {() => {\n try {\n return fn(...args);\n } catch (err) {\n return <ErrorBox error={err} type={`render of ${type}`} />;\n }\n }}\n </UserlandBoundary>\n );\n };\n}\n\n/**\n *\n * @param {string} type Required. String equivalent of type of container to be rendered.\n * @param { strict = false } - Used to enforce new middleware format which cooperates with new activity grouping.\n * @see See {@link https://github.com/microsoft/BotFramework-WebChat/blob/main/CHANGELOG.md#4100---2020-08-18} and {@link https://github.com/microsoft/BotFramework-WebChat/pull/3365} for middleware breaking changes.\n * @param {middleware[]} middleware list of middleware to be applied.\n * 'createRendererArgs' is \"what to render\"; for example, an activity.\n * @returns Returns a function if there is a renderer *committed* to render OR returns false if nothing should be rendered.\n */\nexport function forRenderer(type, { strict = false } = {}, ...middleware) {\n return (...setupArgs) => {\n const runMiddleware = concatMiddleware(...middleware)(...setupArgs)(() => (\n <ErrorBox error={new Error(`reached terminator of ${type}`)} type={type} />\n ));\n\n return (...createRendererArgs) => {\n try {\n const render = runMiddleware(...createRendererArgs);\n\n if (!render) {\n return false;\n } else if (isValidElement(render)) {\n if (strict) {\n console.error(`botframework-webchat: ${type} should only return either false or a render function.`);\n\n return false;\n }\n\n return <UserlandBoundary type={`render of ${type}`}>{render}</UserlandBoundary>;\n }\n\n return (...renderTimeArgs) => (\n <UserlandBoundary type={`render of ${type}`}>\n {() => {\n try {\n const element = render(...renderTimeArgs);\n\n if (strict && !isValidElement(element)) {\n console.error(`botframework-webchat: ${type} should return React element only.`);\n }\n\n return element;\n } catch (err) {\n return <ErrorBox error={err} type={`render of ${type}`} />;\n }\n }}\n </UserlandBoundary>\n );\n } catch (err) {\n return <ErrorBox error={err} type={`render of ${type}`} />;\n }\n };\n };\n}\n","import useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useErrorBoxClass() {\n const { internalErrorBoxClass } = useWebChatAPIContext();\n\n return [internalErrorBoxClass];\n}\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\n\nimport ErrorBoundary from '../utils/ErrorBoundary';\nimport ErrorBox from '../internal/ErrorBox';\n\nconst UserlandBoundary = ({ children, type }) => {\n const [error, setError] = useState();\n\n const handleError = useCallback(error => setError(error), []);\n\n return error ? (\n <ErrorBox error={error} type={type} />\n ) : (\n <ErrorBoundary onError={handleError}>{children}</ErrorBoundary>\n );\n};\n\nUserlandBoundary.defaultProps = {\n children: undefined,\n type: undefined\n};\n\nUserlandBoundary.propTypes = {\n children: PropTypes.any,\n type: PropTypes.string\n};\n\nexport default UserlandBoundary;\n","(function (root, factory) {\n // UMD returnExports\n if (typeof define === \"function\" && define.amd) {\n // AMD\n define([\n \"globalize/dist/globalize-runtime/number\",\n \"globalize/dist/globalize-runtime/plural\",\n \"globalize/dist/globalize-runtime/date\",\n \"globalize/dist/globalize-runtime/relative-time\",\n \"globalize/dist/globalize-runtime/unit\",\n ], factory);\n } else if (typeof exports === \"object\") {\n // Node, CommonJS\n module.exports = factory(\n require(\"globalize/dist/globalize-runtime/number\"),\n require(\"globalize/dist/globalize-runtime/plural\"),\n require(\"globalize/dist/globalize-runtime/date\"),\n require(\"globalize/dist/globalize-runtime/relative-time\"),\n require(\"globalize/dist/globalize-runtime/unit\")\n );\n } else {\n // Global\n factory(root.Globalize);\n }\n})(this, function (Globalize) {\n var numberRound = Globalize._numberRound;\n var numberToPartsFormatterFn = Globalize._numberToPartsFormatterFn;\n var numberFormatterFn = Globalize._numberFormatterFn;\n var pluralGeneratorFn = Globalize._pluralGeneratorFn;\n var dateToPartsFormatterFn = Globalize._dateToPartsFormatterFn;\n var dateFormatterFn = Globalize._dateFormatterFn;\n var relativeTimeFormatterFn = Globalize._relativeTimeFormatterFn;\n var unitFormatterFn = Globalize._unitFormatterFn;\n\n Globalize.a1941952454 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"ليس رقم\",\n { \".\": \"Ù«\", \",\": \"Ù¬\", \"%\": \"٪؜\", \"+\": \"Øœ+\", \"-\": \"Øœ-\", E: \"اس\", \"‰\": \"؉\" },\n \"٠١٢٣٤٥٦٧٨٩\",\n ]);\n Globalize.a71314638 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"ليس رقم\",\n { \".\": \"Ù«\", \",\": \"Ù¬\", \"%\": \"٪؜\", \"+\": \"Øœ+\", \"-\": \"Øœ-\", E: \"اس\", \"‰\": \"؉\" },\n \"٠١٢٣٤٥٦٧٨٩\",\n ]);\n Globalize.b1800711952 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"ليس رقم\",\n { \".\": \"Ù«\", \",\": \"Ù¬\", \"%\": \"٪؜\", \"+\": \"Øœ+\", \"-\": \"Øœ-\", E: \"اس\", \"‰\": \"؉\" },\n \"٠١٢٣٤٥٦٧٨٩\",\n ]);\n Globalize.a311225754 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"ليس رقم\",\n { \".\": \"Ù«\", \",\": \"Ù¬\", \"%\": \"٪؜\", \"+\": \"Øœ+\", \"-\": \"Øœ-\", E: \"اس\", \"‰\": \"؉\" },\n \"٠١٢٣٤٥٦٧٨٩\",\n ]);\n Globalize.a1058394490 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"ليس رقم\",\n { \".\": \"Ù«\", \",\": \"Ù¬\", \"%\": \"٪؜\", \"+\": \"Øœ+\", \"-\": \"Øœ-\", E: \"اس\", \"‰\": \"؉\" },\n \"٠١٢٣٤٥٦٧٨٩\",\n ]);\n Globalize.b1405444964 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"ليس رقم\",\n { \".\": \"Ù«\", \",\": \"Ù¬\", \"%\": \"٪؜\", \"+\": \"Øœ+\", \"-\": \"Øœ-\", E: \"اس\", \"‰\": \"؉\" },\n \"٠١٢٣٤٥٦٧٨٩\",\n ]);\n Globalize.b162621629 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b745972495 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1541980371 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a83314634 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1711882934 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1565068396 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b426806024 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b345754148 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1581691774 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1590866443 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2072550185 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1593697547 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b431368057 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b487177171 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1597391631 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1832240673 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a965216723 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a1632485429 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a821123423 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b314646955 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1634332471 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1706669702 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1366822502 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1638950076 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2082738969 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a140729307 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a1639873597 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a1577180344 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1648281116 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1640797118 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a561501061 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"epäluku\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a226994415 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"epäluku\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1658344017 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"epäluku\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a306440732 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a910058808 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1666655706 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a552376995 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b55851631 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1689743731 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1303871883 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"‎+\", \"-\": \"‎-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1765653417 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"‎+\", \"-\": \"‎-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1711908235 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"‎+\", \"-\": \"‎-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b718362617 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b794073939 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1715602319 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n 2,\n \"\",\n \"#,##,##0.###\",\n \"-#,##,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b973422946 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b111009546 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1723914008 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1804868475 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a116678585 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1726684571 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b977984979 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b252432569 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1739613865 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b476988387 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1901407401 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1754390201 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2046242705 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b990654877 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1765472453 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1501791736 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"Ñан емеÑ\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a689427148 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"Ñан емеÑ\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1803336814 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"Ñан емеÑ\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a770941060 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1870300208 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1807030898 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b249300256 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a861957364 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a1840277654 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.b1260417506 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NS\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b417906314 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NS\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1842124696 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NS\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1763810178 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1156128622 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1867983284 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1019043276 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1525239776 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1880912578 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1779662230 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a665376426 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1890147788 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1235441388 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b355691928 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1947406090 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1485939684 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1180179344 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1954794258 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b296705673 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b607610563 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a669821983 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1561098165 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1149072151 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2007434955 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b299482619 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"не чиÑло\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b693695889 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"не чиÑло\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2012976081 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"не чиÑло\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1968688144 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a900121028 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a2032370022 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a1463129519 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.b1887294459 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a2033293543 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"e\", \"‰\": \"‰\" },\n ]);\n Globalize.a1435181062 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1541270670 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a985776304 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2101971175 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a736927693 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b274946385 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a702510565 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a303321743 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a2042528753 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"−\", E: \"×10^\", \"‰\": \"‰\" },\n ]);\n Globalize.a697948532 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a161898720 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2058228610 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b62670422 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1942452374 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2067463820 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a688824466 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"Е\", \"‰\": \"‰\" },\n ]);\n Globalize.b120947326 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"Е\", \"‰\": \"‰\" },\n ]);\n Globalize.a2089628324 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \" \", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"Е\", \"‰\": \"‰\" },\n ]);\n Globalize.b1087473771 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a648382175 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a2116410433 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \",\", \",\": \".\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1418994715 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1039493913 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b96411397 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b711487865 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b580956627 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b847000305 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1759276636 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1297329840 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a876307794 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"NaN\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1217046490 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a926595182 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b846076784 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1831402154 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b938561218 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1987075744 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b610844905 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"0\",\n \"-0\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1755992163 = numberToPartsFormatterFn([\n \"\",\n ,\n 2,\n 0,\n 0,\n ,\n ,\n ,\n ,\n ,\n \"\",\n \"00\",\n \"-00\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.b1840235905 = numberToPartsFormatterFn([\n \"\",\n ,\n 1,\n 0,\n 3,\n ,\n ,\n ,\n 3,\n ,\n \"\",\n \"#,##0.###\",\n \"-#,##0.###\",\n \"-\",\n \"\",\n numberRound(),\n \"∞\",\n \"éžæ•¸å€¼\",\n { \".\": \".\", \",\": \",\", \"%\": \"%\", \"+\": \"+\", \"-\": \"-\", E: \"E\", \"‰\": \"‰\" },\n ]);\n Globalize.a1038316025 = numberFormatterFn(\n Globalize(\"ar-EG\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a2123356411 = numberFormatterFn(\n Globalize(\"ar-EG\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b1798381219 = numberFormatterFn(\n Globalize(\"ar-EG\").numberToPartsFormatter({})\n );\n Globalize.b592410675 = numberFormatterFn(\n Globalize(\"ar-SA\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1184531033 = numberFormatterFn(\n Globalize(\"ar-SA\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b1403114231 = numberFormatterFn(\n Globalize(\"ar-SA\").numberToPartsFormatter({})\n );\n Globalize.a395141616 = numberFormatterFn(\n Globalize(\"bg\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b635181084 = numberFormatterFn(\n Globalize(\"bg\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b560738426 = numberFormatterFn(\n Globalize(\"bg\").numberToPartsFormatter({})\n );\n Globalize.a641077879 = numberFormatterFn(\n Globalize(\"ca\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1601091523 = numberFormatterFn(\n Globalize(\"ca\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b537650401 = numberFormatterFn(\n Globalize(\"ca\").numberToPartsFormatter({})\n );\n Globalize.a130957221 = numberFormatterFn(\n Globalize(\"cs\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b234962737 = numberFormatterFn(\n Globalize(\"cs\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b521027023 = numberFormatterFn(\n Globalize(\"cs\").numberToPartsFormatter({})\n );\n Globalize.b2146337608 = numberFormatterFn(\n Globalize(\"da\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b2111625700 = numberFormatterFn(\n Globalize(\"da\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b509021250 = numberFormatterFn(\n Globalize(\"da\").numberToPartsFormatter({})\n );\n Globalize.a126395188 = numberFormatterFn(\n Globalize(\"de\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b376385760 = numberFormatterFn(\n Globalize(\"de\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b505327166 = numberFormatterFn(\n Globalize(\"de\").numberToPartsFormatter({})\n );\n Globalize.b1904963378 = numberFormatterFn(\n Globalize(\"el\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1076008134 = numberFormatterFn(\n Globalize(\"el\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b470233368 = numberFormatterFn(\n Globalize(\"el\").numberToPartsFormatter({})\n );\n Globalize.a1378886668 = numberFormatterFn(\n Globalize(\"en\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b203855544 = numberFormatterFn(\n Globalize(\"en\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b468386326 = numberFormatterFn(\n Globalize(\"en\").numberToPartsFormatter({})\n );\n Globalize.b1148906457 = numberFormatterFn(\n Globalize(\"es\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1256031091 = numberFormatterFn(\n Globalize(\"es\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b463768721 = numberFormatterFn(\n Globalize(\"es\").numberToPartsFormatter({})\n );\n Globalize.b1654465082 = numberFormatterFn(\n Globalize(\"et\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a251520718 = numberFormatterFn(\n Globalize(\"et\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b462845200 = numberFormatterFn(\n Globalize(\"et\").numberToPartsFormatter({})\n );\n Globalize.a2134943589 = numberFormatterFn(\n Globalize(\"eu\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1759072527 = numberFormatterFn(\n Globalize(\"eu\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b461921679 = numberFormatterFn(\n Globalize(\"eu\").numberToPartsFormatter({})\n );\n Globalize.a1119264306 = numberFormatterFn(\n Globalize(\"fi\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a337785826 = numberFormatterFn(\n Globalize(\"fi\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b444374780 = numberFormatterFn(\n Globalize(\"fi\").numberToPartsFormatter({})\n );\n Globalize.a864203977 = numberFormatterFn(\n Globalize(\"fr\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1020850219 = numberFormatterFn(\n Globalize(\"fr\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b436063091 = numberFormatterFn(\n Globalize(\"fr\").numberToPartsFormatter({})\n );\n Globalize.a1110140240 = numberFormatterFn(\n Globalize(\"gl\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a54939780 = numberFormatterFn(\n Globalize(\"gl\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b412975066 = numberFormatterFn(\n Globalize(\"gl\").numberToPartsFormatter({})\n );\n Globalize.a1861635128 = numberFormatterFn(\n Globalize(\"he\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1876444828 = numberFormatterFn(\n Globalize(\"he\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b390810562 = numberFormatterFn(\n Globalize(\"he\").numberToPartsFormatter({})\n );\n Globalize.b160599372 = numberFormatterFn(\n Globalize(\"hi\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b683282528 = numberFormatterFn(\n Globalize(\"hi\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b387116478 = numberFormatterFn(\n Globalize(\"hi\").numberToPartsFormatter({})\n );\n Globalize.b415659701 = numberFormatterFn(\n Globalize(\"hr\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b218135 = numberFormatterFn(\n Globalize(\"hr\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b378804789 = numberFormatterFn(\n Globalize(\"hr\").numberToPartsFormatter({})\n );\n Globalize.b1932335576 = numberFormatterFn(\n Globalize(\"hu\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a227469996 = numberFormatterFn(\n Globalize(\"hu\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b376034226 = numberFormatterFn(\n Globalize(\"hu\").numberToPartsFormatter({})\n );\n Globalize.b420221734 = numberFormatterFn(\n Globalize(\"id\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b141641158 = numberFormatterFn(\n Globalize(\"id\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b363104932 = numberFormatterFn(\n Globalize(\"id\").numberToPartsFormatter({})\n );\n Globalize.a80774858 = numberFormatterFn(\n Globalize(\"it\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1790615990 = numberFormatterFn(\n Globalize(\"it\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b348328596 = numberFormatterFn(\n Globalize(\"it\").numberToPartsFormatter({})\n );\n Globalize.b1690961346 = numberFormatterFn(\n Globalize(\"ja\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b879863466 = numberFormatterFn(\n Globalize(\"ja\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b337246344 = numberFormatterFn(\n Globalize(\"ja\").numberToPartsFormatter({})\n );\n Globalize.b944028491 = numberFormatterFn(\n Globalize(\"kk\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a800218559 = numberFormatterFn(\n Globalize(\"kk\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b299381983 = numberFormatterFn(\n Globalize(\"kk\").numberToPartsFormatter({})\n );\n Globalize.a1328704305 = numberFormatterFn(\n Globalize(\"ko\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1759508797 = numberFormatterFn(\n Globalize(\"ko\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b295687899 = numberFormatterFn(\n Globalize(\"ko\").numberToPartsFormatter({})\n );\n Globalize.a308462989 = numberFormatterFn(\n Globalize(\"lt\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a972748775 = numberFormatterFn(\n Globalize(\"lt\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b262441143 = numberFormatterFn(\n Globalize(\"lt\").numberToPartsFormatter({})\n );\n Globalize.b702654261 = numberFormatterFn(\n Globalize(\"lv\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b307114903 = numberFormatterFn(\n Globalize(\"lv\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b260594101 = numberFormatterFn(\n Globalize(\"lv\").numberToPartsFormatter({})\n );\n Globalize.b1973393873 = numberFormatterFn(\n Globalize(\"ms\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1045337211 = numberFormatterFn(\n Globalize(\"ms\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b234735513 = numberFormatterFn(\n Globalize(\"ms\").numberToPartsFormatter({})\n );\n Globalize.b461280031 = numberFormatterFn(\n Globalize(\"nb\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1414448365 = numberFormatterFn(\n Globalize(\"nb\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b221806219 = numberFormatterFn(\n Globalize(\"nb\").numberToPartsFormatter({})\n );\n Globalize.b1221898985 = numberFormatterFn(\n Globalize(\"nl\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a776167837 = numberFormatterFn(\n Globalize(\"nl\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b212571009 = numberFormatterFn(\n Globalize(\"nl\").numberToPartsFormatter({})\n );\n Globalize.a1793204633 = numberFormatterFn(\n Globalize(\"pl\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b244900517 = numberFormatterFn(\n Globalize(\"pl\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b155312707 = numberFormatterFn(\n Globalize(\"pl\").numberToPartsFormatter({})\n );\n Globalize.a2043702929 = numberFormatterFn(\n Globalize(\"pt\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1069387933 = numberFormatterFn(\n Globalize(\"pt\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b147924539 = numberFormatterFn(\n Globalize(\"pt\").numberToPartsFormatter({})\n );\n Globalize.b1200342102 = numberFormatterFn(\n Globalize(\"pt-PT\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1444431210 = numberFormatterFn(\n Globalize(\"pt-PT\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.a672152716 = numberFormatterFn(\n Globalize(\"pt-PT\").numberToPartsFormatter({})\n );\n Globalize.b1003334920 = numberFormatterFn(\n Globalize(\"ro\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1038280740 = numberFormatterFn(\n Globalize(\"ro\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b95283842 = numberFormatterFn(\n Globalize(\"ro\").numberToPartsFormatter({})\n );\n Globalize.a258280626 = numberFormatterFn(\n Globalize(\"ru\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b582904478 = numberFormatterFn(\n Globalize(\"ru\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b89742716 = numberFormatterFn(\n Globalize(\"ru\").numberToPartsFormatter({})\n );\n Globalize.b1768515907 = numberFormatterFn(\n Globalize(\"sk\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1010912439 = numberFormatterFn(\n Globalize(\"sk\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b70348775 = numberFormatterFn(\n Globalize(\"sk\").numberToPartsFormatter({})\n );\n Globalize.a2020892764 = numberFormatterFn(\n Globalize(\"sl\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1776503048 = numberFormatterFn(\n Globalize(\"sl\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b69425254 = numberFormatterFn(\n Globalize(\"sl\").numberToPartsFormatter({})\n );\n Globalize.a623966585 = numberFormatterFn(\n Globalize(\"sr-Cyrl\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b2131541637 = numberFormatterFn(\n Globalize(\"sr-Cyrl\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b1069356579 = numberFormatterFn(\n Globalize(\"sr-Cyrl\").numberToPartsFormatter({})\n );\n Globalize.a1290756698 = numberFormatterFn(\n Globalize(\"sr-Latn\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1359082682 = numberFormatterFn(\n Globalize(\"sr-Latn\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.a1964888028 = numberFormatterFn(\n Globalize(\"sr-Latn\").numberToPartsFormatter({})\n );\n Globalize.a1260273810 = numberFormatterFn(\n Globalize(\"sv\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a414113154 = numberFormatterFn(\n Globalize(\"sv\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b60190044 = numberFormatterFn(\n Globalize(\"sv\").numberToPartsFormatter({})\n );\n Globalize.a1255711777 = numberFormatterFn(\n Globalize(\"th\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a272690131 = numberFormatterFn(\n Globalize(\"th\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b44490187 = numberFormatterFn(\n Globalize(\"th\").numberToPartsFormatter({})\n );\n Globalize.a495092823 = numberFormatterFn(\n Globalize(\"tr\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1831660963 = numberFormatterFn(\n Globalize(\"tr\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b35254977 = numberFormatterFn(\n Globalize(\"tr\").numberToPartsFormatter({})\n );\n Globalize.a1246587711 = numberFormatterFn(\n Globalize(\"uk\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b10155915 = numberFormatterFn(\n Globalize(\"uk\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b13090473 = numberFormatterFn(\n Globalize(\"uk\").numberToPartsFormatter({})\n );\n Globalize.b529710526 = numberFormatterFn(\n Globalize(\"vi\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a759173586 = numberFormatterFn(\n Globalize(\"vi\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.a13691636 = numberFormatterFn(\n Globalize(\"vi\").numberToPartsFormatter({})\n );\n Globalize.a1529786126 = numberFormatterFn(\n Globalize(\"yue\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a179060358 = numberFormatterFn(\n Globalize(\"yue\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b856184664 = numberFormatterFn(\n Globalize(\"yue\").numberToPartsFormatter({})\n );\n Globalize.b1522702342 = numberFormatterFn(\n Globalize(\"zh-Hans\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a41198362 = numberFormatterFn(\n Globalize(\"zh-Hans\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.a1392834108 = numberFormatterFn(\n Globalize(\"zh-Hans\").numberToPartsFormatter({})\n );\n Globalize.b868786351 = numberFormatterFn(\n Globalize(\"zh-Hans-SG\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.b1162242397 = numberFormatterFn(\n Globalize(\"zh-Hans-SG\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.a1171394821 = numberFormatterFn(\n Globalize(\"zh-Hans-SG\").numberToPartsFormatter({})\n );\n Globalize.b2028260967 = numberFormatterFn(\n Globalize(\"zh-Hant\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a1548750171 = numberFormatterFn(\n Globalize(\"zh-Hant\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.a1393757629 = numberFormatterFn(\n Globalize(\"zh-Hant\").numberToPartsFormatter({})\n );\n Globalize.b940911869 = numberFormatterFn(\n Globalize(\"zh-Hant-HK\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a896833841 = numberFormatterFn(\n Globalize(\"zh-Hant-HK\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b1691988717 = numberFormatterFn(\n Globalize(\"zh-Hant-HK\").numberToPartsFormatter({})\n );\n Globalize.a279645380 = numberFormatterFn(\n Globalize(\"zh-Hant-MO\").numberToPartsFormatter({ raw: \"0\" })\n );\n Globalize.a79402896 = numberFormatterFn(\n Globalize(\"zh-Hant-MO\").numberToPartsFormatter({ raw: \"00\" })\n );\n Globalize.b1545148878 = numberFormatterFn(\n Globalize(\"zh-Hant-MO\").numberToPartsFormatter({})\n );\n Globalize.b469273361 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n return n == 0\n ? \"zero\"\n : n == 1\n ? \"one\"\n : n == 2\n ? \"two\"\n : n100 >= 3 && n100 <= 10\n ? \"few\"\n : n100 >= 11 && n100 <= 99\n ? \"many\"\n : \"other\";\n });\n Globalize.b74006373 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n return n == 0\n ? \"zero\"\n : n == 1\n ? \"one\"\n : n == 2\n ? \"two\"\n : n100 >= 3 && n100 <= 10\n ? \"few\"\n : n100 >= 11 && n100 <= 99\n ? \"many\"\n : \"other\";\n });\n Globalize.a1569994036 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a1593082061 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1609705439 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n v0 = !s[1];\n return n == 1 && v0\n ? \"one\"\n : i >= 2 && i <= 4 && v0\n ? \"few\"\n : !v0\n ? \"many\"\n : \"other\";\n });\n Globalize.a1621711212 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n t0 = Number(s[0]) == n;\n return n == 1 || (!t0 && (i == 0 || i == 1)) ? \"one\" : \"other\";\n });\n Globalize.a1625405296 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1660499094 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a1662346136 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1666963741 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a1667887262 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1668810783 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a1686357682 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1694669371 = pluralGeneratorFn(function (n) {\n return n >= 0 && n < 2 ? \"one\" : \"other\";\n });\n Globalize.a1717757396 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1739921900 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1);\n return n == 1 && v0\n ? \"one\"\n : i == 2 && v0\n ? \"two\"\n : v0 && (n < 0 || n > 10) && t0 && n10 == 0\n ? \"many\"\n : \"other\";\n });\n Globalize.a1743615984 = pluralGeneratorFn(function (n) {\n return n >= 0 && n <= 1 ? \"one\" : \"other\";\n });\n Globalize.a1751927673 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n f = s[1] || \"\",\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n return (v0 && i10 == 1 && i100 != 11) || (f10 == 1 && f100 != 11)\n ? \"one\"\n : (v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14)) ||\n (f10 >= 2 && f10 <= 4 && (f100 < 12 || f100 > 14))\n ? \"few\"\n : \"other\";\n });\n Globalize.a1754698236 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a1767627530 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.a1782403866 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1793486118 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.a1831350479 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a1835044563 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.a1868291319 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n f = s[1] || \"\",\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);\n return n10 == 1 && (n100 < 11 || n100 > 19)\n ? \"one\"\n : n10 >= 2 && n10 <= 9 && (n100 < 11 || n100 > 19)\n ? \"few\"\n : f != 0\n ? \"many\"\n : \"other\";\n });\n Globalize.a1870138361 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n f = s[1] || \"\",\n v = f.length,\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2),\n f100 = f.slice(-2),\n f10 = f.slice(-1);\n return (t0 && n10 == 0) ||\n (n100 >= 11 && n100 <= 19) ||\n (v == 2 && f100 >= 11 && f100 <= 19)\n ? \"zero\"\n : (n10 == 1 && n100 != 11) ||\n (v == 2 && f10 == 1 && f100 != 11) ||\n (v != 2 && f10 == 1)\n ? \"one\"\n : \"other\";\n });\n Globalize.a1895996949 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.a1908926243 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a1918161453 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a1975419755 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n return n == 1 && v0\n ? \"one\"\n : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14)\n ? \"few\"\n : (v0 && i != 1 && (i10 == 0 || i10 == 1)) ||\n (v0 && i10 >= 5 && i10 <= 9) ||\n (v0 && i100 >= 12 && i100 <= 14)\n ? \"many\"\n : \"other\";\n });\n Globalize.a1982807923 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0];\n return i == 0 || i == 1 ? \"one\" : \"other\";\n });\n Globalize.a2001260574 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0];\n return i == 0 || i == 1 ? \"one\" : \"other\";\n });\n Globalize.a2035448620 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n return n == 1 && v0\n ? \"one\"\n : !v0 || n == 0 || (n100 >= 2 && n100 <= 19)\n ? \"few\"\n : \"other\";\n });\n Globalize.a2040989746 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n return v0 && i10 == 1 && i100 != 11\n ? \"one\"\n : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14)\n ? \"few\"\n : (v0 && i10 == 0) ||\n (v0 && i10 >= 5 && i10 <= 9) ||\n (v0 && i100 >= 11 && i100 <= 14)\n ? \"many\"\n : \"other\";\n });\n Globalize.a2060383687 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n v0 = !s[1];\n return n == 1 && v0\n ? \"one\"\n : i >= 2 && i <= 4 && v0\n ? \"few\"\n : !v0\n ? \"many\"\n : \"other\";\n });\n Globalize.a2061307208 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n v0 = !s[1],\n i100 = i.slice(-2);\n return v0 && i100 == 1\n ? \"one\"\n : v0 && i100 == 2\n ? \"two\"\n : (v0 && (i100 == 3 || i100 == 4)) || !v0\n ? \"few\"\n : \"other\";\n });\n Globalize.a598008047 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n f = s[1] || \"\",\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n return (v0 && i10 == 1 && i100 != 11) || (f10 == 1 && f100 != 11)\n ? \"one\"\n : (v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14)) ||\n (f10 >= 2 && f10 <= 4 && (f100 < 12 || f100 > 14))\n ? \"few\"\n : \"other\";\n });\n Globalize.b662714642 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n f = s[1] || \"\",\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n return (v0 && i10 == 1 && i100 != 11) || (f10 == 1 && f100 != 11)\n ? \"one\"\n : (v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14)) ||\n (f10 >= 2 && f10 <= 4 && (f100 < 12 || f100 > 14))\n ? \"few\"\n : \"other\";\n });\n Globalize.a2070542418 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n v0 = !s[1];\n return n == 1 && v0 ? \"one\" : \"other\";\n });\n Globalize.a2086242275 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.a2095477485 = pluralGeneratorFn(function (n) {\n return n == 1 ? \"one\" : \"other\";\n });\n Globalize.a2117641989 = pluralGeneratorFn(function (n) {\n var s = String(n).split(\".\"),\n i = s[0],\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n return v0 && i10 == 1 && i100 != 11\n ? \"one\"\n : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14)\n ? \"few\"\n : (v0 && i10 == 0) ||\n (v0 && i10 >= 5 && i10 <= 9) ||\n (v0 && i100 >= 11 && i100 <= 14)\n ? \"many\"\n : \"other\";\n });\n Globalize.a2144424098 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.a772012218 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.b1234768562 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.b1960777549 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.b1233845041 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.b529193791 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.b382353952 = pluralGeneratorFn(function (n) {\n return \"other\";\n });\n Globalize.a1178402495 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ar-EG\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ar-EG\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"يناير\",\n 2: \"Ùبراير\",\n 3: \"مارس\",\n 4: \"أبريل\",\n 5: \"مايو\",\n 6: \"يونيو\",\n 7: \"يوليو\",\n 8: \"أغسطس\",\n 9: \"سبتمبر\",\n 10: \"أكتوبر\",\n 11: \"نوÙمبر\",\n 12: \"ديسمبر\",\n },\n },\n },\n dayPeriods: { am: \"ص\", pm: \"Ù…\" },\n }\n );\n Globalize.a1191033963 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ar-SA\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ar-SA\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"يناير\",\n 2: \"Ùبراير\",\n 3: \"مارس\",\n 4: \"أبريل\",\n 5: \"مايو\",\n 6: \"يونيو\",\n 7: \"يوليو\",\n 8: \"أغسطس\",\n 9: \"سبتمبر\",\n 10: \"أكتوبر\",\n 11: \"نوÙمبر\",\n 12: \"ديسمبر\",\n },\n },\n },\n dayPeriods: { am: \"ص\", pm: \"Ù…\" },\n }\n );\n Globalize.b474539636 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"bg\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"bg\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM, h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"Ñнуари\",\n 2: \"февруари\",\n 3: \"март\",\n 4: \"април\",\n 5: \"май\",\n 6: \"юни\",\n 7: \"юли\",\n 8: \"авгуÑÑ‚\",\n 9: \"Ñептември\",\n 10: \"октомври\",\n 11: \"ноември\",\n 12: \"декември\",\n },\n },\n },\n dayPeriods: { am: \"пр.об.\", pm: \"Ñл.об.\" },\n }\n );\n Globalize.b865165659 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ca\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ca\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM 'a' 'les' h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"de gener\",\n 2: \"de febrer\",\n 3: \"de març\",\n 4: \"d’abril\",\n 5: \"de maig\",\n 6: \"de juny\",\n 7: \"de juliol\",\n 8: \"d’agost\",\n 9: \"de setembre\",\n 10: \"d’octubre\",\n 11: \"de novembre\",\n 12: \"de desembre\",\n },\n },\n },\n dayPeriods: { am: \"a. m.\", pm: \"p. m.\" },\n }\n );\n Globalize.a399771831 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"cs\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"cs\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"ledna\",\n 2: \"února\",\n 3: \"bÅ™ezna\",\n 4: \"dubna\",\n 5: \"kvÄ›tna\",\n 6: \"Äervna\",\n 7: \"Äervence\",\n 8: \"srpna\",\n 9: \"zářÃ\",\n 10: \"Å™Ãjna\",\n 11: \"listopadu\",\n 12: \"prosince\",\n },\n },\n },\n dayPeriods: { am: \"dop.\", pm: \"odp.\" },\n }\n );\n Globalize.b834145852 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"da\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"da\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM 'kl'. h.mm a\",\n timeSeparator: \".\",\n months: {\n M: {\n 4: {\n 1: \"januar\",\n 2: \"februar\",\n 3: \"marts\",\n 4: \"april\",\n 5: \"maj\",\n 6: \"juni\",\n 7: \"juli\",\n 8: \"august\",\n 9: \"september\",\n 10: \"oktober\",\n 11: \"november\",\n 12: \"december\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.b553048632 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"de\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"de\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM 'um' h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"Januar\",\n 2: \"Februar\",\n 3: \"März\",\n 4: \"April\",\n 5: \"Mai\",\n 6: \"Juni\",\n 7: \"Juli\",\n 8: \"August\",\n 9: \"September\",\n 10: \"Oktober\",\n 11: \"November\",\n 12: \"Dezember\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.a2117374958 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"el\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"el\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM - h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"ΙανουαÏίου\",\n 2: \"ΦεβÏουαÏίου\",\n 3: \"ΜαÏτίου\",\n 4: \"ΑπÏιλίου\",\n 5: \"ΜαÎου\",\n 6: \"Ιουνίου\",\n 7: \"Ιουλίου\",\n 8: \"ΑυγοÏστου\",\n 9: \"ΣεπτεμβÏίου\",\n 10: \"ΟκτωβÏίου\",\n 11: \"ÎοεμβÏίου\",\n 12: \"ΔεκεμβÏίου\",\n },\n },\n },\n dayPeriods: { am: \"Ï€.μ.\", pm: \"μ.μ.\" },\n }\n );\n Globalize.b2037043728 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"en\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"en\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"MMMM d 'at' h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"January\",\n 2: \"February\",\n 3: \"March\",\n 4: \"April\",\n 5: \"May\",\n 6: \"June\",\n 7: \"July\",\n 8: \"August\",\n 9: \"September\",\n 10: \"October\",\n 11: \"November\",\n 12: \"December\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.a461811445 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"es\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"es\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d 'de' MMMM, h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"enero\",\n 2: \"febrero\",\n 3: \"marzo\",\n 4: \"abril\",\n 5: \"mayo\",\n 6: \"junio\",\n 7: \"julio\",\n 8: \"agosto\",\n 9: \"septiembre\",\n 10: \"octubre\",\n 11: \"noviembre\",\n 12: \"diciembre\",\n },\n },\n },\n dayPeriods: { am: \"a. m.\", pm: \"p. m.\" },\n }\n );\n Globalize.b1615397898 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"et\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"et\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"jaanuar\",\n 2: \"veebruar\",\n 3: \"märts\",\n 4: \"aprill\",\n 5: \"mai\",\n 6: \"juuni\",\n 7: \"juuli\",\n 8: \"august\",\n 9: \"september\",\n 10: \"oktoober\",\n 11: \"november\",\n 12: \"detsember\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.a602360055 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"eu\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"eu\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"MMMM d h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"urtarrila\",\n 2: \"otsaila\",\n 3: \"martxoa\",\n 4: \"apirila\",\n 5: \"maiatza\",\n 6: \"ekaina\",\n 7: \"uztaila\",\n 8: \"abuztua\",\n 9: \"iraila\",\n 10: \"urria\",\n 11: \"azaroa\",\n 12: \"abendua\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.b209911798 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"fi\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"fi\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM 'klo' h.mm a\",\n timeSeparator: \".\",\n months: {\n M: {\n 4: {\n 1: \"tammikuuta\",\n 2: \"helmikuuta\",\n 3: \"maaliskuuta\",\n 4: \"huhtikuuta\",\n 5: \"toukokuuta\",\n 6: \"kesäkuuta\",\n 7: \"heinäkuuta\",\n 8: \"elokuuta\",\n 9: \"syyskuuta\",\n 10: \"lokakuuta\",\n 11: \"marraskuuta\",\n 12: \"joulukuuta\",\n },\n },\n },\n dayPeriods: { am: \"ap.\", pm: \"ip.\" },\n }\n );\n Globalize.b1724926701 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"fr\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"fr\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM 'à ' h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"janvier\",\n 2: \"février\",\n 3: \"mars\",\n 4: \"avril\",\n 5: \"mai\",\n 6: \"juin\",\n 7: \"juillet\",\n 8: \"août\",\n 9: \"septembre\",\n 10: \"octobre\",\n 11: \"novembre\",\n 12: \"décembre\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.b2115552724 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"gl\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"gl\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"h:mm a 'do' d 'de' MMMM\",\n timeSeparator: \":\",\n dayPeriods: { am: \"a.m.\", pm: \"p.m.\" },\n months: {\n M: {\n 4: {\n 1: \"xaneiro\",\n 2: \"febreiro\",\n 3: \"marzo\",\n 4: \"abril\",\n 5: \"maio\",\n 6: \"xuño\",\n 7: \"xullo\",\n 8: \"agosto\",\n 9: \"setembro\",\n 10: \"outubro\",\n 11: \"novembro\",\n 12: \"decembro\",\n },\n },\n },\n }\n );\n Globalize.b428969404 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"he\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"he\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d בMMMM בשעה h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"×™× ×•×ר\",\n 2: \"פברו×ר\",\n 3: \"מרץ\",\n 4: \"×פריל\",\n 5: \"מ××™\",\n 6: \"×™×•× ×™\",\n 7: \"יולי\",\n 8: \"×וגוסט\",\n 9: \"ספטמבר\",\n 10: \"×וקטובר\",\n 11: \"× ×•×‘×ž×‘×¨\",\n 12: \"דצמבר\",\n },\n },\n },\n dayPeriods: { am: \"×œ×¤× ×”×´×¦\", pm: \"×חה״צ\" },\n }\n );\n Globalize.b147872184 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"hi\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"hi\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM को h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"जनवरी\",\n 2: \"फ़रवरी\",\n 3: \"मारà¥à¤š\",\n 4: \"अपà¥à¤°à¥ˆà¤²\",\n 5: \"मई\",\n 6: \"जून\",\n 7: \"जà¥à¤²à¤¾à¤ˆ\",\n 8: \"अगसà¥à¤¤\",\n 9: \"सितंबर\",\n 10: \"अकà¥à¤¤à¥‚बर\",\n 11: \"नवंबर\",\n 12: \"दिसंबर\",\n },\n },\n },\n dayPeriods: { am: \"am\", pm: \"pm\" },\n }\n );\n Globalize.b1662887087 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"hr\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"hr\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM 'u' hh:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"sijeÄnja\",\n 2: \"veljaÄe\",\n 3: \"ožujka\",\n 4: \"travnja\",\n 5: \"svibnja\",\n 6: \"lipnja\",\n 7: \"srpnja\",\n 8: \"kolovoza\",\n 9: \"rujna\",\n 10: \"listopada\",\n 11: \"studenoga\",\n 12: \"prosinca\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.a695419476 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"hu\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"hu\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"MMMM d. a h:mm\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"január\",\n 2: \"február\",\n 3: \"március\",\n 4: \"április\",\n 5: \"május\",\n 6: \"június\",\n 7: \"július\",\n 8: \"augusztus\",\n 9: \"szeptember\",\n 10: \"október\",\n 11: \"november\",\n 12: \"december\",\n },\n },\n },\n dayPeriods: { am: \"de.\", pm: \"du.\" },\n }\n );\n Globalize.a1679259746 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"id\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"id\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h.mm a\",\n timeSeparator: \".\",\n months: {\n M: {\n 4: {\n 1: \"Januari\",\n 2: \"Februari\",\n 3: \"Maret\",\n 4: \"April\",\n 5: \"Mei\",\n 6: \"Juni\",\n 7: \"Juli\",\n 8: \"Agustus\",\n 9: \"September\",\n 10: \"Oktober\",\n 11: \"November\",\n 12: \"Desember\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.b1491318670 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"it\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"it\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"gennaio\",\n 2: \"febbraio\",\n 3: \"marzo\",\n 4: \"aprile\",\n 5: \"maggio\",\n 6: \"giugno\",\n 7: \"luglio\",\n 8: \"agosto\",\n 9: \"settembre\",\n 10: \"ottobre\",\n 11: \"novembre\",\n 12: \"dicembre\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.b648027010 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ja\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ja\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"M月dæ—¥ aK:mm\",\n timeSeparator: \":\",\n dayPeriods: { am: \"åˆå‰\", pm: \"åˆå¾Œ\" },\n }\n );\n Globalize.a85735847 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"kk\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"kk\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM, h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"қаңтар\",\n 2: \"ақпан\",\n 3: \"наурыз\",\n 4: \"Ñәуір\",\n 5: \"мамыр\",\n 6: \"мауÑым\",\n 7: \"шілде\",\n 8: \"тамыз\",\n 9: \"қыркүйек\",\n 10: \"қазан\",\n 11: \"қараша\",\n 12: \"желтоқÑан\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.a366833067 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ko\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ko\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"MMMM dì¼ a h:mm\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"1ì›”\",\n 2: \"2ì›”\",\n 3: \"3ì›”\",\n 4: \"4ì›”\",\n 5: \"5ì›”\",\n 6: \"6ì›”\",\n 7: \"7ì›”\",\n 8: \"8ì›”\",\n 9: \"9ì›”\",\n 10: \"10ì›”\",\n 11: \"11ì›”\",\n 12: \"12ì›”\",\n },\n },\n },\n dayPeriods: { am: \"ì˜¤ì „\", pm: \"오후\" },\n }\n );\n Globalize.b1398259249 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"lt\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"lt\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"MMMM d 'd'. hh:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"sausio\",\n 2: \"vasario\",\n 3: \"kovo\",\n 4: \"balandžio\",\n 5: \"gegužės\",\n 6: \"birželio\",\n 7: \"liepos\",\n 8: \"rugpjÅ«Äio\",\n 9: \"rugsÄ—jo\",\n 10: \"spalio\",\n 11: \"lapkriÄio\",\n 12: \"gruodžio\",\n },\n },\n },\n dayPeriods: { am: \"prieÅ¡piet\", pm: \"popiet\" },\n }\n );\n Globalize.b1257710639 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"lv\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"lv\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"janvÄris\",\n 2: \"februÄris\",\n 3: \"marts\",\n 4: \"aprÄ«lis\",\n 5: \"maijs\",\n 6: \"jÅ«nijs\",\n 7: \"jÅ«lijs\",\n 8: \"augusts\",\n 9: \"septembris\",\n 10: \"oktobris\",\n 11: \"novembris\",\n 12: \"decembris\",\n },\n },\n },\n dayPeriods: { am: \"priekÅ¡pusdienÄ\", pm: \"pÄ“cpusdienÄ\" },\n }\n );\n Globalize.a709969901 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ms\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ms\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"Januari\",\n 2: \"Februari\",\n 3: \"Mac\",\n 4: \"April\",\n 5: \"Mei\",\n 6: \"Jun\",\n 7: \"Julai\",\n 8: \"Ogos\",\n 9: \"September\",\n 10: \"Oktober\",\n 11: \"November\",\n 12: \"Disember\",\n },\n },\n },\n dayPeriods: { am: \"PG\", pm: \"PTG\" },\n }\n );\n Globalize.a1693810171 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"nb\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"nb\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM 'kl'. h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"januar\",\n 2: \"februar\",\n 3: \"mars\",\n 4: \"april\",\n 5: \"mai\",\n 6: \"juni\",\n 7: \"juli\",\n 8: \"august\",\n 9: \"september\",\n 10: \"oktober\",\n 11: \"november\",\n 12: \"desember\",\n },\n },\n },\n dayPeriods: { am: \"a.m.\", pm: \"p.m.\" },\n }\n );\n Globalize.b1898414075 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"nl\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"nl\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM 'om' h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"januari\",\n 2: \"februari\",\n 3: \"maart\",\n 4: \"april\",\n 5: \"mei\",\n 6: \"juni\",\n 7: \"juli\",\n 8: \"augustus\",\n 9: \"september\",\n 10: \"oktober\",\n 11: \"november\",\n 12: \"december\",\n },\n },\n },\n dayPeriods: { am: \"a.m.\", pm: \"p.m.\" },\n }\n );\n Globalize.b1836374461 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"pl\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"pl\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"stycznia\",\n 2: \"lutego\",\n 3: \"marca\",\n 4: \"kwietnia\",\n 5: \"maja\",\n 6: \"czerwca\",\n 7: \"lipca\",\n 8: \"sierpnia\",\n 9: \"wrzeÅ›nia\",\n 10: \"października\",\n 11: \"listopada\",\n 12: \"grudnia\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.b1274180021 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"pt\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"pt\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d 'de' MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"janeiro\",\n 2: \"fevereiro\",\n 3: \"março\",\n 4: \"abril\",\n 5: \"maio\",\n 6: \"junho\",\n 7: \"julho\",\n 8: \"agosto\",\n 9: \"setembro\",\n 10: \"outubro\",\n 11: \"novembro\",\n 12: \"dezembro\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.a1582820462 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"pt-PT\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"pt-PT\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d 'de' MMMM 'à s' h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"janeiro\",\n 2: \"fevereiro\",\n 3: \"março\",\n 4: \"abril\",\n 5: \"maio\",\n 6: \"junho\",\n 7: \"julho\",\n 8: \"agosto\",\n 9: \"setembro\",\n 10: \"outubro\",\n 11: \"novembro\",\n 12: \"dezembro\",\n },\n },\n },\n dayPeriods: { am: \"da manhã\", pm: \"da tarde\" },\n }\n );\n Globalize.a583971716 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ro\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ro\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM, h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"ianuarie\",\n 2: \"februarie\",\n 3: \"martie\",\n 4: \"aprilie\",\n 5: \"mai\",\n 6: \"iunie\",\n 7: \"iulie\",\n 8: \"august\",\n 9: \"septembrie\",\n 10: \"octombrie\",\n 11: \"noiembrie\",\n 12: \"decembrie\",\n },\n },\n },\n dayPeriods: { am: \"a.m.\", pm: \"p.m.\" },\n }\n );\n Globalize.a1005617546 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"ru\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"ru\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM, h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"ÑнварÑ\",\n 2: \"февралÑ\",\n 3: \"марта\",\n 4: \"апрелÑ\",\n 5: \"маÑ\",\n 6: \"июнÑ\",\n 7: \"июлÑ\",\n 8: \"авгуÑта\",\n 9: \"ÑентÑбрÑ\",\n 10: \"октÑбрÑ\",\n 11: \"ноÑбрÑ\",\n 12: \"декабрÑ\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.a333894303 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"sk\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"sk\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM, h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"januára\",\n 2: \"februára\",\n 3: \"marca\",\n 4: \"aprÃla\",\n 5: \"mája\",\n 6: \"júna\",\n 7: \"júla\",\n 8: \"augusta\",\n 9: \"septembra\",\n 10: \"októbra\",\n 11: \"novembra\",\n 12: \"decembra\",\n },\n },\n },\n dayPeriods: { am: \"AM\", pm: \"PM\" },\n }\n );\n Globalize.b1743315040 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"sl\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"sl\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"januar\",\n 2: \"februar\",\n 3: \"marec\",\n 4: \"april\",\n 5: \"maj\",\n 6: \"junij\",\n 7: \"julij\",\n 8: \"avgust\",\n 9: \"september\",\n 10: \"oktober\",\n 11: \"november\",\n 12: \"december\",\n },\n },\n },\n dayPeriods: { am: \"dop.\", pm: \"pop.\" },\n }\n );\n Globalize.a374999999 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"sr-Cyrl\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"sr-Cyrl\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"јануар\",\n 2: \"фебруар\",\n 3: \"март\",\n 4: \"април\",\n 5: \"мај\",\n 6: \"јун\",\n 7: \"јул\",\n 8: \"авгуÑÑ‚\",\n 9: \"Ñептембар\",\n 10: \"октобар\",\n 11: \"новембар\",\n 12: \"децембар\",\n },\n },\n },\n dayPeriods: { am: \"пре подне\", pm: \"по подне\" },\n }\n );\n Globalize.a976026686 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"sr-Latn\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"sr-Latn\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d. MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"januar\",\n 2: \"februar\",\n 3: \"mart\",\n 4: \"april\",\n 5: \"maj\",\n 6: \"jun\",\n 7: \"jul\",\n 8: \"avgust\",\n 9: \"septembar\",\n 10: \"oktobar\",\n 11: \"novembar\",\n 12: \"decembar\",\n },\n },\n },\n dayPeriods: { am: \"pre podne\", pm: \"po podne\" },\n }\n );\n Globalize.b1040571990 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"sv\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"sv\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"januari\",\n 2: \"februari\",\n 3: \"mars\",\n 4: \"april\",\n 5: \"maj\",\n 6: \"juni\",\n 7: \"juli\",\n 8: \"augusti\",\n 9: \"september\",\n 10: \"oktober\",\n 11: \"november\",\n 12: \"december\",\n },\n },\n },\n dayPeriods: { am: \"fm\", pm: \"em\" },\n }\n );\n Globalize.b1993392453 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"th\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"th\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"มà¸à¸£à¸²à¸„ม\",\n 2: \"à¸à¸¸à¸¡à¸ าพันธ์\",\n 3: \"มีนาคม\",\n 4: \"เมษายน\",\n 5: \"พฤษภาคม\",\n 6: \"มิถุนายน\",\n 7: \"à¸à¸£à¸à¸Žà¸²à¸„ม\",\n 8: \"สิงหาคม\",\n 9: \"à¸à¸±à¸™à¸¢à¸²à¸¢à¸™\",\n 10: \"ตุลาคม\",\n 11: \"พฤศจิà¸à¸²à¸¢à¸™\",\n 12: \"ธันวาคม\",\n },\n },\n },\n dayPeriods: { am: \"à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง\", pm: \"หลังเที่ยง\" },\n }\n );\n Globalize.b1290649403 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"tr\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"tr\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM a h:mm\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"Ocak\",\n 2: \"Åžubat\",\n 3: \"Mart\",\n 4: \"Nisan\",\n 5: \"Mayıs\",\n 6: \"Haziran\",\n 7: \"Temmuz\",\n 8: \"AÄŸustos\",\n 9: \"Eylül\",\n 10: \"Ekim\",\n 11: \"Kasım\",\n 12: \"Aralık\",\n },\n },\n },\n dayPeriods: { am: \"ÖÖ\", pm: \"ÖS\" },\n }\n );\n Globalize.a395933917 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"uk\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"uk\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"d MMMM 'о' h:mm a\",\n timeSeparator: \":\",\n months: {\n M: {\n 4: {\n 1: \"ÑічнÑ\",\n 2: \"лютого\",\n 3: \"березнÑ\",\n 4: \"квітнÑ\",\n 5: \"травнÑ\",\n 6: \"червнÑ\",\n 7: \"липнÑ\",\n 8: \"ÑерпнÑ\",\n 9: \"вереÑнÑ\",\n 10: \"жовтнÑ\",\n 11: \"лиÑтопада\",\n 12: \"груднÑ\",\n },\n },\n },\n dayPeriods: { am: \"дп\", pm: \"пп\" },\n }\n );\n Globalize.a286405114 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"vi\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"vi\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"h:mm a d MMMM\",\n timeSeparator: \":\",\n dayPeriods: { am: \"SA\", pm: \"CH\" },\n months: {\n M: {\n 4: {\n 1: \"tháng 1\",\n 2: \"tháng 2\",\n 3: \"tháng 3\",\n 4: \"tháng 4\",\n 5: \"tháng 5\",\n 6: \"tháng 6\",\n 7: \"tháng 7\",\n 8: \"tháng 8\",\n 9: \"tháng 9\",\n 10: \"tháng 10\",\n 11: \"tháng 11\",\n 12: \"tháng 12\",\n },\n },\n },\n }\n );\n Globalize.b222114294 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"yue\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"yue\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"M月dæ—¥ ah:mm\",\n timeSeparator: \":\",\n dayPeriods: { am: \"上åˆ\", pm: \"下åˆ\" },\n }\n );\n Globalize.b1939787106 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"zh-Hans\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"zh-Hans\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"M月dæ—¥ ah:mm\",\n timeSeparator: \":\",\n dayPeriods: { am: \"上åˆ\", pm: \"下åˆ\" },\n }\n );\n Globalize.b621833333 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"zh-Hans-SG\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"zh-Hans-SG\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"M月dæ—¥ ah:mm\",\n timeSeparator: \":\",\n dayPeriods: { am: \"上åˆ\", pm: \"下åˆ\" },\n }\n );\n Globalize.a277970847 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"zh-Hant\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"zh-Hant\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"M月dæ—¥ ah:mm\",\n timeSeparator: \":\",\n dayPeriods: { am: \"上åˆ\", pm: \"下åˆ\" },\n }\n );\n Globalize.b936690535 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"zh-Hant-HK\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"zh-Hant-HK\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"M月dæ—¥ ah:mm\",\n timeSeparator: \":\",\n dayPeriods: { am: \"上åˆ\", pm: \"下åˆ\" },\n }\n );\n Globalize.b500494280 = dateToPartsFormatterFn(\n {\n 1: Globalize(\"zh-Hant-MO\").numberFormatter({ raw: \"0\" }),\n 2: Globalize(\"zh-Hant-MO\").numberFormatter({ raw: \"00\" }),\n },\n {\n pattern: \"M月dæ—¥ ah:mm\",\n timeSeparator: \":\",\n dayPeriods: { am: \"上åˆ\", pm: \"下åˆ\" },\n }\n );\n Globalize.a50097046 = dateFormatterFn(\n Globalize(\"ar-EG\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a62728514 = dateFormatterFn(\n Globalize(\"ar-SA\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b46681067 = dateFormatterFn(\n Globalize(\"bg\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b437307090 = dateFormatterFn(\n Globalize(\"ca\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a827630400 = dateFormatterFn(\n Globalize(\"cs\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b406287283 = dateFormatterFn(\n Globalize(\"da\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b125190063 = dateFormatterFn(\n Globalize(\"de\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1749733769 = dateFormatterFn(\n Globalize(\"el\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1609185159 = dateFormatterFn(\n Globalize(\"en\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a889670014 = dateFormatterFn(\n Globalize(\"es\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1187539329 = dateFormatterFn(\n Globalize(\"et\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a1030218624 = dateFormatterFn(\n Globalize(\"eu\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a217946771 = dateFormatterFn(\n Globalize(\"fi\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1297068132 = dateFormatterFn(\n Globalize(\"fr\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1687694155 = dateFormatterFn(\n Globalize(\"gl\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1110835 = dateFormatterFn(\n Globalize(\"he\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a279986385 = dateFormatterFn(\n Globalize(\"hi\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1235028518 = dateFormatterFn(\n Globalize(\"hr\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a1123278045 = dateFormatterFn(\n Globalize(\"hu\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a2107118315 = dateFormatterFn(\n Globalize(\"id\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1063460101 = dateFormatterFn(\n Globalize(\"it\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b220168441 = dateFormatterFn(\n Globalize(\"ja\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a513594416 = dateFormatterFn(\n Globalize(\"kk\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a794691636 = dateFormatterFn(\n Globalize(\"ko\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b970400680 = dateFormatterFn(\n Globalize(\"lt\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b829852070 = dateFormatterFn(\n Globalize(\"lv\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a1137828470 = dateFormatterFn(\n Globalize(\"ms\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a2121668740 = dateFormatterFn(\n Globalize(\"nb\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1470555506 = dateFormatterFn(\n Globalize(\"nl\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1408515892 = dateFormatterFn(\n Globalize(\"pl\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b846321452 = dateFormatterFn(\n Globalize(\"pt\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a454515013 = dateFormatterFn(\n Globalize(\"pt-PT\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a1011830285 = dateFormatterFn(\n Globalize(\"ro\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a1433476115 = dateFormatterFn(\n Globalize(\"ru\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a761752872 = dateFormatterFn(\n Globalize(\"sk\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1315456471 = dateFormatterFn(\n Globalize(\"sl\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1594777898 = dateFormatterFn(\n Globalize(\"sr-Cyrl\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b993751211 = dateFormatterFn(\n Globalize(\"sr-Latn\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b612713421 = dateFormatterFn(\n Globalize(\"sv\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1565533884 = dateFormatterFn(\n Globalize(\"th\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b862790834 = dateFormatterFn(\n Globalize(\"tr\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a823792486 = dateFormatterFn(\n Globalize(\"uk\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a714263683 = dateFormatterFn(\n Globalize(\"vi\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a156599457 = dateFormatterFn(\n Globalize(\"yue\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.a385402293 = dateFormatterFn(\n Globalize(\"zh-Hans\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b136997612 = dateFormatterFn(\n Globalize(\"zh-Hans-SG\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1691807050 = dateFormatterFn(\n Globalize(\"zh-Hant\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b451854814 = dateFormatterFn(\n Globalize(\"zh-Hant-HK\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b15658559 = dateFormatterFn(\n Globalize(\"zh-Hant-MO\").dateToPartsFormatter({ skeleton: \"MMMMdhm\" })\n );\n Globalize.b1129493863 = relativeTimeFormatterFn(\n Globalize(\"ar-EG\").numberFormatter({}),\n Globalize(\"ar-EG\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-zero\": \"خلال {0} ساعة\",\n \"relativeTimePattern-count-one\": \"خلال ساعة واØدة\",\n \"relativeTimePattern-count-two\": \"خلال ساعتين\",\n \"relativeTimePattern-count-few\": \"خلال {0} ساعات\",\n \"relativeTimePattern-count-many\": \"خلال {0} ساعة\",\n \"relativeTimePattern-count-other\": \"خلال {0} ساعة\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-zero\": \"قبل {0} ساعة\",\n \"relativeTimePattern-count-one\": \"قبل ساعة واØدة\",\n \"relativeTimePattern-count-two\": \"قبل ساعتين\",\n \"relativeTimePattern-count-few\": \"قبل {0} ساعات\",\n \"relativeTimePattern-count-many\": \"قبل {0} ساعة\",\n \"relativeTimePattern-count-other\": \"قبل {0} ساعة\",\n },\n \"relative-type-0\": \"الساعة الØالية\",\n }\n );\n Globalize.b318696087 = relativeTimeFormatterFn(\n Globalize(\"ar-EG\").numberFormatter({}),\n Globalize(\"ar-EG\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-zero\": \"خلال {0} دقيقة\",\n \"relativeTimePattern-count-one\": \"خلال دقيقة واØدة\",\n \"relativeTimePattern-count-two\": \"خلال دقيقتين\",\n \"relativeTimePattern-count-few\": \"خلال {0} دقائق\",\n \"relativeTimePattern-count-many\": \"خلال {0} دقيقة\",\n \"relativeTimePattern-count-other\": \"خلال {0} دقيقة\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-zero\": \"قبل {0} دقيقة\",\n \"relativeTimePattern-count-one\": \"قبل دقيقة واØدة\",\n \"relativeTimePattern-count-two\": \"قبل دقيقتين\",\n \"relativeTimePattern-count-few\": \"قبل {0} دقائق\",\n \"relativeTimePattern-count-many\": \"قبل {0} دقيقة\",\n \"relativeTimePattern-count-other\": \"قبل {0} دقيقة\",\n },\n \"relative-type-0\": \"هذه الدقيقة\",\n }\n );\n Globalize.b1716664979 = relativeTimeFormatterFn(\n Globalize(\"ar-SA\").numberFormatter({}),\n Globalize(\"ar-SA\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-zero\": \"خلال {0} ساعة\",\n \"relativeTimePattern-count-one\": \"خلال ساعة واØدة\",\n \"relativeTimePattern-count-two\": \"خلال ساعتين\",\n \"relativeTimePattern-count-few\": \"خلال {0} ساعات\",\n \"relativeTimePattern-count-many\": \"خلال {0} ساعة\",\n \"relativeTimePattern-count-other\": \"خلال {0} ساعة\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-zero\": \"قبل {0} ساعة\",\n \"relativeTimePattern-count-one\": \"قبل ساعة واØدة\",\n \"relativeTimePattern-count-two\": \"قبل ساعتين\",\n \"relativeTimePattern-count-few\": \"قبل {0} ساعات\",\n \"relativeTimePattern-count-many\": \"قبل {0} ساعة\",\n \"relativeTimePattern-count-other\": \"قبل {0} ساعة\",\n },\n \"relative-type-0\": \"الساعة الØالية\",\n }\n );\n Globalize.b1949422787 = relativeTimeFormatterFn(\n Globalize(\"ar-SA\").numberFormatter({}),\n Globalize(\"ar-SA\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-zero\": \"خلال {0} دقيقة\",\n \"relativeTimePattern-count-one\": \"خلال دقيقة واØدة\",\n \"relativeTimePattern-count-two\": \"خلال دقيقتين\",\n \"relativeTimePattern-count-few\": \"خلال {0} دقائق\",\n \"relativeTimePattern-count-many\": \"خلال {0} دقيقة\",\n \"relativeTimePattern-count-other\": \"خلال {0} دقيقة\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-zero\": \"قبل {0} دقيقة\",\n \"relativeTimePattern-count-one\": \"قبل دقيقة واØدة\",\n \"relativeTimePattern-count-two\": \"قبل دقيقتين\",\n \"relativeTimePattern-count-few\": \"قبل {0} دقائق\",\n \"relativeTimePattern-count-many\": \"قبل {0} دقيقة\",\n \"relativeTimePattern-count-other\": \"قبل {0} دقيقة\",\n },\n \"relative-type-0\": \"هذه الدقيقة\",\n }\n );\n Globalize.b1132152016 = relativeTimeFormatterFn(\n Globalize(\"bg\").numberFormatter({}),\n Globalize(\"bg\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"Ñлед {0} чаÑ\",\n \"relativeTimePattern-count-other\": \"Ñлед {0} чаÑа\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"преди {0} чаÑ\",\n \"relativeTimePattern-count-other\": \"преди {0} чаÑа\",\n },\n \"relative-type-0\": \"в този чаÑ\",\n }\n );\n Globalize.a1421786176 = relativeTimeFormatterFn(\n Globalize(\"bg\").numberFormatter({}),\n Globalize(\"bg\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"Ñлед {0} минута\",\n \"relativeTimePattern-count-other\": \"Ñлед {0} минути\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"преди {0} минута\",\n \"relativeTimePattern-count-other\": \"преди {0} минути\",\n },\n \"relative-type-0\": \"в тази минута\",\n }\n );\n Globalize.a2094915959 = relativeTimeFormatterFn(\n Globalize(\"ca\").numberFormatter({}),\n Globalize(\"ca\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"d’aquà a {0} hora\",\n \"relativeTimePattern-count-other\": \"d’aquà a {0} hores\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"fa {0} hora\",\n \"relativeTimePattern-count-other\": \"fa {0} hores\",\n },\n \"relative-type-0\": \"aquesta hora\",\n }\n );\n Globalize.a1667722439 = relativeTimeFormatterFn(\n Globalize(\"ca\").numberFormatter({}),\n Globalize(\"ca\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"d’aquà a {0} minut\",\n \"relativeTimePattern-count-other\": \"d’aquà a {0} minuts\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"fa {0} minut\",\n \"relativeTimePattern-count-other\": \"fa {0} minuts\",\n },\n \"relative-type-0\": \"aquest minut\",\n }\n );\n Globalize.a123437605 = relativeTimeFormatterFn(\n Globalize(\"cs\").numberFormatter({}),\n Globalize(\"cs\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} hodinu\",\n \"relativeTimePattern-count-few\": \"za {0} hodiny\",\n \"relativeTimePattern-count-many\": \"za {0} hodiny\",\n \"relativeTimePattern-count-other\": \"za {0} hodin\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pÅ™ed {0} hodinou\",\n \"relativeTimePattern-count-few\": \"pÅ™ed {0} hodinami\",\n \"relativeTimePattern-count-many\": \"pÅ™ed {0} hodiny\",\n \"relativeTimePattern-count-other\": \"pÅ™ed {0} hodinami\",\n },\n \"relative-type-0\": \"tuto hodinu\",\n }\n );\n Globalize.a1157601781 = relativeTimeFormatterFn(\n Globalize(\"cs\").numberFormatter({}),\n Globalize(\"cs\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} minutu\",\n \"relativeTimePattern-count-few\": \"za {0} minuty\",\n \"relativeTimePattern-count-many\": \"za {0} minuty\",\n \"relativeTimePattern-count-other\": \"za {0} minut\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pÅ™ed {0} minutou\",\n \"relativeTimePattern-count-few\": \"pÅ™ed {0} minutami\",\n \"relativeTimePattern-count-many\": \"pÅ™ed {0} minuty\",\n \"relativeTimePattern-count-other\": \"pÅ™ed {0} minutami\",\n },\n \"relative-type-0\": \"tuto minutu\",\n }\n );\n Globalize.a1801512952 = relativeTimeFormatterFn(\n Globalize(\"da\").numberFormatter({}),\n Globalize(\"da\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"om {0} time\",\n \"relativeTimePattern-count-other\": \"om {0} timer\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"for {0} time siden\",\n \"relativeTimePattern-count-other\": \"for {0} timer siden\",\n },\n \"relative-type-0\": \"i den kommende time\",\n }\n );\n Globalize.b1119693048 = relativeTimeFormatterFn(\n Globalize(\"da\").numberFormatter({}),\n Globalize(\"da\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"om {0} minut\",\n \"relativeTimePattern-count-other\": \"om {0} minutter\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"for {0} minut siden\",\n \"relativeTimePattern-count-other\": \"for {0} minutter siden\",\n },\n \"relative-type-0\": \"i det kommende minut\",\n }\n );\n Globalize.b1977123468 = relativeTimeFormatterFn(\n Globalize(\"de\").numberFormatter({}),\n Globalize(\"de\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"in {0} Stunde\",\n \"relativeTimePattern-count-other\": \"in {0} Stunden\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"vor {0} Stunde\",\n \"relativeTimePattern-count-other\": \"vor {0} Stunden\",\n },\n \"relative-type-0\": \"in dieser Stunde\",\n }\n );\n Globalize.a1153039748 = relativeTimeFormatterFn(\n Globalize(\"de\").numberFormatter({}),\n Globalize(\"de\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"in {0} Minute\",\n \"relativeTimePattern-count-other\": \"in {0} Minuten\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"vor {0} Minute\",\n \"relativeTimePattern-count-other\": \"vor {0} Minuten\",\n },\n \"relative-type-0\": \"in dieser Minute\",\n }\n );\n Globalize.b1366947442 = relativeTimeFormatterFn(\n Globalize(\"el\").numberFormatter({}),\n Globalize(\"el\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"σε {0} ÏŽÏα\",\n \"relativeTimePattern-count-other\": \"σε {0} ÏŽÏες\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"Ï€Ïιν από {0} ÏŽÏα\",\n \"relativeTimePattern-count-other\": \"Ï€Ïιν από {0} ÏŽÏες\",\n },\n \"relative-type-0\": \"Ï„ÏÎχουσα ÏŽÏα\",\n }\n );\n Globalize.b878318818 = relativeTimeFormatterFn(\n Globalize(\"el\").numberFormatter({}),\n Globalize(\"el\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"σε {0} λεπτό\",\n \"relativeTimePattern-count-other\": \"σε {0} λεπτά\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"Ï€Ïιν από {0} λεπτό\",\n \"relativeTimePattern-count-other\": \"Ï€Ïιν από {0} λεπτά\",\n },\n \"relative-type-0\": \"Ï„ÏÎχον λεπτό\",\n }\n );\n Globalize.b1108782004 = relativeTimeFormatterFn(\n Globalize(\"en\").numberFormatter({}),\n Globalize(\"en\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"in {0} hour\",\n \"relativeTimePattern-count-other\": \"in {0} hours\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} hour ago\",\n \"relativeTimePattern-count-other\": \"{0} hours ago\",\n },\n \"relative-type-0\": \"this hour\",\n }\n );\n Globalize.b1889436068 = relativeTimeFormatterFn(\n Globalize(\"en\").numberFormatter({}),\n Globalize(\"en\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"in {0} minute\",\n \"relativeTimePattern-count-other\": \"in {0} minutes\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} minute ago\",\n \"relativeTimePattern-count-other\": \"{0} minutes ago\",\n },\n \"relative-type-0\": \"this minute\",\n }\n );\n Globalize.b463368409 = relativeTimeFormatterFn(\n Globalize(\"es\").numberFormatter({}),\n Globalize(\"es\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"dentro de {0} hora\",\n \"relativeTimePattern-count-other\": \"dentro de {0} horas\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"hace {0} hora\",\n \"relativeTimePattern-count-other\": \"hace {0} horas\",\n },\n \"relative-type-0\": \"esta hora\",\n }\n );\n Globalize.b122261897 = relativeTimeFormatterFn(\n Globalize(\"es\").numberFormatter({}),\n Globalize(\"es\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"dentro de {0} minuto\",\n \"relativeTimePattern-count-other\": \"dentro de {0} minutos\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"hace {0} minuto\",\n \"relativeTimePattern-count-other\": \"hace {0} minutos\",\n },\n \"relative-type-0\": \"este minuto\",\n }\n );\n Globalize.b334285690 = relativeTimeFormatterFn(\n Globalize(\"et\").numberFormatter({}),\n Globalize(\"et\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} tunni pärast\",\n \"relativeTimePattern-count-other\": \"{0} tunni pärast\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} tunni eest\",\n \"relativeTimePattern-count-other\": \"{0} tunni eest\",\n },\n \"relative-type-0\": \"praegusel tunnil\",\n }\n );\n Globalize.b627820522 = relativeTimeFormatterFn(\n Globalize(\"et\").numberFormatter({}),\n Globalize(\"et\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} minuti pärast\",\n \"relativeTimePattern-count-other\": \"{0} minuti pärast\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} minuti eest\",\n \"relativeTimePattern-count-other\": \"{0} minuti eest\",\n },\n \"relative-type-0\": \"praegusel minutil\",\n }\n );\n Globalize.b205202971 = relativeTimeFormatterFn(\n Globalize(\"eu\").numberFormatter({}),\n Globalize(\"eu\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} ordu barru\",\n \"relativeTimePattern-count-other\": \"{0} ordu barru\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"Duela {0} ordu\",\n \"relativeTimePattern-count-other\": \"Duela {0} ordu\",\n },\n \"relative-type-0\": \"ordu honetan\",\n }\n );\n Globalize.b1133379147 = relativeTimeFormatterFn(\n Globalize(\"eu\").numberFormatter({}),\n Globalize(\"eu\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} minutu barru\",\n \"relativeTimePattern-count-other\": \"{0} minutu barru\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"Duela {0} minutu\",\n \"relativeTimePattern-count-other\": \"Duela {0} minutu\",\n },\n \"relative-type-0\": \"minutu honetan\",\n }\n );\n Globalize.b2047598606 = relativeTimeFormatterFn(\n Globalize(\"fi\").numberFormatter({}),\n Globalize(\"fi\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} tunnin päästä\",\n \"relativeTimePattern-count-other\": \"{0} tunnin päästä\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} tunti sitten\",\n \"relativeTimePattern-count-other\": \"{0} tuntia sitten\",\n },\n \"relative-type-0\": \"tämän tunnin aikana\",\n }\n );\n Globalize.a2145908866 = relativeTimeFormatterFn(\n Globalize(\"fi\").numberFormatter({}),\n Globalize(\"fi\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} minuutin päästä\",\n \"relativeTimePattern-count-other\": \"{0} minuutin päästä\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} minuutti sitten\",\n \"relativeTimePattern-count-other\": \"{0} minuuttia sitten\",\n },\n \"relative-type-0\": \"tämän minuutin aikana\",\n }\n );\n Globalize.b885854135 = relativeTimeFormatterFn(\n Globalize(\"fr\").numberFormatter({}),\n Globalize(\"fr\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"dans {0} heure\",\n \"relativeTimePattern-count-other\": \"dans {0} heures\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"il y a {0} heure\",\n \"relativeTimePattern-count-other\": \"il y a {0} heures\",\n },\n \"relative-type-0\": \"cette heure-ci\",\n }\n );\n Globalize.a1890848537 = relativeTimeFormatterFn(\n Globalize(\"fr\").numberFormatter({}),\n Globalize(\"fr\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"dans {0} minute\",\n \"relativeTimePattern-count-other\": \"dans {0} minutes\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"il y a {0} minute\",\n \"relativeTimePattern-count-other\": \"il y a {0} minutes\",\n },\n \"relative-type-0\": \"cette minute-ci\",\n }\n );\n Globalize.b1953753456 = relativeTimeFormatterFn(\n Globalize(\"gl\").numberFormatter({}),\n Globalize(\"gl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"en {0} hora\",\n \"relativeTimePattern-count-other\": \"en {0} horas\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"hai {0} hora\",\n \"relativeTimePattern-count-other\": \"hai {0} horas\",\n },\n \"relative-type-0\": \"esta hora\",\n }\n );\n Globalize.a2136784800 = relativeTimeFormatterFn(\n Globalize(\"gl\").numberFormatter({}),\n Globalize(\"gl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"en {0} minuto\",\n \"relativeTimePattern-count-other\": \"en {0} minutos\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"hai {0} minuto\",\n \"relativeTimePattern-count-other\": \"hai {0} minutos\",\n },\n \"relative-type-0\": \"este minuto\",\n }\n );\n Globalize.a1144231800 = relativeTimeFormatterFn(\n Globalize(\"he\").numberFormatter({}),\n Globalize(\"he\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"בעוד שעה\",\n \"relativeTimePattern-count-two\": \"בעוד שעתיי×\",\n \"relativeTimePattern-count-many\": \"בעוד {0} שעות\",\n \"relativeTimePattern-count-other\": \"בעוד {0} שעות\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"×œ×¤× ×™ שעה\",\n \"relativeTimePattern-count-two\": \"×œ×¤× ×™ שעתיי×\",\n \"relativeTimePattern-count-many\": \"×œ×¤× ×™ {0} שעות\",\n \"relativeTimePattern-count-other\": \"×œ×¤× ×™ {0} שעות\",\n },\n \"relative-type-0\": \"בשעה זו\",\n }\n );\n Globalize.b1406687608 = relativeTimeFormatterFn(\n Globalize(\"he\").numberFormatter({}),\n Globalize(\"he\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"בעוד דקה\",\n \"relativeTimePattern-count-two\": \"בעוד שתי דקות\",\n \"relativeTimePattern-count-many\": \"בעוד {0} דקות\",\n \"relativeTimePattern-count-other\": \"בעוד {0} דקות\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"×œ×¤× ×™ דקה\",\n \"relativeTimePattern-count-two\": \"×œ×¤× ×™ שתי דקות\",\n \"relativeTimePattern-count-many\": \"×œ×¤× ×™ {0} דקות\",\n \"relativeTimePattern-count-other\": \"×œ×¤× ×™ {0} דקות\",\n },\n \"relative-type-0\": \"בדקה זו\",\n }\n );\n Globalize.a1660562676 = relativeTimeFormatterFn(\n Globalize(\"hi\").numberFormatter({}),\n Globalize(\"hi\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} घंटे में\",\n \"relativeTimePattern-count-other\": \"{0} घंटे में\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} घंटे पहले\",\n \"relativeTimePattern-count-other\": \"{0} घंटे पहले\",\n },\n \"relative-type-0\": \"यह घंटा\",\n }\n );\n Globalize.a866045188 = relativeTimeFormatterFn(\n Globalize(\"hi\").numberFormatter({}),\n Globalize(\"hi\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} मिनट में\",\n \"relativeTimePattern-count-other\": \"{0} मिनट में\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} मिनट पहले\",\n \"relativeTimePattern-count-other\": \"{0} मिनट पहले\",\n },\n \"relative-type-0\": \"यह मिनट\",\n }\n );\n Globalize.b1472660149 = relativeTimeFormatterFn(\n Globalize(\"hr\").numberFormatter({}),\n Globalize(\"hr\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} sat\",\n \"relativeTimePattern-count-few\": \"za {0} sata\",\n \"relativeTimePattern-count-other\": \"za {0} sati\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"prije {0} sat\",\n \"relativeTimePattern-count-few\": \"prije {0} sata\",\n \"relativeTimePattern-count-other\": \"prije {0} sati\",\n },\n \"relative-type-0\": \"ovaj sat\",\n }\n );\n Globalize.a610984859 = relativeTimeFormatterFn(\n Globalize(\"hr\").numberFormatter({}),\n Globalize(\"hr\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} minutu\",\n \"relativeTimePattern-count-few\": \"za {0} minute\",\n \"relativeTimePattern-count-other\": \"za {0} minuta\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"prije {0} minutu\",\n \"relativeTimePattern-count-few\": \"prije {0} minute\",\n \"relativeTimePattern-count-other\": \"prije {0} minuta\",\n },\n \"relative-type-0\": \"ova minuta\",\n }\n );\n Globalize.b1085411992 = relativeTimeFormatterFn(\n Globalize(\"hu\").numberFormatter({}),\n Globalize(\"hu\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} óra múlva\",\n \"relativeTimePattern-count-other\": \"{0} óra múlva\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} órával ezelÅ‘tt\",\n \"relativeTimePattern-count-other\": \"{0} órával ezelÅ‘tt\",\n },\n \"relative-type-0\": \"ebben az órában\",\n }\n );\n Globalize.b905691016 = relativeTimeFormatterFn(\n Globalize(\"hu\").numberFormatter({}),\n Globalize(\"hu\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} perc múlva\",\n \"relativeTimePattern-count-other\": \"{0} perc múlva\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} perccel ezelÅ‘tt\",\n \"relativeTimePattern-count-other\": \"{0} perccel ezelÅ‘tt\",\n },\n \"relative-type-0\": \"ebben a percben\",\n }\n );\n Globalize.a721746074 = relativeTimeFormatterFn(\n Globalize(\"id\").numberFormatter({}),\n Globalize(\"id\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"dalam {0} jam\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} jam yang lalu\",\n },\n \"relative-type-0\": \"jam ini\",\n }\n );\n Globalize.a606422826 = relativeTimeFormatterFn(\n Globalize(\"id\").numberFormatter({}),\n Globalize(\"id\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"dalam {0} menit\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} menit yang lalu\",\n },\n \"relative-type-0\": \"menit ini\",\n }\n );\n Globalize.b1507897718 = relativeTimeFormatterFn(\n Globalize(\"it\").numberFormatter({}),\n Globalize(\"it\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"tra {0} ora\",\n \"relativeTimePattern-count-other\": \"tra {0} ore\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} ora fa\",\n \"relativeTimePattern-count-other\": \"{0} ore fa\",\n },\n \"relative-type-0\": \"quest’ora\",\n }\n );\n Globalize.a1107419418 = relativeTimeFormatterFn(\n Globalize(\"it\").numberFormatter({}),\n Globalize(\"it\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"tra {0} minuto\",\n \"relativeTimePattern-count-other\": \"tra {0} minuti\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} minuto fa\",\n \"relativeTimePattern-count-other\": \"{0} minuti fa\",\n },\n \"relative-type-0\": \"questo minuto\",\n }\n );\n Globalize.a41094910 = relativeTimeFormatterFn(\n Globalize(\"ja\").numberFormatter({}),\n Globalize(\"ja\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} 時間後\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} 時間å‰\",\n },\n \"relative-type-0\": \"1 時間以内\",\n }\n );\n Globalize.b664316786 = relativeTimeFormatterFn(\n Globalize(\"ja\").numberFormatter({}),\n Globalize(\"ja\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} 分後\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} 分å‰\",\n },\n \"relative-type-0\": \"1 分以内\",\n }\n );\n Globalize.a1038519093 = relativeTimeFormatterFn(\n Globalize(\"kk\").numberFormatter({}),\n Globalize(\"kk\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} Ñағаттан кейін\",\n \"relativeTimePattern-count-other\": \"{0} Ñағаттан кейін\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} Ñағат бұрын\",\n \"relativeTimePattern-count-other\": \"{0} Ñағат бұрын\",\n },\n \"relative-type-0\": \"оÑÑ‹ Ñағат\",\n }\n );\n Globalize.a82616069 = relativeTimeFormatterFn(\n Globalize(\"kk\").numberFormatter({}),\n Globalize(\"kk\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} минуттан кейін\",\n \"relativeTimePattern-count-other\": \"{0} минуттан кейін\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} минут бұрын\",\n \"relativeTimePattern-count-other\": \"{0} минут бұрын\",\n },\n \"relative-type-0\": \"оÑÑ‹ минут\",\n }\n );\n Globalize.a1554849969 = relativeTimeFormatterFn(\n Globalize(\"ko\").numberFormatter({}),\n Globalize(\"ko\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0}시간 후\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0}시간 ì „\",\n },\n \"relative-type-0\": \"현재 시간\",\n }\n );\n Globalize.b1939618431 = relativeTimeFormatterFn(\n Globalize(\"ko\").numberFormatter({}),\n Globalize(\"ko\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0}분 후\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0}분 ì „\",\n },\n \"relative-type-0\": \"현재 분\",\n }\n );\n Globalize.a1906860557 = relativeTimeFormatterFn(\n Globalize(\"lt\").numberFormatter({}),\n Globalize(\"lt\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"po {0} valandos\",\n \"relativeTimePattern-count-few\": \"po {0} valandų\",\n \"relativeTimePattern-count-many\": \"po {0} valandos\",\n \"relativeTimePattern-count-other\": \"po {0} valandų\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"prieÅ¡ {0} valandÄ…\",\n \"relativeTimePattern-count-few\": \"prieÅ¡ {0} valandas\",\n \"relativeTimePattern-count-many\": \"prieÅ¡ {0} valandos\",\n \"relativeTimePattern-count-other\": \"prieÅ¡ {0} valandų\",\n },\n \"relative-type-0\": \"Å¡iÄ… valandÄ…\",\n }\n );\n Globalize.a1335107549 = relativeTimeFormatterFn(\n Globalize(\"lt\").numberFormatter({}),\n Globalize(\"lt\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"po {0} minutÄ—s\",\n \"relativeTimePattern-count-few\": \"po {0} minuÄių\",\n \"relativeTimePattern-count-many\": \"po {0} minutÄ—s\",\n \"relativeTimePattern-count-other\": \"po {0} minuÄių\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"prieÅ¡ {0} minutÄ™\",\n \"relativeTimePattern-count-few\": \"prieÅ¡ {0} minutes\",\n \"relativeTimePattern-count-many\": \"prieÅ¡ {0} minutÄ—s\",\n \"relativeTimePattern-count-other\": \"prieÅ¡ {0} minuÄių\",\n },\n \"relative-type-0\": \"Å¡iÄ… minutÄ™\",\n }\n );\n Globalize.b2129941301 = relativeTimeFormatterFn(\n Globalize(\"lv\").numberFormatter({}),\n Globalize(\"lv\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-zero\": \"pÄ“c {0} stundÄm\",\n \"relativeTimePattern-count-one\": \"pÄ“c {0} stundas\",\n \"relativeTimePattern-count-other\": \"pÄ“c {0} stundÄm\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-zero\": \"pirms {0} stundÄm\",\n \"relativeTimePattern-count-one\": \"pirms {0} stundas\",\n \"relativeTimePattern-count-other\": \"pirms {0} stundÄm\",\n },\n \"relative-type-0\": \"Å¡ajÄ stundÄ\",\n }\n );\n Globalize.a323990299 = relativeTimeFormatterFn(\n Globalize(\"lv\").numberFormatter({}),\n Globalize(\"lv\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-zero\": \"pÄ“c {0} minÅ«tÄ“m\",\n \"relativeTimePattern-count-one\": \"pÄ“c {0} minÅ«tes\",\n \"relativeTimePattern-count-other\": \"pÄ“c {0} minÅ«tÄ“m\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-zero\": \"pirms {0} minÅ«tÄ“m\",\n \"relativeTimePattern-count-one\": \"pirms {0} minÅ«tes\",\n \"relativeTimePattern-count-other\": \"pirms {0} minÅ«tÄ“m\",\n },\n \"relative-type-0\": \"Å¡ajÄ minÅ«tÄ“\",\n }\n );\n Globalize.a1484374831 = relativeTimeFormatterFn(\n Globalize(\"ms\").numberFormatter({}),\n Globalize(\"ms\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"dalam {0} jam\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} jam lalu\",\n },\n \"relative-type-0\": \"jam ini\",\n }\n );\n Globalize.b946749313 = relativeTimeFormatterFn(\n Globalize(\"ms\").numberFormatter({}),\n Globalize(\"ms\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"dalam {0} minit\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} minit lalu\",\n },\n \"relative-type-0\": \"pada minit ini\",\n }\n );\n Globalize.b1003434399 = relativeTimeFormatterFn(\n Globalize(\"nb\").numberFormatter({}),\n Globalize(\"nb\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"om {0} time\",\n \"relativeTimePattern-count-other\": \"om {0} timer\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"for {0} time siden\",\n \"relativeTimePattern-count-other\": \"for {0} timer siden\",\n },\n \"relative-type-0\": \"denne timen\",\n }\n );\n Globalize.a565364529 = relativeTimeFormatterFn(\n Globalize(\"nb\").numberFormatter({}),\n Globalize(\"nb\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"om {0} minutt\",\n \"relativeTimePattern-count-other\": \"om {0} minutter\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"for {0} minutt siden\",\n \"relativeTimePattern-count-other\": \"for {0} minutter siden\",\n },\n \"relative-type-0\": \"dette minuttet\",\n }\n );\n Globalize.a287392791 = relativeTimeFormatterFn(\n Globalize(\"nl\").numberFormatter({}),\n Globalize(\"nl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"over {0} uur\",\n \"relativeTimePattern-count-other\": \"over {0} uur\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} uur geleden\",\n \"relativeTimePattern-count-other\": \"{0} uur geleden\",\n },\n \"relative-type-0\": \"binnen een uur\",\n }\n );\n Globalize.b195254425 = relativeTimeFormatterFn(\n Globalize(\"nl\").numberFormatter({}),\n Globalize(\"nl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"over {0} minuut\",\n \"relativeTimePattern-count-other\": \"over {0} minuten\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} minuut geleden\",\n \"relativeTimePattern-count-other\": \"{0} minuten geleden\",\n },\n \"relative-type-0\": \"binnen een minuut\",\n }\n );\n Globalize.b299413223 = relativeTimeFormatterFn(\n Globalize(\"pl\").numberFormatter({}),\n Globalize(\"pl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} godzinÄ™\",\n \"relativeTimePattern-count-few\": \"za {0} godziny\",\n \"relativeTimePattern-count-many\": \"za {0} godzin\",\n \"relativeTimePattern-count-other\": \"za {0} godziny\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} godzinÄ™ temu\",\n \"relativeTimePattern-count-few\": \"{0} godziny temu\",\n \"relativeTimePattern-count-many\": \"{0} godzin temu\",\n \"relativeTimePattern-count-other\": \"{0} godziny temu\",\n },\n \"relative-type-0\": \"ta godzina\",\n }\n );\n Globalize.b1475118103 = relativeTimeFormatterFn(\n Globalize(\"pl\").numberFormatter({}),\n Globalize(\"pl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} minutÄ™\",\n \"relativeTimePattern-count-few\": \"za {0} minuty\",\n \"relativeTimePattern-count-many\": \"za {0} minut\",\n \"relativeTimePattern-count-other\": \"za {0} minuty\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} minutÄ™ temu\",\n \"relativeTimePattern-count-few\": \"{0} minuty temu\",\n \"relativeTimePattern-count-many\": \"{0} minut temu\",\n \"relativeTimePattern-count-other\": \"{0} minuty temu\",\n },\n \"relative-type-0\": \"ta minuta\",\n }\n );\n Globalize.a733248529 = relativeTimeFormatterFn(\n Globalize(\"pt\").numberFormatter({}),\n Globalize(\"pt\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"em {0} hora\",\n \"relativeTimePattern-count-other\": \"em {0} horas\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"há {0} hora\",\n \"relativeTimePattern-count-other\": \"há {0} horas\",\n },\n \"relative-type-0\": \"esta hora\",\n }\n );\n Globalize.b1224619807 = relativeTimeFormatterFn(\n Globalize(\"pt\").numberFormatter({}),\n Globalize(\"pt\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"em {0} minuto\",\n \"relativeTimePattern-count-other\": \"em {0} minutos\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"há {0} minuto\",\n \"relativeTimePattern-count-other\": \"há {0} minutos\",\n },\n \"relative-type-0\": \"este minuto\",\n }\n );\n Globalize.a1268173962 = relativeTimeFormatterFn(\n Globalize(\"pt-PT\").numberFormatter({}),\n Globalize(\"pt-PT\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"dentro de {0} hora\",\n \"relativeTimePattern-count-other\": \"dentro de {0} horas\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"há {0} hora\",\n \"relativeTimePattern-count-other\": \"há {0} horas\",\n },\n \"relative-type-0\": \"esta hora\",\n }\n );\n Globalize.a1737613082 = relativeTimeFormatterFn(\n Globalize(\"pt-PT\").numberFormatter({}),\n Globalize(\"pt-PT\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"dentro de {0} minuto\",\n \"relativeTimePattern-count-other\": \"dentro de {0} minutos\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"há {0} minuto\",\n \"relativeTimePattern-count-other\": \"há {0} minutos\",\n },\n \"relative-type-0\": \"este minuto\",\n }\n );\n Globalize.b498971080 = relativeTimeFormatterFn(\n Globalize(\"ro\").numberFormatter({}),\n Globalize(\"ro\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"peste {0} oră\",\n \"relativeTimePattern-count-few\": \"peste {0} ore\",\n \"relativeTimePattern-count-other\": \"peste {0} de ore\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"acum {0} oră\",\n \"relativeTimePattern-count-few\": \"acum {0} ore\",\n \"relativeTimePattern-count-other\": \"acum {0} de ore\",\n },\n \"relative-type-0\": \"ora aceasta\",\n }\n );\n Globalize.a23309640 = relativeTimeFormatterFn(\n Globalize(\"ro\").numberFormatter({}),\n Globalize(\"ro\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"peste {0} minut\",\n \"relativeTimePattern-count-few\": \"peste {0} minute\",\n \"relativeTimePattern-count-other\": \"peste {0} de minute\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"acum {0} minut\",\n \"relativeTimePattern-count-few\": \"acum {0} minute\",\n \"relativeTimePattern-count-other\": \"acum {0} de minute\",\n },\n \"relative-type-0\": \"minutul acesta\",\n }\n );\n Globalize.a275525234 = relativeTimeFormatterFn(\n Globalize(\"ru\").numberFormatter({}),\n Globalize(\"ru\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"через {0} чаÑ\",\n \"relativeTimePattern-count-few\": \"через {0} чаÑа\",\n \"relativeTimePattern-count-many\": \"через {0} чаÑов\",\n \"relativeTimePattern-count-other\": \"через {0} чаÑа\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} Ñ‡Ð°Ñ Ð½Ð°Ð·Ð°Ð´\",\n \"relativeTimePattern-count-few\": \"{0} чаÑа назад\",\n \"relativeTimePattern-count-many\": \"{0} чаÑов назад\",\n \"relativeTimePattern-count-other\": \"{0} чаÑа назад\",\n },\n \"relative-type-0\": \"в Ñтот чаÑ\",\n }\n );\n Globalize.a1284925186 = relativeTimeFormatterFn(\n Globalize(\"ru\").numberFormatter({}),\n Globalize(\"ru\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"через {0} минуту\",\n \"relativeTimePattern-count-few\": \"через {0} минуты\",\n \"relativeTimePattern-count-many\": \"через {0} минут\",\n \"relativeTimePattern-count-other\": \"через {0} минуты\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} минуту назад\",\n \"relativeTimePattern-count-few\": \"{0} минуты назад\",\n \"relativeTimePattern-count-many\": \"{0} минут назад\",\n \"relativeTimePattern-count-other\": \"{0} минуты назад\",\n },\n \"relative-type-0\": \"в Ñту минуту\",\n }\n );\n Globalize.b1308704963 = relativeTimeFormatterFn(\n Globalize(\"sk\").numberFormatter({}),\n Globalize(\"sk\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"o {0} hodinu\",\n \"relativeTimePattern-count-few\": \"o {0} hodiny\",\n \"relativeTimePattern-count-many\": \"o {0} hodiny\",\n \"relativeTimePattern-count-other\": \"o {0} hodÃn\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pred {0} hodinou\",\n \"relativeTimePattern-count-few\": \"pred {0} hodinami\",\n \"relativeTimePattern-count-many\": \"pred {0} hodinou\",\n \"relativeTimePattern-count-other\": \"pred {0} hodinami\",\n },\n \"relative-type-0\": \"v tejto hodine\",\n }\n );\n Globalize.b741871347 = relativeTimeFormatterFn(\n Globalize(\"sk\").numberFormatter({}),\n Globalize(\"sk\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"o {0} minútu\",\n \"relativeTimePattern-count-few\": \"o {0} minúty\",\n \"relativeTimePattern-count-many\": \"o {0} minúty\",\n \"relativeTimePattern-count-other\": \"o {0} minút\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pred {0} minútou\",\n \"relativeTimePattern-count-few\": \"pred {0} minútami\",\n \"relativeTimePattern-count-many\": \"pred {0} minúty\",\n \"relativeTimePattern-count-other\": \"pred {0} minútami\",\n },\n \"relative-type-0\": \"v tejto minúte\",\n }\n );\n Globalize.b1179622244 = relativeTimeFormatterFn(\n Globalize(\"sl\").numberFormatter({}),\n Globalize(\"sl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"Äez {0} uro\",\n \"relativeTimePattern-count-two\": \"Äez {0} uri\",\n \"relativeTimePattern-count-few\": \"Äez {0} ure\",\n \"relativeTimePattern-count-other\": \"Äez {0} ur\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pred {0} uro\",\n \"relativeTimePattern-count-two\": \"pred {0} urama\",\n \"relativeTimePattern-count-few\": \"pred {0} urami\",\n \"relativeTimePattern-count-other\": \"pred {0} urami\",\n },\n \"relative-type-0\": \"v tej uri\",\n }\n );\n Globalize.b1247429972 = relativeTimeFormatterFn(\n Globalize(\"sl\").numberFormatter({}),\n Globalize(\"sl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"Äez {0} minuto\",\n \"relativeTimePattern-count-two\": \"Äez {0} minuti\",\n \"relativeTimePattern-count-few\": \"Äez {0} minute\",\n \"relativeTimePattern-count-other\": \"Äez {0} minut\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pred {0} minuto\",\n \"relativeTimePattern-count-two\": \"pred {0} minutama\",\n \"relativeTimePattern-count-few\": \"pred {0} minutami\",\n \"relativeTimePattern-count-other\": \"pred {0} minutami\",\n },\n \"relative-type-0\": \"to minuto\",\n }\n );\n Globalize.b105017831 = relativeTimeFormatterFn(\n Globalize(\"sr-Cyrl\").numberFormatter({}),\n Globalize(\"sr-Cyrl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"за {0} Ñат\",\n \"relativeTimePattern-count-few\": \"за {0} Ñата\",\n \"relativeTimePattern-count-other\": \"за {0} Ñати\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"пре {0} Ñата\",\n \"relativeTimePattern-count-few\": \"пре {0} Ñата\",\n \"relativeTimePattern-count-other\": \"пре {0} Ñати\",\n },\n \"relative-type-0\": \"овог Ñата\",\n }\n );\n Globalize.a655259881 = relativeTimeFormatterFn(\n Globalize(\"sr-Cyrl\").numberFormatter({}),\n Globalize(\"sr-Cyrl\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"за {0} минут\",\n \"relativeTimePattern-count-few\": \"за {0} минута\",\n \"relativeTimePattern-count-other\": \"за {0} минута\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"пре {0} минута\",\n \"relativeTimePattern-count-few\": \"пре {0} минута\",\n \"relativeTimePattern-count-other\": \"пре {0} минута\",\n },\n \"relative-type-0\": \"овог минута\",\n }\n );\n Globalize.b502088902 = relativeTimeFormatterFn(\n Globalize(\"sr-Latn\").numberFormatter({}),\n Globalize(\"sr-Latn\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} sat\",\n \"relativeTimePattern-count-few\": \"za {0} sata\",\n \"relativeTimePattern-count-other\": \"za {0} sati\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pre {0} sata\",\n \"relativeTimePattern-count-few\": \"pre {0} sata\",\n \"relativeTimePattern-count-other\": \"pre {0} sati\",\n },\n \"relative-type-0\": \"ovog sata\",\n }\n );\n Globalize.a1322049994 = relativeTimeFormatterFn(\n Globalize(\"sr-Latn\").numberFormatter({}),\n Globalize(\"sr-Latn\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"za {0} minut\",\n \"relativeTimePattern-count-few\": \"za {0} minuta\",\n \"relativeTimePattern-count-other\": \"za {0} minuta\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"pre {0} minuta\",\n \"relativeTimePattern-count-few\": \"pre {0} minuta\",\n \"relativeTimePattern-count-other\": \"pre {0} minuta\",\n },\n \"relative-type-0\": \"ovog minuta\",\n }\n );\n Globalize.a111204946 = relativeTimeFormatterFn(\n Globalize(\"sv\").numberFormatter({}),\n Globalize(\"sv\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"om {0} timme\",\n \"relativeTimePattern-count-other\": \"om {0} timmar\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"för {0} timme sedan\",\n \"relativeTimePattern-count-other\": \"för {0} timmar sedan\",\n },\n \"relative-type-0\": \"denna timme\",\n }\n );\n Globalize.b2008048926 = relativeTimeFormatterFn(\n Globalize(\"sv\").numberFormatter({}),\n Globalize(\"sv\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"om {0} minut\",\n \"relativeTimePattern-count-other\": \"om {0} minuter\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"för {0} minut sedan\",\n \"relativeTimePattern-count-other\": \"för {0} minuter sedan\",\n },\n \"relative-type-0\": \"denna minut\",\n }\n );\n Globalize.b1989356127 = relativeTimeFormatterFn(\n Globalize(\"th\").numberFormatter({}),\n Globalize(\"th\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"ในà¸à¸µà¸ {0} ชั่วโมง\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} ชั่วโมงที่ผ่านมา\",\n },\n \"relative-type-0\": \"ชั่วโมงนี้\",\n }\n );\n Globalize.b2012610959 = relativeTimeFormatterFn(\n Globalize(\"th\").numberFormatter({}),\n Globalize(\"th\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"ในà¸à¸µà¸ {0} นาที\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} นาทีที่ผ่านมา\",\n },\n \"relative-type-0\": \"นาทีนี้\",\n }\n );\n Globalize.b698528937 = relativeTimeFormatterFn(\n Globalize(\"tr\").numberFormatter({}),\n Globalize(\"tr\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} saat sonra\",\n \"relativeTimePattern-count-other\": \"{0} saat sonra\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} saat önce\",\n \"relativeTimePattern-count-other\": \"{0} saat önce\",\n },\n \"relative-type-0\": \"bu saat\",\n }\n );\n Globalize.a1521737383 = relativeTimeFormatterFn(\n Globalize(\"tr\").numberFormatter({}),\n Globalize(\"tr\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"{0} dakika sonra\",\n \"relativeTimePattern-count-other\": \"{0} dakika sonra\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} dakika önce\",\n \"relativeTimePattern-count-other\": \"{0} dakika önce\",\n },\n \"relative-type-0\": \"bu dakika\",\n }\n );\n Globalize.b1895510977 = relativeTimeFormatterFn(\n Globalize(\"uk\").numberFormatter({}),\n Globalize(\"uk\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"через {0} годину\",\n \"relativeTimePattern-count-few\": \"через {0} години\",\n \"relativeTimePattern-count-many\": \"через {0} годин\",\n \"relativeTimePattern-count-other\": \"через {0} години\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} годину тому\",\n \"relativeTimePattern-count-few\": \"{0} години тому\",\n \"relativeTimePattern-count-many\": \"{0} годин тому\",\n \"relativeTimePattern-count-other\": \"{0} години тому\",\n },\n \"relative-type-0\": \"цієї години\",\n }\n );\n Globalize.b2021735025 = relativeTimeFormatterFn(\n Globalize(\"uk\").numberFormatter({}),\n Globalize(\"uk\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-one\": \"через {0} хвилину\",\n \"relativeTimePattern-count-few\": \"через {0} хвилини\",\n \"relativeTimePattern-count-many\": \"через {0} хвилин\",\n \"relativeTimePattern-count-other\": \"через {0} хвилини\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-one\": \"{0} хвилину тому\",\n \"relativeTimePattern-count-few\": \"{0} хвилини тому\",\n \"relativeTimePattern-count-many\": \"{0} хвилин тому\",\n \"relativeTimePattern-count-other\": \"{0} хвилини тому\",\n },\n \"relative-type-0\": \"цієї хвилини\",\n }\n );\n Globalize.a1847887874 = relativeTimeFormatterFn(\n Globalize(\"vi\").numberFormatter({}),\n Globalize(\"vi\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"sau {0} giá» nữa\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} giá» trÆ°á»›c\",\n },\n \"relative-type-0\": \"giá» nà y\",\n }\n );\n Globalize.a496934034 = relativeTimeFormatterFn(\n Globalize(\"vi\").numberFormatter({}),\n Globalize(\"vi\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"sau {0} phút nữa\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} phút trÆ°á»›c\",\n },\n \"relative-type-0\": \"phút nà y\",\n }\n );\n Globalize.a2068901102 = relativeTimeFormatterFn(\n Globalize(\"yue\").numberFormatter({}),\n Globalize(\"yue\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚後\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚å‰\",\n },\n \"relative-type-0\": \"呢個å°æ™‚\",\n }\n );\n Globalize.b1857718658 = relativeTimeFormatterFn(\n Globalize(\"yue\").numberFormatter({}),\n Globalize(\"yue\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å¾Œ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å‰\",\n },\n \"relative-type-0\": \"呢分é˜\",\n }\n );\n Globalize.a1130735834 = relativeTimeFormatterFn(\n Globalize(\"zh-Hans\").numberFormatter({}),\n Globalize(\"zh-Hans\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0}å°æ—¶åŽ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0}å°æ—¶å‰\",\n },\n \"relative-type-0\": \"这一时间 / æ¤æ—¶\",\n }\n );\n Globalize.b1491409046 = relativeTimeFormatterFn(\n Globalize(\"zh-Hans\").numberFormatter({}),\n Globalize(\"zh-Hans\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0}分钟åŽ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0}分钟å‰\",\n },\n \"relative-type-0\": \"æ¤åˆ»\",\n }\n );\n Globalize.b970642223 = relativeTimeFormatterFn(\n Globalize(\"zh-Hans-SG\").numberFormatter({}),\n Globalize(\"zh-Hans-SG\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0}å°æ—¶åŽ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0}å°æ—¶å‰\",\n },\n \"relative-type-0\": \"这一时间 / æ¤æ—¶\",\n }\n );\n Globalize.a2013874593 = relativeTimeFormatterFn(\n Globalize(\"zh-Hans-SG\").numberFormatter({}),\n Globalize(\"zh-Hans-SG\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0}分钟åŽ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0}分钟å‰\",\n },\n \"relative-type-0\": \"æ¤åˆ»\",\n }\n );\n Globalize.a1259818553 = relativeTimeFormatterFn(\n Globalize(\"zh-Hant\").numberFormatter({}),\n Globalize(\"zh-Hant\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚後\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚å‰\",\n },\n \"relative-type-0\": \"這一å°æ™‚\",\n }\n );\n Globalize.b1996967671 = relativeTimeFormatterFn(\n Globalize(\"zh-Hant\").numberFormatter({}),\n Globalize(\"zh-Hant\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å¾Œ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å‰\",\n },\n \"relative-type-0\": \"這一分é˜\",\n }\n );\n Globalize.b14293757 = relativeTimeFormatterFn(\n Globalize(\"zh-Hant-HK\").numberFormatter({}),\n Globalize(\"zh-Hant-HK\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚後\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚å‰\",\n },\n \"relative-type-0\": \"這個å°æ™‚\",\n }\n );\n Globalize.a1941749075 = relativeTimeFormatterFn(\n Globalize(\"zh-Hant-HK\").numberFormatter({}),\n Globalize(\"zh-Hant-HK\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å¾Œ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å‰\",\n },\n \"relative-type-0\": \"這分é˜\",\n }\n );\n Globalize.b964977916 = relativeTimeFormatterFn(\n Globalize(\"zh-Hant-MO\").numberFormatter({}),\n Globalize(\"zh-Hant-MO\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚後\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} å°æ™‚å‰\",\n },\n \"relative-type-0\": \"這個å°æ™‚\",\n }\n );\n Globalize.b1132660972 = relativeTimeFormatterFn(\n Globalize(\"zh-Hant-MO\").numberFormatter({}),\n Globalize(\"zh-Hant-MO\").pluralGenerator({}),\n {\n \"relativeTime-type-future\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å¾Œ\",\n },\n \"relativeTime-type-past\": {\n \"relativeTimePattern-count-other\": \"{0} 分é˜å‰\",\n },\n \"relative-type-0\": \"這分é˜\",\n }\n );\n Globalize.a1260780216 = unitFormatterFn(\n Globalize(\"ar-EG\").numberFormatter({}),\n Globalize(\"ar-EG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} لكل {1}\",\n unitProperties: {\n displayName: \"بايت\",\n zero: \"{0} بايت\",\n one: \"{0} بايت\",\n two: \"{0} بايت\",\n few: \"{0} بايت\",\n many: \"{0} بايت\",\n other: \"{0} بايت\",\n },\n }\n );\n Globalize.b852797741 = unitFormatterFn(\n Globalize(\"ar-EG\").numberFormatter({}),\n Globalize(\"ar-EG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"كيلوبايت\",\n zero: \"{0} كيلوبايت\",\n one: \"{0} كيلوبايت\",\n two: \"{0} كيلوبايت\",\n few: \"{0} كيلوبايت\",\n many: \"{0} كيلوبايت\",\n other: \"{0} كيلوبايت\",\n },\n }\n );\n Globalize.b614409566 = unitFormatterFn(\n Globalize(\"ar-EG\").numberFormatter({}),\n Globalize(\"ar-EG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"ميغابايت\",\n zero: \"{0} ميغابايت\",\n one: \"{0} ميغابايت\",\n two: \"{0} ميغابايت\",\n few: \"{0} ميغابايت\",\n many: \"{0} ميغابايت\",\n other: \"{0} ميغابايت\",\n },\n }\n );\n Globalize.b1965047144 = unitFormatterFn(\n Globalize(\"ar-EG\").numberFormatter({}),\n Globalize(\"ar-EG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"غيغابايت\",\n zero: \"{0} غيغابايت\",\n one: \"{0} غيغابايت\",\n two: \"{0} غيغابايت\",\n few: \"{0} غيغابايت\",\n many: \"{0} غيغابايت\",\n other: \"{0} غيغابايت\",\n },\n }\n );\n Globalize.a1273411684 = unitFormatterFn(\n Globalize(\"ar-SA\").numberFormatter({}),\n Globalize(\"ar-SA\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} لكل {1}\",\n unitProperties: {\n displayName: \"بايت\",\n zero: \"{0} بايت\",\n one: \"{0} بايت\",\n two: \"{0} بايت\",\n few: \"{0} بايت\",\n many: \"{0} بايت\",\n other: \"{0} بايت\",\n },\n }\n );\n Globalize.b304462681 = unitFormatterFn(\n Globalize(\"ar-SA\").numberFormatter({}),\n Globalize(\"ar-SA\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"كيلوبايت\",\n zero: \"{0} كيلوبايت\",\n one: \"{0} كيلوبايت\",\n two: \"{0} كيلوبايت\",\n few: \"{0} كيلوبايت\",\n many: \"{0} كيلوبايت\",\n other: \"{0} كيلوبايت\",\n },\n }\n );\n Globalize.b66074506 = unitFormatterFn(\n Globalize(\"ar-SA\").numberFormatter({}),\n Globalize(\"ar-SA\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"ميغابايت\",\n zero: \"{0} ميغابايت\",\n one: \"{0} ميغابايت\",\n two: \"{0} ميغابايت\",\n few: \"{0} ميغابايت\",\n many: \"{0} ميغابايت\",\n other: \"{0} ميغابايت\",\n },\n }\n );\n Globalize.b1416712084 = unitFormatterFn(\n Globalize(\"ar-SA\").numberFormatter({}),\n Globalize(\"ar-SA\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"غيغابايت\",\n zero: \"{0} غيغابايت\",\n one: \"{0} غيغابايت\",\n two: \"{0} غيغابايت\",\n few: \"{0} غيغابايت\",\n many: \"{0} غيغابايت\",\n other: \"{0} غيغابايت\",\n },\n }\n );\n Globalize.b595460021 = unitFormatterFn(\n Globalize(\"bg\").numberFormatter({}),\n Globalize(\"bg\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} на {1}\",\n unitProperties: {\n displayName: \"байтове\",\n one: \"{0} байт\",\n other: \"{0} байта\",\n },\n }\n );\n Globalize.a946001184 = unitFormatterFn(\n Globalize(\"bg\").numberFormatter({}),\n Globalize(\"bg\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1184389359 = unitFormatterFn(\n Globalize(\"bg\").numberFormatter({}),\n Globalize(\"bg\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.b166248219 = unitFormatterFn(\n Globalize(\"bg\").numberFormatter({}),\n Globalize(\"bg\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b986086044 = unitFormatterFn(\n Globalize(\"ca\").numberFormatter({}),\n Globalize(\"ca\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: {\n displayName: \"bytes\",\n one: \"{0} byte\",\n other: \"{0} bytes\",\n },\n }\n );\n Globalize.a1228904359 = unitFormatterFn(\n Globalize(\"ca\").numberFormatter({}),\n Globalize(\"ca\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1467292534 = unitFormatterFn(\n Globalize(\"ca\").numberFormatter({}),\n Globalize(\"ca\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a116654956 = unitFormatterFn(\n Globalize(\"ca\").numberFormatter({}),\n Globalize(\"ca\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a278851446 = unitFormatterFn(\n Globalize(\"cs\").numberFormatter({}),\n Globalize(\"cs\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"bajty\",\n one: \"{0} bajt\",\n few: \"{0} bajty\",\n many: \"{0} bajtu\",\n other: \"{0} bajtů\",\n },\n }\n );\n Globalize.a1432594645 = unitFormatterFn(\n Globalize(\"cs\").numberFormatter({}),\n Globalize(\"cs\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n many: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.a1670982820 = unitFormatterFn(\n Globalize(\"cs\").numberFormatter({}),\n Globalize(\"cs\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n many: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.a320345242 = unitFormatterFn(\n Globalize(\"cs\").numberFormatter({}),\n Globalize(\"cs\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n many: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.b955066237 = unitFormatterFn(\n Globalize(\"da\").numberFormatter({}),\n Globalize(\"da\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} pr. {1}\",\n unitProperties: {\n displayName: \"bytes\",\n one: \"{0} byte\",\n other: \"{0} bytes\",\n },\n }\n );\n Globalize.a1579704296 = unitFormatterFn(\n Globalize(\"da\").numberFormatter({}),\n Globalize(\"da\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1818092471 = unitFormatterFn(\n Globalize(\"da\").numberFormatter({}),\n Globalize(\"da\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a467454893 = unitFormatterFn(\n Globalize(\"da\").numberFormatter({}),\n Globalize(\"da\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b673969017 = unitFormatterFn(\n Globalize(\"de\").numberFormatter({}),\n Globalize(\"de\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} pro {1}\",\n unitProperties: {\n displayName: \"Bytes\",\n one: \"{0} Byte\",\n other: \"{0} Bytes\",\n },\n }\n );\n Globalize.a1624968804 = unitFormatterFn(\n Globalize(\"de\").numberFormatter({}),\n Globalize(\"de\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kbyte\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1863356979 = unitFormatterFn(\n Globalize(\"de\").numberFormatter({}),\n Globalize(\"de\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"Mbyte\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a512719401 = unitFormatterFn(\n Globalize(\"de\").numberFormatter({}),\n Globalize(\"de\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"Gigabyte\",\n one: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.a1996454573 = unitFormatterFn(\n Globalize(\"el\").numberFormatter({}),\n Globalize(\"el\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} ανά {1}\",\n unitProperties: {\n displayName: \"byte\",\n one: \"{0} byte\",\n other: \"{0} byte\",\n },\n }\n );\n Globalize.a2054981630 = unitFormatterFn(\n Globalize(\"el\").numberFormatter({}),\n Globalize(\"el\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b2001597491 = unitFormatterFn(\n Globalize(\"el\").numberFormatter({}),\n Globalize(\"el\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a942732227 = unitFormatterFn(\n Globalize(\"el\").numberFormatter({}),\n Globalize(\"el\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a2137003183 = unitFormatterFn(\n Globalize(\"en\").numberFormatter({}),\n Globalize(\"en\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: {\n displayName: \"bytes\",\n one: \"{0} byte\",\n other: \"{0} bytes\",\n },\n }\n );\n Globalize.a2077613884 = unitFormatterFn(\n Globalize(\"en\").numberFormatter({}),\n Globalize(\"en\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kByte\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b1978965237 = unitFormatterFn(\n Globalize(\"en\").numberFormatter({}),\n Globalize(\"en\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MByte\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a965364481 = unitFormatterFn(\n Globalize(\"en\").numberFormatter({}),\n Globalize(\"en\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GByte\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a340891060 = unitFormatterFn(\n Globalize(\"es\").numberFormatter({}),\n Globalize(\"es\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} por {1}\",\n unitProperties: {\n displayName: \"bytes\",\n one: \"{0} byte\",\n other: \"{0} bytes\",\n },\n }\n );\n Globalize.a2134194519 = unitFormatterFn(\n Globalize(\"es\").numberFormatter({}),\n Globalize(\"es\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b1922384602 = unitFormatterFn(\n Globalize(\"es\").numberFormatter({}),\n Globalize(\"es\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1021945116 = unitFormatterFn(\n Globalize(\"es\").numberFormatter({}),\n Globalize(\"es\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b1736318283 = unitFormatterFn(\n Globalize(\"et\").numberFormatter({}),\n Globalize(\"et\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} {1} kohta\",\n unitProperties: {\n displayName: \"baidid\",\n one: \"{0} bait\",\n other: \"{0} baiti\",\n },\n }\n );\n Globalize.a2145510646 = unitFormatterFn(\n Globalize(\"et\").numberFormatter({}),\n Globalize(\"et\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b1911068475 = unitFormatterFn(\n Globalize(\"et\").numberFormatter({}),\n Globalize(\"et\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1033261243 = unitFormatterFn(\n Globalize(\"et\").numberFormatter({}),\n Globalize(\"et\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a481439670 = unitFormatterFn(\n Globalize(\"eu\").numberFormatter({}),\n Globalize(\"eu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"byte-ak\",\n one: \"{0} byte\",\n other: \"{0} byte\",\n },\n }\n );\n Globalize.b2138140523 = unitFormatterFn(\n Globalize(\"eu\").numberFormatter({}),\n Globalize(\"eu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b1899752348 = unitFormatterFn(\n Globalize(\"eu\").numberFormatter({}),\n Globalize(\"eu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1044577370 = unitFormatterFn(\n Globalize(\"eu\").numberFormatter({}),\n Globalize(\"eu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b330832183 = unitFormatterFn(\n Globalize(\"fi\").numberFormatter({}),\n Globalize(\"fi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"tavut\",\n one: \"{0} tavu\",\n other: \"{0} tavua\",\n },\n }\n );\n Globalize.b1923134110 = unitFormatterFn(\n Globalize(\"fi\").numberFormatter({}),\n Globalize(\"fi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kt\", one: \"{0} kt\", other: \"{0} kt\" },\n }\n );\n Globalize.b1684745935 = unitFormatterFn(\n Globalize(\"fi\").numberFormatter({}),\n Globalize(\"fi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"Mt\", one: \"{0} Mt\", other: \"{0} Mt\" },\n }\n );\n Globalize.a1259583783 = unitFormatterFn(\n Globalize(\"fi\").numberFormatter({}),\n Globalize(\"fi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"Gt\", one: \"{0} Gt\", other: \"{0} Gt\" },\n }\n );\n Globalize.b1845847086 = unitFormatterFn(\n Globalize(\"fr\").numberFormatter({}),\n Globalize(\"fr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} par {1}\",\n unitProperties: {\n displayName: \"octets\",\n one: \"{0} octet\",\n other: \"{0} octets\",\n },\n }\n );\n Globalize.b1821288967 = unitFormatterFn(\n Globalize(\"fr\").numberFormatter({}),\n Globalize(\"fr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"ko\", one: \"{0} ko\", other: \"{0} ko\" },\n }\n );\n Globalize.b1582900792 = unitFormatterFn(\n Globalize(\"fr\").numberFormatter({}),\n Globalize(\"fr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"Mo\", one: \"{0} Mo\", other: \"{0} Mo\" },\n }\n );\n Globalize.a1361428926 = unitFormatterFn(\n Globalize(\"fr\").numberFormatter({}),\n Globalize(\"fr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"Go\", one: \"{0} Go\", other: \"{0} Go\" },\n }\n );\n Globalize.a2058494187 = unitFormatterFn(\n Globalize(\"gl\").numberFormatter({}),\n Globalize(\"gl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} por {1}\",\n unitProperties: {\n displayName: \"bytes\",\n one: \"{0} byte\",\n other: \"{0} bytes\",\n },\n }\n );\n Globalize.b1538385792 = unitFormatterFn(\n Globalize(\"gl\").numberFormatter({}),\n Globalize(\"gl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b1299997617 = unitFormatterFn(\n Globalize(\"gl\").numberFormatter({}),\n Globalize(\"gl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1644332101 = unitFormatterFn(\n Globalize(\"gl\").numberFormatter({}),\n Globalize(\"gl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b549889789 = unitFormatterFn(\n Globalize(\"he\").numberFormatter({}),\n Globalize(\"he\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} ל{1}\",\n unitProperties: {\n displayName: \"בייט\",\n one: \"{0} בייט\",\n two: \"{0} בייט\",\n many: \"{0} בייט\",\n other: \"{0} בייט\",\n },\n }\n );\n Globalize.b1266798744 = unitFormatterFn(\n Globalize(\"he\").numberFormatter({}),\n Globalize(\"he\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n two: \"{0} kB\",\n many: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.b1028410569 = unitFormatterFn(\n Globalize(\"he\").numberFormatter({}),\n Globalize(\"he\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n two: \"{0} MB\",\n many: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.a1915919149 = unitFormatterFn(\n Globalize(\"he\").numberFormatter({}),\n Globalize(\"he\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n two: \"{0} GB\",\n many: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.b268792569 = unitFormatterFn(\n Globalize(\"hi\").numberFormatter({}),\n Globalize(\"hi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} पà¥à¤°à¤¤à¤¿ {1}\",\n unitProperties: {\n displayName: \"बाइट\",\n one: \"{0} बाइट\",\n other: \"{0} बाइट\",\n },\n }\n );\n Globalize.b1221534236 = unitFormatterFn(\n Globalize(\"hi\").numberFormatter({}),\n Globalize(\"hi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b983146061 = unitFormatterFn(\n Globalize(\"hi\").numberFormatter({}),\n Globalize(\"hi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1961183657 = unitFormatterFn(\n Globalize(\"hi\").numberFormatter({}),\n Globalize(\"hi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b1783807472 = unitFormatterFn(\n Globalize(\"hr\").numberFormatter({}),\n Globalize(\"hr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"bajtovi\",\n one: \"{0} bajt\",\n few: \"{0} bajta\",\n other: \"{0} bajtova\",\n },\n }\n );\n Globalize.b1119689093 = unitFormatterFn(\n Globalize(\"hr\").numberFormatter({}),\n Globalize(\"hr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.b881300918 = unitFormatterFn(\n Globalize(\"hr\").numberFormatter({}),\n Globalize(\"hr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.a2063028800 = unitFormatterFn(\n Globalize(\"hr\").numberFormatter({}),\n Globalize(\"hr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.a574499091 = unitFormatterFn(\n Globalize(\"hu\").numberFormatter({}),\n Globalize(\"hu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: {\n displayName: \"bájt\",\n one: \"{0} bájt\",\n other: \"{0} bájt\",\n },\n }\n );\n Globalize.b1085740712 = unitFormatterFn(\n Globalize(\"hu\").numberFormatter({}),\n Globalize(\"hu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b847352537 = unitFormatterFn(\n Globalize(\"hu\").numberFormatter({}),\n Globalize(\"hu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a2096977181 = unitFormatterFn(\n Globalize(\"hu\").numberFormatter({}),\n Globalize(\"hu\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a1558339361 = unitFormatterFn(\n Globalize(\"id\").numberFormatter({}),\n Globalize(\"id\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: { displayName: \"byte\", other: \"{0} byte\" },\n }\n );\n Globalize.b927314934 = unitFormatterFn(\n Globalize(\"id\").numberFormatter({}),\n Globalize(\"id\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kByte\", other: \"{0} kB\" },\n }\n );\n Globalize.b688926759 = unitFormatterFn(\n Globalize(\"id\").numberFormatter({}),\n Globalize(\"id\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MByte\", other: \"{0} MB\" },\n }\n );\n Globalize.b2039564337 = unitFormatterFn(\n Globalize(\"id\").numberFormatter({}),\n Globalize(\"id\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GByte\", other: \"{0} GB\" },\n }\n );\n Globalize.b1612239055 = unitFormatterFn(\n Globalize(\"it\").numberFormatter({}),\n Globalize(\"it\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} al {1}\",\n unitProperties: {\n displayName: \"byte\",\n one: \"{0} byte\",\n other: \"{0} byte\",\n },\n }\n );\n Globalize.b746256902 = unitFormatterFn(\n Globalize(\"it\").numberFormatter({}),\n Globalize(\"it\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b507868727 = unitFormatterFn(\n Globalize(\"it\").numberFormatter({}),\n Globalize(\"it\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.b1858506305 = unitFormatterFn(\n Globalize(\"it\").numberFormatter({}),\n Globalize(\"it\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b768947395 = unitFormatterFn(\n Globalize(\"ja\").numberFormatter({}),\n Globalize(\"ja\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}毎{1}\",\n unitProperties: { displayName: \"ãƒã‚¤ãƒˆ\", other: \"{0} ãƒã‚¤ãƒˆ\" },\n }\n );\n Globalize.b610463378 = unitFormatterFn(\n Globalize(\"ja\").numberFormatter({}),\n Globalize(\"ja\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"KB\", other: \"{0} KB\" },\n }\n );\n Globalize.b372075203 = unitFormatterFn(\n Globalize(\"ja\").numberFormatter({}),\n Globalize(\"ja\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0} MB\" },\n }\n );\n Globalize.b1722712781 = unitFormatterFn(\n Globalize(\"ja\").numberFormatter({}),\n Globalize(\"ja\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b35184538 = unitFormatterFn(\n Globalize(\"kk\").numberFormatter({}),\n Globalize(\"kk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"байт\",\n one: \"{0} байт\",\n other: \"{0} байт\",\n },\n }\n );\n Globalize.b146502171 = unitFormatterFn(\n Globalize(\"kk\").numberFormatter({}),\n Globalize(\"kk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"кбайт\", one: \"{0} кБ\", other: \"{0} кБ\" },\n }\n );\n Globalize.a91886004 = unitFormatterFn(\n Globalize(\"kk\").numberFormatter({}),\n Globalize(\"kk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"Мбайт\", one: \"{0} MБ\", other: \"{0} MБ\" },\n }\n );\n Globalize.b1258751574 = unitFormatterFn(\n Globalize(\"kk\").numberFormatter({}),\n Globalize(\"kk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"Гбайт\", one: \"{0} ГБ\", other: \"{0} ГБ\" },\n }\n );\n Globalize.a245912682 = unitFormatterFn(\n Globalize(\"ko\").numberFormatter({}),\n Globalize(\"ko\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{1}당 {0}\",\n unitProperties: { displayName: \"ë°”ì´íŠ¸\", other: \"{0}ë°”ì´íŠ¸\" },\n }\n );\n Globalize.b101237663 = unitFormatterFn(\n Globalize(\"ko\").numberFormatter({}),\n Globalize(\"ko\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", other: \"{0}kB\" },\n }\n );\n Globalize.a137150512 = unitFormatterFn(\n Globalize(\"ko\").numberFormatter({}),\n Globalize(\"ko\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0}MB\" },\n }\n );\n Globalize.b1213487066 = unitFormatterFn(\n Globalize(\"ko\").numberFormatter({}),\n Globalize(\"ko\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0}GB\" },\n }\n );\n Globalize.b1519179634 = unitFormatterFn(\n Globalize(\"lt\").numberFormatter({}),\n Globalize(\"lt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"baitai\",\n one: \"{0} baitas\",\n few: \"{0} baitai\",\n many: \"{0} baito\",\n other: \"{0} baitų\",\n },\n }\n );\n Globalize.a306142909 = unitFormatterFn(\n Globalize(\"lt\").numberFormatter({}),\n Globalize(\"lt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n many: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.a544531084 = unitFormatterFn(\n Globalize(\"lt\").numberFormatter({}),\n Globalize(\"lt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n many: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.b806106494 = unitFormatterFn(\n Globalize(\"lt\").numberFormatter({}),\n Globalize(\"lt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n many: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.b1378631024 = unitFormatterFn(\n Globalize(\"lv\").numberFormatter({}),\n Globalize(\"lv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"baiti\",\n zero: \"{0} baitu\",\n one: \"{0} baits\",\n other: \"{0} baiti\",\n },\n }\n );\n Globalize.a328775163 = unitFormatterFn(\n Globalize(\"lv\").numberFormatter({}),\n Globalize(\"lv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n zero: \"{0} kB\",\n one: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.a567163338 = unitFormatterFn(\n Globalize(\"lv\").numberFormatter({}),\n Globalize(\"lv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n zero: \"{0} MB\",\n one: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.b783474240 = unitFormatterFn(\n Globalize(\"lv\").numberFormatter({}),\n Globalize(\"lv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n zero: \"{0} GB\",\n one: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.a589049516 = unitFormatterFn(\n Globalize(\"ms\").numberFormatter({}),\n Globalize(\"ms\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: { displayName: \"bait\", other: \"{0} bait\" },\n }\n );\n Globalize.a645626719 = unitFormatterFn(\n Globalize(\"ms\").numberFormatter({}),\n Globalize(\"ms\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kBait\", other: \"{0} kB\" },\n }\n );\n Globalize.a884014894 = unitFormatterFn(\n Globalize(\"ms\").numberFormatter({}),\n Globalize(\"ms\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MBait\", other: \"{0} MB\" },\n }\n );\n Globalize.b466622684 = unitFormatterFn(\n Globalize(\"ms\").numberFormatter({}),\n Globalize(\"ms\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GBait\", other: \"{0} GB\" },\n }\n );\n Globalize.a1572889786 = unitFormatterFn(\n Globalize(\"nb\").numberFormatter({}),\n Globalize(\"nb\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: {\n displayName: \"byte\",\n one: \"{0} byte\",\n other: \"{0} byte\",\n },\n }\n );\n Globalize.a804052497 = unitFormatterFn(\n Globalize(\"nb\").numberFormatter({}),\n Globalize(\"nb\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1042440672 = unitFormatterFn(\n Globalize(\"nb\").numberFormatter({}),\n Globalize(\"nb\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.b308196906 = unitFormatterFn(\n Globalize(\"nb\").numberFormatter({}),\n Globalize(\"nb\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b2019334460 = unitFormatterFn(\n Globalize(\"nl\").numberFormatter({}),\n Globalize(\"nl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: {\n displayName: \"byte\",\n one: \"{0} byte\",\n other: \"{0} byte\",\n },\n }\n );\n Globalize.a917213767 = unitFormatterFn(\n Globalize(\"nl\").numberFormatter({}),\n Globalize(\"nl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1155601942 = unitFormatterFn(\n Globalize(\"nl\").numberFormatter({}),\n Globalize(\"nl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.b195035636 = unitFormatterFn(\n Globalize(\"nl\").numberFormatter({}),\n Globalize(\"nl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b1957294846 = unitFormatterFn(\n Globalize(\"pl\").numberFormatter({}),\n Globalize(\"pl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} na {1}\",\n unitProperties: {\n displayName: \"bajty\",\n one: \"{0} bajt\",\n few: \"{0} bajty\",\n many: \"{0} bajtów\",\n other: \"{0} bajta\",\n },\n }\n );\n Globalize.a1618813641 = unitFormatterFn(\n Globalize(\"pl\").numberFormatter({}),\n Globalize(\"pl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n other: \"{0} kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n many: \"{0} kB\",\n },\n }\n );\n Globalize.a1857201816 = unitFormatterFn(\n Globalize(\"pl\").numberFormatter({}),\n Globalize(\"pl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n other: \"{0} MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n many: \"{0} MB\",\n },\n }\n );\n Globalize.a506564238 = unitFormatterFn(\n Globalize(\"pl\").numberFormatter({}),\n Globalize(\"pl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n other: \"{0} GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n many: \"{0} GB\",\n },\n }\n );\n Globalize.b1395100406 = unitFormatterFn(\n Globalize(\"pt\").numberFormatter({}),\n Globalize(\"pt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} por {1}\",\n unitProperties: {\n displayName: \"bytes\",\n one: \"{0} bytes\",\n other: \"{0} bytes\",\n },\n }\n );\n Globalize.a1709342657 = unitFormatterFn(\n Globalize(\"pt\").numberFormatter({}),\n Globalize(\"pt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kByte\", other: \"{0} kB\", one: \"{0} kB\" },\n }\n );\n Globalize.a1947730832 = unitFormatterFn(\n Globalize(\"pt\").numberFormatter({}),\n Globalize(\"pt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MByte\", other: \"{0} MB\", one: \"{0} MB\" },\n }\n );\n Globalize.a597093254 = unitFormatterFn(\n Globalize(\"pt\").numberFormatter({}),\n Globalize(\"pt\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GByte\", other: \"{0} GB\", one: \"{0} GB\" },\n }\n );\n Globalize.a1665198183 = unitFormatterFn(\n Globalize(\"pt-PT\").numberFormatter({}),\n Globalize(\"pt-PT\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} por {1}\",\n unitProperties: {\n displayName: \"bytes\",\n one: \"{0} byte\",\n other: \"{0} bytes\",\n },\n }\n );\n Globalize.a1283235460 = unitFormatterFn(\n Globalize(\"pt-PT\").numberFormatter({}),\n Globalize(\"pt-PT\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kByte\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1521623635 = unitFormatterFn(\n Globalize(\"pt-PT\").numberFormatter({}),\n Globalize(\"pt-PT\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MByte\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a170986057 = unitFormatterFn(\n Globalize(\"pt-PT\").numberFormatter({}),\n Globalize(\"pt-PT\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GByte\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a463051331 = unitFormatterFn(\n Globalize(\"ro\").numberFormatter({}),\n Globalize(\"ro\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} pe {1}\",\n unitProperties: {\n displayName: \"byÈ›i\",\n one: \"{0} byte\",\n few: \"{0} byÈ›i\",\n other: \"{0} de byÈ›i\",\n },\n }\n );\n Globalize.b1940605400 = unitFormatterFn(\n Globalize(\"ro\").numberFormatter({}),\n Globalize(\"ro\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.b1702217225 = unitFormatterFn(\n Globalize(\"ro\").numberFormatter({}),\n Globalize(\"ro\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.a1242112493 = unitFormatterFn(\n Globalize(\"ro\").numberFormatter({}),\n Globalize(\"ro\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.a884697161 = unitFormatterFn(\n Globalize(\"ru\").numberFormatter({}),\n Globalize(\"ru\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"байты\",\n one: \"{0} байт\",\n few: \"{0} байта\",\n many: \"{0} байт\",\n other: \"{0} байта\",\n },\n }\n );\n Globalize.b1872708638 = unitFormatterFn(\n Globalize(\"ru\").numberFormatter({}),\n Globalize(\"ru\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"кБ\",\n one: \"{0} кБ\",\n few: \"{0} кБ\",\n many: \"{0} кБ\",\n other: \"{0} кБ\",\n },\n }\n );\n Globalize.b1634320463 = unitFormatterFn(\n Globalize(\"ru\").numberFormatter({}),\n Globalize(\"ru\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"МБ\",\n one: \"{0} МБ\",\n few: \"{0} МБ\",\n many: \"{0} МБ\",\n other: \"{0} МБ\",\n },\n }\n );\n Globalize.a1310009255 = unitFormatterFn(\n Globalize(\"ru\").numberFormatter({}),\n Globalize(\"ru\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"ГБ\",\n one: \"{0} ГБ\",\n few: \"{0} ГБ\",\n many: \"{0} ГБ\",\n other: \"{0} ГБ\",\n },\n }\n );\n Globalize.a212973918 = unitFormatterFn(\n Globalize(\"sk\").numberFormatter({}),\n Globalize(\"sk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"bajty\",\n one: \"{0} bajt\",\n few: \"{0} bajty\",\n many: \"{0} bajtu\",\n other: \"{0} bajtov\",\n },\n }\n );\n Globalize.b1635069971 = unitFormatterFn(\n Globalize(\"sk\").numberFormatter({}),\n Globalize(\"sk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n many: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.b1396681796 = unitFormatterFn(\n Globalize(\"sk\").numberFormatter({}),\n Globalize(\"sk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n many: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.a1547647922 = unitFormatterFn(\n Globalize(\"sk\").numberFormatter({}),\n Globalize(\"sk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n many: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.b1864235425 = unitFormatterFn(\n Globalize(\"sl\").numberFormatter({}),\n Globalize(\"sl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} na {1}\",\n unitProperties: {\n displayName: \"bajt\",\n one: \"{0} bajt\",\n two: \"{0} bajta\",\n few: \"{0} bajti\",\n other: \"{0} bajtov\",\n },\n }\n );\n Globalize.b1623753844 = unitFormatterFn(\n Globalize(\"sl\").numberFormatter({}),\n Globalize(\"sl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n two: \"{0} kB\",\n few: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.b1385365669 = unitFormatterFn(\n Globalize(\"sl\").numberFormatter({}),\n Globalize(\"sl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n two: \"{0} MB\",\n few: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.a1558964049 = unitFormatterFn(\n Globalize(\"sl\").numberFormatter({}),\n Globalize(\"sl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n two: \"{0} GB\",\n few: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.b1064685448 = unitFormatterFn(\n Globalize(\"sr-Cyrl\").numberFormatter({}),\n Globalize(\"sr-Cyrl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"бајтови\",\n one: \"{0} бајт\",\n few: \"{0} бајта\",\n other: \"{0} бајтова\",\n },\n }\n );\n Globalize.b826099437 = unitFormatterFn(\n Globalize(\"sr-Cyrl\").numberFormatter({}),\n Globalize(\"sr-Cyrl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.b587711262 = unitFormatterFn(\n Globalize(\"sr-Cyrl\").numberFormatter({}),\n Globalize(\"sr-Cyrl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.b1938348840 = unitFormatterFn(\n Globalize(\"sr-Cyrl\").numberFormatter({}),\n Globalize(\"sr-Cyrl\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.b463658761 = unitFormatterFn(\n Globalize(\"sr-Latn\").numberFormatter({}),\n Globalize(\"sr-Latn\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"bajtovi\",\n one: \"{0} bajt\",\n few: \"{0} bajta\",\n other: \"{0} bajtova\",\n },\n }\n );\n Globalize.b1577238540 = unitFormatterFn(\n Globalize(\"sr-Latn\").numberFormatter({}),\n Globalize(\"sr-Latn\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"kB\",\n one: \"{0} kB\",\n few: \"{0} kB\",\n other: \"{0} kB\",\n },\n }\n );\n Globalize.b1338850365 = unitFormatterFn(\n Globalize(\"sr-Latn\").numberFormatter({}),\n Globalize(\"sr-Latn\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"MB\",\n one: \"{0} MB\",\n few: \"{0} MB\",\n other: \"{0} MB\",\n },\n }\n );\n Globalize.a1605479353 = unitFormatterFn(\n Globalize(\"sr-Latn\").numberFormatter({}),\n Globalize(\"sr-Latn\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"GB\",\n one: \"{0} GB\",\n few: \"{0} GB\",\n other: \"{0} GB\",\n },\n }\n );\n Globalize.b1161492375 = unitFormatterFn(\n Globalize(\"sv\").numberFormatter({}),\n Globalize(\"sv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} per {1}\",\n unitProperties: {\n displayName: \"byte\",\n one: \"{0} byte\",\n other: \"{0} byte\",\n },\n }\n );\n Globalize.b1510592574 = unitFormatterFn(\n Globalize(\"sv\").numberFormatter({}),\n Globalize(\"sv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b1272204399 = unitFormatterFn(\n Globalize(\"sv\").numberFormatter({}),\n Globalize(\"sv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1672125319 = unitFormatterFn(\n Globalize(\"sv\").numberFormatter({}),\n Globalize(\"sv\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b2114312838 = unitFormatterFn(\n Globalize(\"th\").numberFormatter({}),\n Globalize(\"th\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}ต่à¸{1}\",\n unitProperties: { displayName: \"ไบต์\", other: \"{0} ไบต์\" },\n }\n );\n Globalize.b1318218415 = unitFormatterFn(\n Globalize(\"th\").numberFormatter({}),\n Globalize(\"th\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b1079830240 = unitFormatterFn(\n Globalize(\"th\").numberFormatter({}),\n Globalize(\"th\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1864499478 = unitFormatterFn(\n Globalize(\"th\").numberFormatter({}),\n Globalize(\"th\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b1411569788 = unitFormatterFn(\n Globalize(\"tr\").numberFormatter({}),\n Globalize(\"tr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"bayt\",\n one: \"{0} bayt\",\n other: \"{0} bayt\",\n },\n }\n );\n Globalize.b1205057145 = unitFormatterFn(\n Globalize(\"tr\").numberFormatter({}),\n Globalize(\"tr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", one: \"{0} kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b966668970 = unitFormatterFn(\n Globalize(\"tr\").numberFormatter({}),\n Globalize(\"tr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", one: \"{0} MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a1977660748 = unitFormatterFn(\n Globalize(\"tr\").numberFormatter({}),\n Globalize(\"tr\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", one: \"{0} GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a275013532 = unitFormatterFn(\n Globalize(\"uk\").numberFormatter({}),\n Globalize(\"uk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0} на {1}\",\n unitProperties: {\n displayName: \"байти\",\n one: \"{0} байт\",\n few: \"{0} байти\",\n many: \"{0} байтів\",\n other: \"{0} байта\",\n },\n }\n );\n Globalize.b933470097 = unitFormatterFn(\n Globalize(\"uk\").numberFormatter({}),\n Globalize(\"uk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"кбайт\",\n one: \"{0} кБ\",\n few: \"{0} кБ\",\n many: \"{0} кБ\",\n other: \"{0} кБ\",\n },\n }\n );\n Globalize.b695081922 = unitFormatterFn(\n Globalize(\"uk\").numberFormatter({}),\n Globalize(\"uk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"Мбайт\",\n one: \"{0} МБ\",\n few: \"{0} МБ\",\n many: \"{0} МБ\",\n other: \"{0} МБ\",\n },\n }\n );\n Globalize.b2045719500 = unitFormatterFn(\n Globalize(\"uk\").numberFormatter({}),\n Globalize(\"uk\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: {\n displayName: \"Гбайт\",\n one: \"{0} ГБ\",\n few: \"{0} ГБ\",\n many: \"{0} ГБ\",\n other: \"{0} ГБ\",\n },\n }\n );\n Globalize.a165484729 = unitFormatterFn(\n Globalize(\"vi\").numberFormatter({}),\n Globalize(\"vi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"byte\", other: \"{0} byte\" },\n }\n );\n Globalize.b605302414 = unitFormatterFn(\n Globalize(\"vi\").numberFormatter({}),\n Globalize(\"vi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b366914239 = unitFormatterFn(\n Globalize(\"vi\").numberFormatter({}),\n Globalize(\"vi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0} MB\" },\n }\n );\n Globalize.b1717551817 = unitFormatterFn(\n Globalize(\"vi\").numberFormatter({}),\n Globalize(\"vi\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b1657704125 = unitFormatterFn(\n Globalize(\"yue\").numberFormatter({}),\n Globalize(\"yue\").pluralGenerator({}),\n {\n compoundUnitPattern: \"æ¯ {1} {0}\",\n unitProperties: { displayName: \"byte\", other: \"{0} byte\" },\n }\n );\n Globalize.a1393245992 = unitFormatterFn(\n Globalize(\"yue\").numberFormatter({}),\n Globalize(\"yue\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1631634167 = unitFormatterFn(\n Globalize(\"yue\").numberFormatter({}),\n Globalize(\"yue\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a280996589 = unitFormatterFn(\n Globalize(\"yue\").numberFormatter({}),\n Globalize(\"yue\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0} GB\" },\n }\n );\n Globalize.a915494743 = unitFormatterFn(\n Globalize(\"zh-Hans\").numberFormatter({}),\n Globalize(\"zh-Hans\").pluralGenerator({}),\n {\n compoundUnitPattern: \"æ¯{1}{0}\",\n unitProperties: { displayName: \"å—节\", other: \"{0}å—节\" },\n }\n );\n Globalize.a1506542996 = unitFormatterFn(\n Globalize(\"zh-Hans\").numberFormatter({}),\n Globalize(\"zh-Hans\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"åƒå—节\", other: \"{0}åƒå—节\" },\n }\n );\n Globalize.a1744931171 = unitFormatterFn(\n Globalize(\"zh-Hans\").numberFormatter({}),\n Globalize(\"zh-Hans\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"å…†å—节\", other: \"{0}å…†å—节\" },\n }\n );\n Globalize.a394293593 = unitFormatterFn(\n Globalize(\"zh-Hans\").numberFormatter({}),\n Globalize(\"zh-Hans\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"å‰å—节\", other: \"{0}å‰å—节\" },\n }\n );\n Globalize.b1803561142 = unitFormatterFn(\n Globalize(\"zh-Hans-SG\").numberFormatter({}),\n Globalize(\"zh-Hans-SG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"å—节\", other: \"{0}å—节\" },\n }\n );\n Globalize.b692157055 = unitFormatterFn(\n Globalize(\"zh-Hans-SG\").numberFormatter({}),\n Globalize(\"zh-Hans-SG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"åƒå—节\", other: \"{0}åƒå—节\" },\n }\n );\n Globalize.b453768880 = unitFormatterFn(\n Globalize(\"zh-Hans-SG\").numberFormatter({}),\n Globalize(\"zh-Hans-SG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"å…†å—节\", other: \"{0}å…†å—节\" },\n }\n );\n Globalize.b1804406458 = unitFormatterFn(\n Globalize(\"zh-Hans-SG\").numberFormatter({}),\n Globalize(\"zh-Hans-SG\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"å‰å—节\", other: \"{0}å‰å—节\" },\n }\n );\n Globalize.b1161714600 = unitFormatterFn(\n Globalize(\"zh-Hant\").numberFormatter({}),\n Globalize(\"zh-Hant\").pluralGenerator({}),\n {\n compoundUnitPattern: \"æ¯{1} {0}\",\n unitProperties: { displayName: \"byte\", other: \"{0} byte\" },\n }\n );\n Globalize.a1517859123 = unitFormatterFn(\n Globalize(\"zh-Hant\").numberFormatter({}),\n Globalize(\"zh-Hant\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a1756247298 = unitFormatterFn(\n Globalize(\"zh-Hant\").numberFormatter({}),\n Globalize(\"zh-Hant\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a405609720 = unitFormatterFn(\n Globalize(\"zh-Hant\").numberFormatter({}),\n Globalize(\"zh-Hant\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b2118418344 = unitFormatterFn(\n Globalize(\"zh-Hant-HK\").numberFormatter({}),\n Globalize(\"zh-Hant-HK\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}æ¯{1}\",\n unitProperties: { displayName: \"ä½å…ƒçµ„\", other: \"{0} ä½å…ƒçµ„\" },\n }\n );\n Globalize.a1900565811 = unitFormatterFn(\n Globalize(\"zh-Hant-HK\").numberFormatter({}),\n Globalize(\"zh-Hant-HK\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", other: \"{0} kB\" },\n }\n );\n Globalize.a2138953986 = unitFormatterFn(\n Globalize(\"zh-Hant-HK\").numberFormatter({}),\n Globalize(\"zh-Hant-HK\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0} MB\" },\n }\n );\n Globalize.a788316408 = unitFormatterFn(\n Globalize(\"zh-Hant-HK\").numberFormatter({}),\n Globalize(\"zh-Hant-HK\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0} GB\" },\n }\n );\n Globalize.b1682222089 = unitFormatterFn(\n Globalize(\"zh-Hant-MO\").numberFormatter({}),\n Globalize(\"zh-Hant-MO\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}æ¯{1}\",\n unitProperties: { displayName: \"ä½å…ƒçµ„\", other: \"{0} ä½å…ƒçµ„\" },\n }\n );\n Globalize.b595137292 = unitFormatterFn(\n Globalize(\"zh-Hant-MO\").numberFormatter({}),\n Globalize(\"zh-Hant-MO\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"kB\", other: \"{0} kB\" },\n }\n );\n Globalize.b356749117 = unitFormatterFn(\n Globalize(\"zh-Hant-MO\").numberFormatter({}),\n Globalize(\"zh-Hant-MO\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"MB\", other: \"{0} MB\" },\n }\n );\n Globalize.b1707386695 = unitFormatterFn(\n Globalize(\"zh-Hant-MO\").numberFormatter({}),\n Globalize(\"zh-Hant-MO\").pluralGenerator({}),\n {\n compoundUnitPattern: \"{0}/{1}\",\n unitProperties: { displayName: \"GB\", other: \"{0} GB\" },\n }\n );\n\n return Globalize;\n});\n","/**\n * Globalize Runtime v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize Runtime v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t\"use strict\";\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"../globalize-runtime\",\n\t\t\t\"./number\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory(\n\t\t\trequire( \"../globalize-runtime\" ),\n\t\t\trequire( \"./number\" )\n\t\t);\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Globalize );\n\t}\n}(this, function( Globalize ) {\n\n\n\nvar createErrorUnsupportedFeature = Globalize._createErrorUnsupportedFeature,\n\tlooseMatching = Globalize._looseMatching,\n\tpartsJoin = Globalize._partsJoin,\n\tpartsPush = Globalize._partsPush,\n\tregexpEscape = Globalize._regexpEscape,\n\tremoveLiteralQuotes = Globalize._removeLiteralQuotes,\n\truntimeKey = Globalize._runtimeKey,\n\tstringPad = Globalize._stringPad,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterType = Globalize._validateParameterType,\n\tvalidateParameterTypeString = Globalize._validateParameterTypeString;\n\n\nvar validateParameterTypeDate = function( value, name ) {\n\tvalidateParameterType( value, name, value === undefined || value instanceof Date, \"Date\" );\n};\n\n\nvar ZonedDateTime = (function() {\nfunction definePrivateProperty(object, property, value) {\n Object.defineProperty(object, property, {\n value: value\n });\n}\n\nfunction getUntilsIndex(original, untils) {\n var index = 0;\n var originalTime = original.getTime();\n\n // TODO Should we do binary search for improved performance?\n while (index < untils.length - 1 && originalTime >= untils[index]) {\n index++;\n }\n return index;\n}\n\nfunction setWrap(fn) {\n var offset1 = this.getTimezoneOffset();\n var ret = fn();\n this.original.setTime(new Date(this.getTime()));\n var offset2 = this.getTimezoneOffset();\n if (offset2 - offset1) {\n this.original.setMinutes(this.original.getMinutes() + offset2 - offset1);\n }\n return ret;\n}\n\nvar ZonedDateTime = function(date, timeZoneData) {\n definePrivateProperty(this, \"original\", new Date(date.getTime()));\n definePrivateProperty(this, \"local\", new Date(date.getTime()));\n definePrivateProperty(this, \"timeZoneData\", timeZoneData);\n definePrivateProperty(this, \"setWrap\", setWrap);\n if (!(timeZoneData.untils && timeZoneData.offsets && timeZoneData.isdsts)) {\n throw new Error(\"Invalid IANA data\");\n }\n this.setTime(this.local.getTime() - this.getTimezoneOffset() * 60 * 1000);\n};\n\nZonedDateTime.prototype.clone = function() {\n return new ZonedDateTime(this.original, this.timeZoneData);\n};\n\n// Date field getters.\n[\"getFullYear\", \"getMonth\", \"getDate\", \"getDay\", \"getHours\", \"getMinutes\",\n\"getSeconds\", \"getMilliseconds\"].forEach(function(method) {\n // Corresponding UTC method, e.g., \"getUTCFullYear\" if method === \"getFullYear\".\n var utcMethod = \"getUTC\" + method.substr(3);\n ZonedDateTime.prototype[method] = function() {\n return this.local[utcMethod]();\n };\n});\n\n// Note: Define .valueOf = .getTime for arithmetic operations like date1 - date2.\nZonedDateTime.prototype.valueOf =\nZonedDateTime.prototype.getTime = function() {\n return this.local.getTime() + this.getTimezoneOffset() * 60 * 1000;\n};\n\nZonedDateTime.prototype.getTimezoneOffset = function() {\n var index = getUntilsIndex(this.original, this.timeZoneData.untils);\n return this.timeZoneData.offsets[index];\n};\n\n// Date field setters.\n[\"setFullYear\", \"setMonth\", \"setDate\", \"setHours\", \"setMinutes\", \"setSeconds\", \"setMilliseconds\"].forEach(function(method) {\n // Corresponding UTC method, e.g., \"setUTCFullYear\" if method === \"setFullYear\".\n var utcMethod = \"setUTC\" + method.substr(3);\n ZonedDateTime.prototype[method] = function(value) {\n var local = this.local;\n // Note setWrap is needed for seconds and milliseconds just because\n // abs(value) could be >= a minute.\n return this.setWrap(function() {\n return local[utcMethod](value);\n });\n };\n});\n\nZonedDateTime.prototype.setTime = function(time) {\n return this.local.setTime(time);\n};\n\nZonedDateTime.prototype.isDST = function() {\n var index = getUntilsIndex(this.original, this.timeZoneData.untils);\n return Boolean(this.timeZoneData.isdsts[index]);\n};\n\nZonedDateTime.prototype.inspect = function() {\n var index = getUntilsIndex(this.original, this.timeZoneData.untils);\n var abbrs = this.timeZoneData.abbrs;\n return this.local.toISOString().replace(/Z$/, \"\") + \" \" +\n (abbrs && abbrs[index] + \" \" || (this.getTimezoneOffset() * -1) + \" \") +\n (this.isDST() ? \"(daylight savings)\" : \"\");\n};\n\nZonedDateTime.prototype.toDate = function() {\n return new Date(this.getTime());\n};\n\n// Type cast getters.\n[\"toISOString\", \"toJSON\", \"toUTCString\"].forEach(function(method) {\n ZonedDateTime.prototype[method] = function() {\n return this.toDate()[method]();\n };\n});\n\nreturn ZonedDateTime;\n}());\n\n\n/**\n * dayOfWeek( date, firstDay )\n *\n * @date\n *\n * @firstDay the result of `dateFirstDayOfWeek( cldr )`\n *\n * Return the day of the week normalized by the territory's firstDay [0-6].\n * Eg for \"mon\":\n * - return 0 if territory is GB, or BR, or DE, or FR (week starts on \"mon\");\n * - return 1 if territory is US (week starts on \"sun\");\n * - return 2 if territory is EG (week starts on \"sat\");\n */\nvar dateDayOfWeek = function( date, firstDay ) {\n\treturn ( date.getDay() - firstDay + 7 ) % 7;\n};\n\n\n\n\n/**\n * distanceInDays( from, to )\n *\n * Return the distance in days between from and to Dates.\n */\nvar dateDistanceInDays = function( from, to ) {\n\tvar inDays = 864e5;\n\treturn ( to.getTime() - from.getTime() ) / inDays;\n};\n\n\n\n\n/**\n * startOf changes the input to the beginning of the given unit.\n *\n * For example, starting at the start of a day, resets hours, minutes\n * seconds and milliseconds to 0. Starting at the month does the same, but\n * also sets the date to 1.\n *\n * Returns the modified date\n */\nvar dateStartOf = function( date, unit ) {\n\tdate = date instanceof ZonedDateTime ? date.clone() : new Date( date.getTime() );\n\tswitch ( unit ) {\n\t\tcase \"year\":\n\t\t\tdate.setMonth( 0 );\n\t\t/* falls through */\n\t\tcase \"month\":\n\t\t\tdate.setDate( 1 );\n\t\t/* falls through */\n\t\tcase \"day\":\n\t\t\tdate.setHours( 0 );\n\t\t/* falls through */\n\t\tcase \"hour\":\n\t\t\tdate.setMinutes( 0 );\n\t\t/* falls through */\n\t\tcase \"minute\":\n\t\t\tdate.setSeconds( 0 );\n\t\t/* falls through */\n\t\tcase \"second\":\n\t\t\tdate.setMilliseconds( 0 );\n\t}\n\treturn date;\n};\n\n\n\n\n/**\n * dayOfYear\n *\n * Return the distance in days of the date to the begin of the year [0-d].\n */\nvar dateDayOfYear = function( date ) {\n\treturn Math.floor( dateDistanceInDays( dateStartOf( date, \"year\" ), date ) );\n};\n\n\n\n\n/**\n * Returns a new object created by using `object`'s values as keys, and the keys as values.\n */\nvar objectInvert = function( object, fn ) {\n\tfn = fn || function( object, key, value ) {\n\t\tobject[ value ] = key;\n\t\treturn object;\n\t};\n\treturn Object.keys( object ).reduce(function( newObject, key ) {\n\t\treturn fn( newObject, key, object[ key ] );\n\t}, {});\n};\n\n\n\n\n// Invert key and values, e.g., {\"year\": \"yY\"} ==> {\"y\": \"year\", \"Y\": \"year\"}\nvar dateFieldsMap = objectInvert({\n\t\"era\": \"G\",\n\t\"year\": \"yY\",\n\t\"quarter\": \"qQ\",\n\t\"month\": \"ML\",\n\t\"week\": \"wW\",\n\t\"day\": \"dDF\",\n\t\"weekday\": \"ecE\",\n\t\"dayperiod\": \"a\",\n\t\"hour\": \"hHkK\",\n\t\"minute\": \"m\",\n\t\"second\": \"sSA\",\n\t\"zone\": \"zvVOxX\"\n}, function( object, key, value ) {\n\tvalue.split( \"\" ).forEach(function( symbol ) {\n\t\tobject[ symbol ] = key;\n\t});\n\treturn object;\n});\n\n\n\n\n/**\n * millisecondsInDay\n */\nvar dateMillisecondsInDay = function( date ) {\n\n\t// TODO Handle daylight savings discontinuities\n\treturn date - dateStartOf( date, \"day\" );\n};\n\n\n\n\nvar datePatternRe = ( /([a-z])\\1*|'([^']|'')+'|''|./ig );\n\n\n\n\n/**\n * hourFormat( date, format, timeSeparator, formatNumber )\n *\n * Return date's timezone offset according to the format passed.\n * Eg for format when timezone offset is 180:\n * - \"+H;-H\": -3\n * - \"+HHmm;-HHmm\": -0300\n * - \"+HH:mm;-HH:mm\": -03:00\n * - \"+HH:mm:ss;-HH:mm:ss\": -03:00:00\n */\nvar dateTimezoneHourFormat = function( date, format, timeSeparator, formatNumber ) {\n\tvar absOffset,\n\t\toffset = date.getTimezoneOffset();\n\n\tabsOffset = Math.abs( offset );\n\tformatNumber = formatNumber || {\n\t\t1: function( value ) {\n\t\t\treturn stringPad( value, 1 );\n\t\t},\n\t\t2: function( value ) {\n\t\t\treturn stringPad( value, 2 );\n\t\t}\n\t};\n\n\treturn format\n\n\t\t// Pick the correct sign side (+ or -).\n\t\t.split( \";\" )[ offset > 0 ? 1 : 0 ]\n\n\t\t// Localize time separator\n\t\t.replace( \":\", timeSeparator )\n\n\t\t// Update hours offset.\n\t\t.replace( /HH?/, function( match ) {\n\t\t\treturn formatNumber[ match.length ]( Math.floor( absOffset / 60 ) );\n\t\t})\n\n\t\t// Update minutes offset and return.\n\t\t.replace( /mm/, function() {\n\t\t\treturn formatNumber[ 2 ]( Math.floor( absOffset % 60 ) );\n\t\t})\n\n\t\t// Update minutes offset and return.\n\t\t.replace( /ss/, function() {\n\t\t\treturn formatNumber[ 2 ]( Math.floor( absOffset % 1 * 60 ) );\n\t\t});\n};\n\n\n\n\nvar dateWeekDays = [ \"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\" ];\n\n\n\n\n/**\n * format( date, properties )\n *\n * @date [Date instance].\n *\n * @properties\n *\n * TODO Support other calendar types.\n *\n * Disclosure: this function borrows excerpts of dojo/date/locale.\n */\nvar dateFormat = function( date, numberFormatters, properties ) {\n\tvar parts = [];\n\n\tvar timeSeparator = properties.timeSeparator;\n\n\t// create globalize date with given timezone data\n\tif ( properties.timeZoneData ) {\n\t\tdate = new ZonedDateTime( date, properties.timeZoneData() );\n\t}\n\n\tproperties.pattern.replace( datePatternRe, function( current ) {\n\t\tvar aux, dateField, type, value,\n\t\t\tchr = current.charAt( 0 ),\n\t\t\tlength = current.length;\n\n\t\tif ( chr === \"j\" ) {\n\n\t\t\t// Locale preferred hHKk.\n\t\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data\n\t\t\tchr = properties.preferredTime;\n\t\t}\n\n\t\tif ( chr === \"Z\" ) {\n\n\t\t\t// Z..ZZZ: same as \"xxxx\".\n\t\t\tif ( length < 4 ) {\n\t\t\t\tchr = \"x\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZ: same as \"OOOO\".\n\t\t\t} else if ( length < 5 ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZZ: same as \"XXXXX\"\n\t\t\t} else {\n\t\t\t\tchr = \"X\";\n\t\t\t\tlength = 5;\n\t\t\t}\n\t\t}\n\n\t\t// z...zzz: \"{shortRegion}\", e.g., \"PST\" or \"PDT\".\n\t\t// zzzz: \"{regionName} {Standard Time}\" or \"{regionName} {Daylight Time}\",\n\t\t// e.g., \"Pacific Standard Time\" or \"Pacific Daylight Time\".\n\t\tif ( chr === \"z\" ) {\n\t\t\tif ( date.isDST ) {\n\t\t\t\tvalue = date.isDST() ? properties.daylightTzName : properties.standardTzName;\n\t\t\t}\n\n\t\t\t// Fall back to \"O\" format.\n\t\t\tif ( !value ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tif ( length < 4 ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\tvalue = properties.eras[ date.getFullYear() < 0 ? 0 : 1 ];\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"y\":\n\n\t\t\t\t// Plain year.\n\t\t\t\t// The length specifies the padding, but for two letters it also specifies the\n\t\t\t\t// maximum length.\n\t\t\t\tvalue = date.getFullYear();\n\t\t\t\tif ( length === 2 ) {\n\t\t\t\t\tvalue = String( value );\n\t\t\t\t\tvalue = +value.substr( value.length - 2 );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"Y\":\n\n\t\t\t\t// Year in \"Week of Year\"\n\t\t\t\t// The length specifies the padding, but for two letters it also specifies the\n\t\t\t\t// maximum length.\n\t\t\t\t// yearInWeekofYear = date + DaysInAWeek - (dayOfWeek - firstDay) - minDays\n\t\t\t\tvalue = new Date( date.getTime() );\n\t\t\t\tvalue.setDate(\n\t\t\t\t\tvalue.getDate() + 7 -\n\t\t\t\t\tdateDayOfWeek( date, properties.firstDay ) -\n\t\t\t\t\tproperties.firstDay -\n\t\t\t\t\tproperties.minDays\n\t\t\t\t);\n\t\t\t\tvalue = value.getFullYear();\n\t\t\t\tif ( length === 2 ) {\n\t\t\t\t\tvalue = String( value );\n\t\t\t\t\tvalue = +value.substr( value.length - 2 );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Quarter\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\t\t\t\tvalue = Math.ceil( ( date.getMonth() + 1 ) / 3 );\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tvalue = properties.quarters[ chr ][ length ][ value ];\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\t\t\t\tvalue = date.getMonth() + 1;\n\t\t\t\tif ( length > 2 ) {\n\t\t\t\t\tvalue = properties.months[ chr ][ length ][ value ];\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Week\n\t\t\tcase \"w\":\n\n\t\t\t\t// Week of Year.\n\t\t\t\t// woy = ceil( ( doy + dow of 1/1 ) / 7 ) - minDaysStuff ? 1 : 0.\n\t\t\t\t// TODO should pad on ww? Not documented, but I guess so.\n\t\t\t\tvalue = dateDayOfWeek( dateStartOf( date, \"year\" ), properties.firstDay );\n\t\t\t\tvalue = Math.ceil( ( dateDayOfYear( date ) + value ) / 7 ) -\n\t\t\t\t\t( 7 - value >= properties.minDays ? 0 : 1 );\n\t\t\t\tbreak;\n\n\t\t\tcase \"W\":\n\n\t\t\t\t// Week of Month.\n\t\t\t\t// wom = ceil( ( dom + dow of `1/month` ) / 7 ) - minDaysStuff ? 1 : 0.\n\t\t\t\tvalue = dateDayOfWeek( dateStartOf( date, \"month\" ), properties.firstDay );\n\t\t\t\tvalue = Math.ceil( ( date.getDate() + value ) / 7 ) -\n\t\t\t\t\t( 7 - value >= properties.minDays ? 0 : 1 );\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"d\":\n\t\t\t\tvalue = date.getDate();\n\t\t\t\tbreak;\n\n\t\t\tcase \"D\":\n\t\t\t\tvalue = dateDayOfYear( date ) + 1;\n\t\t\t\tbreak;\n\n\t\t\tcase \"F\":\n\n\t\t\t\t// Day of Week in month. eg. 2nd Wed in July.\n\t\t\t\tvalue = Math.floor( date.getDate() / 7 ) + 1;\n\t\t\t\tbreak;\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\t\t\t\tif ( length <= 2 ) {\n\n\t\t\t\t\t// Range is [1-7] (deduced by example provided on documentation)\n\t\t\t\t\t// TODO Should pad with zeros (not specified in the docs)?\n\t\t\t\t\tvalue = dateDayOfWeek( date, properties.firstDay ) + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"E\":\n\t\t\t\tvalue = dateWeekDays[ date.getDay() ];\n\t\t\t\tvalue = properties.days[ chr ][ length ][ value ];\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tvalue = properties.dayPeriods[ date.getHours() < 12 ? \"am\" : \"pm\" ];\n\t\t\t\tbreak;\n\n\t\t\t// Hour\n\t\t\tcase \"h\": // 1-12\n\t\t\t\tvalue = ( date.getHours() % 12 ) || 12;\n\t\t\t\tbreak;\n\n\t\t\tcase \"H\": // 0-23\n\t\t\t\tvalue = date.getHours();\n\t\t\t\tbreak;\n\n\t\t\tcase \"K\": // 0-11\n\t\t\t\tvalue = date.getHours() % 12;\n\t\t\t\tbreak;\n\n\t\t\tcase \"k\": // 1-24\n\t\t\t\tvalue = date.getHours() || 24;\n\t\t\t\tbreak;\n\n\t\t\t// Minute\n\t\t\tcase \"m\":\n\t\t\t\tvalue = date.getMinutes();\n\t\t\t\tbreak;\n\n\t\t\t// Second\n\t\t\tcase \"s\":\n\t\t\t\tvalue = date.getSeconds();\n\t\t\t\tbreak;\n\n\t\t\tcase \"S\":\n\t\t\t\tvalue = Math.round( date.getMilliseconds() * Math.pow( 10, length - 3 ) );\n\t\t\t\tbreak;\n\n\t\t\tcase \"A\":\n\t\t\t\tvalue = Math.round( dateMillisecondsInDay( date ) * Math.pow( 10, length - 3 ) );\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"z\":\n\t\t\t\tbreak;\n\n\t\t\tcase \"v\":\n\n\t\t\t\t// v...vvv: \"{shortRegion}\", eg. \"PT\".\n\t\t\t\t// vvvv: \"{regionName} {Time}\",\n\t\t\t\t// e.g., \"Pacific Time\".\n\t\t\t\tif ( properties.genericTzName ) {\n\t\t\t\t\tvalue = properties.genericTzName;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"V\":\n\n\t\t\t\t//VVVV: \"{explarCity} {Time}\", e.g., \"Los Angeles Time\"\n\t\t\t\tif ( properties.timeZoneName ) {\n\t\t\t\t\tvalue = properties.timeZoneName;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( current === \"v\" ) {\n\t\t\t\t\tlength = 1;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"O\":\n\n\t\t\t\t// O: \"{gmtFormat}+H;{gmtFormat}-H\" or \"{gmtZeroFormat}\", eg. \"GMT-8\" or \"GMT\".\n\t\t\t\t// OOOO: \"{gmtFormat}{hourFormat}\" or \"{gmtZeroFormat}\", eg. \"GMT-08:00\" or \"GMT\".\n\t\t\t\tif ( date.getTimezoneOffset() === 0 ) {\n\t\t\t\t\tvalue = properties.gmtZeroFormat;\n\t\t\t\t} else {\n\n\t\t\t\t\t// If O..OOO and timezone offset has non-zero minutes, show minutes.\n\t\t\t\t\tif ( length < 4 ) {\n\t\t\t\t\t\taux = date.getTimezoneOffset();\n\t\t\t\t\t\taux = properties.hourFormat[ aux % 60 - aux % 1 === 0 ? 0 : 1 ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\taux = properties.hourFormat;\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = dateTimezoneHourFormat(\n\t\t\t\t\t\tdate,\n\t\t\t\t\t\taux,\n\t\t\t\t\t\ttimeSeparator,\n\t\t\t\t\t\tnumberFormatters\n\t\t\t\t\t);\n\t\t\t\t\tvalue = properties.gmtFormat.replace( /\\{0\\}/, value );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"X\":\n\n\t\t\t\t// Same as x*, except it uses \"Z\" for zero offset.\n\t\t\t\tif ( date.getTimezoneOffset() === 0 ) {\n\t\t\t\t\tvalue = \"Z\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"x\":\n\n\t\t\t\t// x: hourFormat(\"+HH[mm];-HH[mm]\")\n\t\t\t\t// xx: hourFormat(\"+HHmm;-HHmm\")\n\t\t\t\t// xxx: hourFormat(\"+HH:mm;-HH:mm\")\n\t\t\t\t// xxxx: hourFormat(\"+HHmm[ss];-HHmm[ss]\")\n\t\t\t\t// xxxxx: hourFormat(\"+HH:mm[:ss];-HH:mm[:ss]\")\n\t\t\t\taux = date.getTimezoneOffset();\n\n\t\t\t\t// If x and timezone offset has non-zero minutes, use xx (i.e., show minutes).\n\t\t\t\tif ( length === 1 && aux % 60 - aux % 1 !== 0 ) {\n\t\t\t\t\tlength += 1;\n\t\t\t\t}\n\n\t\t\t\t// If (xxxx or xxxxx) and timezone offset has zero seconds, use xx or xxx\n\t\t\t\t// respectively (i.e., don't show optional seconds).\n\t\t\t\tif ( ( length === 4 || length === 5 ) && aux % 1 === 0 ) {\n\t\t\t\t\tlength -= 2;\n\t\t\t\t}\n\n\t\t\t\tvalue = [\n\t\t\t\t\t\"+HH;-HH\",\n\t\t\t\t\t\"+HHmm;-HHmm\",\n\t\t\t\t\t\"+HH:mm;-HH:mm\",\n\t\t\t\t\t\"+HHmmss;-HHmmss\",\n\t\t\t\t\t\"+HH:mm:ss;-HH:mm:ss\"\n\t\t\t\t][ length - 1 ];\n\n\t\t\t\tvalue = dateTimezoneHourFormat( date, value, \":\" );\n\t\t\t\tbreak;\n\n\t\t\t// timeSeparator\n\t\t\tcase \":\":\n\t\t\t\tvalue = timeSeparator;\n\t\t\t\tbreak;\n\n\t\t\t// ' literals.\n\t\t\tcase \"'\":\n\t\t\t\tvalue = removeLiteralQuotes( current );\n\t\t\t\tbreak;\n\n\t\t\t// Anything else is considered a literal, including [ ,:/.@#], chinese, japonese, and\n\t\t\t// arabic characters.\n\t\t\tdefault:\n\t\t\t\tvalue = current;\n\n\t\t}\n\t\tif ( typeof value === \"number\" ) {\n\t\t\tvalue = numberFormatters[ length ]( value );\n\t\t}\n\n\t\tdateField = dateFieldsMap[ chr ];\n\t\ttype = dateField ? dateField : \"literal\";\n\n\t\tpartsPush( parts, type, value );\n\t});\n\n\treturn parts;\n\n};\n\n\n\n\nvar dateFormatterFn = function( dateToPartsFormatter ) {\n\treturn function dateFormatter( value ) {\n\t\treturn partsJoin( dateToPartsFormatter( value ));\n\t};\n};\n\n\n\n\n/**\n * isLeapYear( year )\n *\n * @year [Number]\n *\n * Returns an indication whether the specified year is a leap year.\n */\nvar dateIsLeapYear = function( year ) {\n\treturn new Date( year, 1, 29 ).getMonth() === 1;\n};\n\n\n\n\n/**\n * lastDayOfMonth( date )\n *\n * @date [Date]\n *\n * Return the last day of the given date's month\n */\nvar dateLastDayOfMonth = function( date ) {\n\treturn new Date( date.getFullYear(), date.getMonth() + 1, 0 ).getDate();\n};\n\n\n\n\n/**\n * Differently from native date.setDate(), this function returns a date whose\n * day remains inside the month boundaries. For example:\n *\n * setDate( FebDate, 31 ): a \"Feb 28\" date.\n * setDate( SepDate, 31 ): a \"Sep 30\" date.\n */\nvar dateSetDate = function( date, day ) {\n\tvar lastDay = new Date( date.getFullYear(), date.getMonth() + 1, 0 ).getDate();\n\n\tdate.setDate( day < 1 ? 1 : day < lastDay ? day : lastDay );\n};\n\n\n\n\n/**\n * Differently from native date.setMonth(), this function adjusts date if\n * needed, so final month is always the one set.\n *\n * setMonth( Jan31Date, 1 ): a \"Feb 28\" date.\n * setDate( Jan31Date, 8 ): a \"Sep 30\" date.\n */\nvar dateSetMonth = function( date, month ) {\n\tvar originalDate = date.getDate();\n\n\tdate.setDate( 1 );\n\tdate.setMonth( month );\n\tdateSetDate( date, originalDate );\n};\n\n\n\n\nvar outOfRange = function( value, low, high ) {\n\treturn value < low || value > high;\n};\n\n\n\n\n/**\n * parse( value, tokens, properties )\n *\n * @value [String] string date.\n *\n * @tokens [Object] tokens returned by date/tokenizer.\n *\n * @properties [Object] output returned by date/tokenizer-properties.\n *\n * ref: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n */\nvar dateParse = function( _value, tokens, properties ) {\n\tvar amPm, day, daysOfYear, month, era, hour, hour12, timezoneOffset, valid,\n\t\tYEAR = 0,\n\t\tMONTH = 1,\n\t\tDAY = 2,\n\t\tHOUR = 3,\n\t\tMINUTE = 4,\n\t\tSECOND = 5,\n\t\tMILLISECONDS = 6,\n\t\tdate = new Date(),\n\t\ttruncateAt = [],\n\t\tunits = [ \"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"milliseconds\" ];\n\n\t// Create globalize date with given timezone data.\n\tif ( properties.timeZoneData ) {\n\t\tdate = new ZonedDateTime( date, properties.timeZoneData() );\n\t}\n\n\tif ( !tokens.length ) {\n\t\treturn null;\n\t}\n\n\tvalid = tokens.every(function( token ) {\n\t\tvar century, chr, value, length;\n\n\t\tif ( token.type === \"literal\" ) {\n\n\t\t\t// continue\n\t\t\treturn true;\n\t\t}\n\n\t\tchr = token.type.charAt( 0 );\n\t\tlength = token.type.length;\n\n\t\tif ( chr === \"j\" ) {\n\n\t\t\t// Locale preferred hHKk.\n\t\t\t// http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data\n\t\t\tchr = properties.preferredTimeData;\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\ttruncateAt.push( YEAR );\n\t\t\t\tera = +token.value;\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"y\":\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( length === 2 ) {\n\t\t\t\t\tif ( outOfRange( value, 0, 99 ) ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// mimic dojo/date/locale: choose century to apply, according to a sliding\n\t\t\t\t\t// window of 80 years before and 20 years after present year.\n\t\t\t\t\tcentury = Math.floor( date.getFullYear() / 100 ) * 100;\n\t\t\t\t\tvalue += century;\n\t\t\t\t\tif ( value > date.getFullYear() + 20 ) {\n\t\t\t\t\t\tvalue -= 100;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdate.setFullYear( value );\n\t\t\t\ttruncateAt.push( YEAR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"Y\": // Year in \"Week of Year\"\n\t\t\t\tthrow createErrorUnsupportedFeature({\n\t\t\t\t\tfeature: \"year pattern `\" + chr + \"`\"\n\t\t\t\t});\n\n\t\t\t// Quarter (skip)\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\t\t\t\tif ( length <= 2 ) {\n\t\t\t\t\tvalue = token.value;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = +token.value;\n\t\t\t\t}\n\t\t\t\tif ( outOfRange( value, 1, 12 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Setting the month later so that we have the correct year and can determine\n\t\t\t\t// the correct last day of February in case of leap year.\n\t\t\t\tmonth = value;\n\t\t\t\ttruncateAt.push( MONTH );\n\t\t\t\tbreak;\n\n\t\t\t// Week (skip)\n\t\t\tcase \"w\": // Week of Year.\n\t\t\tcase \"W\": // Week of Month.\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"d\":\n\t\t\t\tday = token.value;\n\t\t\t\ttruncateAt.push( DAY );\n\t\t\t\tbreak;\n\n\t\t\tcase \"D\":\n\t\t\t\tdaysOfYear = token.value;\n\t\t\t\ttruncateAt.push( DAY );\n\t\t\t\tbreak;\n\n\t\t\tcase \"F\":\n\n\t\t\t\t// Day of Week in month. eg. 2nd Wed in July.\n\t\t\t\t// Skip\n\t\t\t\tbreak;\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\t\t\tcase \"E\":\n\n\t\t\t\t// Skip.\n\t\t\t\t// value = arrayIndexOf( dateWeekDays, token.value );\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tamPm = token.value;\n\t\t\t\tbreak;\n\n\t\t\t// Hour\n\t\t\tcase \"h\": // 1-12\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 1, 12 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = hour12 = true;\n\t\t\t\tdate.setHours( value === 12 ? 0 : value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"K\": // 0-11\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 11 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = hour12 = true;\n\t\t\t\tdate.setHours( value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"k\": // 1-24\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 1, 24 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = true;\n\t\t\t\tdate.setHours( value === 24 ? 0 : value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\tcase \"H\": // 0-23\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 23 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\thour = true;\n\t\t\t\tdate.setHours( value );\n\t\t\t\ttruncateAt.push( HOUR );\n\t\t\t\tbreak;\n\n\t\t\t// Minute\n\t\t\tcase \"m\":\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 59 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tdate.setMinutes( value );\n\t\t\t\ttruncateAt.push( MINUTE );\n\t\t\t\tbreak;\n\n\t\t\t// Second\n\t\t\tcase \"s\":\n\t\t\t\tvalue = token.value;\n\t\t\t\tif ( outOfRange( value, 0, 59 ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tdate.setSeconds( value );\n\t\t\t\ttruncateAt.push( SECOND );\n\t\t\t\tbreak;\n\n\t\t\tcase \"A\":\n\t\t\t\tdate.setHours( 0 );\n\t\t\t\tdate.setMinutes( 0 );\n\t\t\t\tdate.setSeconds( 0 );\n\n\t\t\t/* falls through */\n\t\t\tcase \"S\":\n\t\t\t\tvalue = Math.round( token.value * Math.pow( 10, 3 - length ) );\n\t\t\t\tdate.setMilliseconds( value );\n\t\t\t\ttruncateAt.push( MILLISECONDS );\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"z\":\n\t\t\tcase \"Z\":\n\t\t\tcase \"O\":\n\t\t\tcase \"v\":\n\t\t\tcase \"V\":\n\t\t\tcase \"X\":\n\t\t\tcase \"x\":\n\t\t\t\tif ( typeof token.value === \"number\" ) {\n\t\t\t\t\ttimezoneOffset = token.value;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn true;\n\t});\n\n\tif ( !valid ) {\n\t\treturn null;\n\t}\n\n\t// 12-hour format needs AM or PM, 24-hour format doesn't, ie. return null\n\t// if amPm && !hour12 || !amPm && hour12.\n\tif ( hour && !( !amPm ^ hour12 ) ) {\n\t\treturn null;\n\t}\n\n\tif ( era === 0 ) {\n\n\t\t// 1 BC = year 0\n\t\tdate.setFullYear( date.getFullYear() * -1 + 1 );\n\t}\n\n\tif ( month !== undefined ) {\n\t\tdateSetMonth( date, month - 1 );\n\t}\n\n\tif ( day !== undefined ) {\n\t\tif ( outOfRange( day, 1, dateLastDayOfMonth( date ) ) ) {\n\t\t\treturn null;\n\t\t}\n\t\tdate.setDate( day );\n\t} else if ( daysOfYear !== undefined ) {\n\t\tif ( outOfRange( daysOfYear, 1, dateIsLeapYear( date.getFullYear() ) ? 366 : 365 ) ) {\n\t\t\treturn null;\n\t\t}\n\t\tdate.setMonth( 0 );\n\t\tdate.setDate( daysOfYear );\n\t}\n\n\tif ( hour12 && amPm === \"pm\" ) {\n\t\tdate.setHours( date.getHours() + 12 );\n\t}\n\n\tif ( timezoneOffset !== undefined ) {\n\t\tdate.setMinutes( date.getMinutes() + timezoneOffset - date.getTimezoneOffset() );\n\t}\n\n\t// Truncate date at the most precise unit defined. Eg.\n\t// If value is \"12/31\", and pattern is \"MM/dd\":\n\t// => new Date( <current Year>, 12, 31, 0, 0, 0, 0 );\n\ttruncateAt = Math.max.apply( null, truncateAt );\n\tdate = dateStartOf( date, units[ truncateAt ] );\n\n\t// Get date back from globalize date.\n\tif ( date instanceof ZonedDateTime ) {\n\t\tdate = date.toDate();\n\t}\n\n\treturn date;\n};\n\n\n/* eslint-disable no-unused-expressions */\n\n\n\n/**\n * tokenizer( value, numberParser, properties )\n *\n * @value [String] string date.\n *\n * @numberParser [Function]\n *\n * @properties [Object] output returned by date/tokenizer-properties.\n *\n * Returns an Array of tokens, eg. value \"5 o'clock PM\", pattern \"h 'o''clock' a\":\n * [{\n * type: \"h\",\n * lexeme: \"5\"\n * }, {\n * type: \"literal\",\n * lexeme: \" \"\n * }, {\n * type: \"literal\",\n * lexeme: \"o'clock\"\n * }, {\n * type: \"literal\",\n * lexeme: \" \"\n * }, {\n * type: \"a\",\n * lexeme: \"PM\",\n * value: \"pm\"\n * }]\n *\n * OBS: lexeme's are always String and may return invalid ranges depending of the token type.\n * Eg. \"99\" for month number.\n *\n * Return an empty Array when not successfully parsed.\n */\nvar dateTokenizer = function( value, numberParser, properties ) {\n\tvar digitsRe, valid,\n\t\ttokens = [],\n\t\twidths = [ \"abbreviated\", \"wide\", \"narrow\" ];\n\n\tdigitsRe = properties.digitsRe;\n\tvalue = looseMatching( value );\n\n\tvalid = properties.pattern.match( datePatternRe ).every(function( current ) {\n\t\tvar aux, chr, length, numeric, tokenRe,\n\t\t\ttoken = {};\n\n\t\tfunction hourFormatParse( tokenRe, numberParser ) {\n\t\t\tvar aux, isPositive,\n\t\t\t\tmatch = value.match( tokenRe );\n\t\t\tnumberParser = numberParser || function( value ) {\n\t\t\t\treturn +value;\n\t\t\t};\n\n\t\t\tif ( !match ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tisPositive = match[ 1 ];\n\n\t\t\t// hourFormat containing H only, e.g., `+H;-H`\n\t\t\tif ( match.length < 6 ) {\n\t\t\t\taux = isPositive ? 1 : 3;\n\t\t\t\ttoken.value = numberParser( match[ aux ] ) * 60;\n\n\t\t\t// hourFormat containing H and m, e.g., `+HHmm;-HHmm`\n\t\t\t} else if ( match.length < 10 ) {\n\t\t\t\taux = isPositive ? [ 1, 3 ] : [ 5, 7 ];\n\t\t\t\ttoken.value = numberParser( match[ aux[ 0 ] ] ) * 60 +\n\t\t\t\t\tnumberParser( match[ aux[ 1 ] ] );\n\n\t\t\t// hourFormat containing H, m, and s e.g., `+HHmmss;-HHmmss`\n\t\t\t} else {\n\t\t\t\taux = isPositive ? [ 1, 3, 5 ] : [ 7, 9, 11 ];\n\t\t\t\ttoken.value = numberParser( match[ aux[ 0 ] ] ) * 60 +\n\t\t\t\t\tnumberParser( match[ aux[ 1 ] ] ) +\n\t\t\t\t\tnumberParser( match[ aux[ 2 ] ] ) / 60;\n\t\t\t}\n\n\t\t\tif ( isPositive ) {\n\t\t\t\ttoken.value *= -1;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction oneDigitIfLengthOne() {\n\t\t\tif ( length === 1 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = digitsRe;\n\t\t\t}\n\t\t}\n\n\t\tfunction oneOrTwoDigitsIfLengthOne() {\n\t\t\tif ( length === 1 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d\\d?/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = new RegExp( \"^(\" + digitsRe.source + \"){1,2}\" );\n\t\t\t}\n\t\t}\n\n\t\tfunction oneOrTwoDigitsIfLengthOneOrTwo() {\n\t\t\tif ( length === 1 || length === 2 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d\\d?/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = new RegExp( \"^(\" + digitsRe.source + \"){1,2}\" );\n\t\t\t}\n\t\t}\n\n\t\tfunction twoDigitsIfLengthTwo() {\n\t\t\tif ( length === 2 ) {\n\n\t\t\t\t// Unicode equivalent to /\\d\\d/\n\t\t\t\tnumeric = true;\n\t\t\t\treturn tokenRe = new RegExp( \"^(\" + digitsRe.source + \"){2}\" );\n\t\t\t}\n\t\t}\n\n\t\t// Brute-force test every locale entry in an attempt to match the given value.\n\t\t// Return the first found one (and set token accordingly), or null.\n\t\tfunction lookup( path ) {\n\t\t\tvar array = properties[ path.join( \"/\" ) ];\n\n\t\t\tif ( !array ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// array of pairs [key, value] sorted by desc value length.\n\t\t\tarray.some(function( item ) {\n\t\t\t\tvar valueRe = item[ 1 ];\n\t\t\t\tif ( valueRe.test( value ) ) {\n\t\t\t\t\ttoken.value = item[ 0 ];\n\t\t\t\t\ttokenRe = item[ 1 ];\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn null;\n\t\t}\n\n\t\ttoken.type = current;\n\t\tchr = current.charAt( 0 );\n\t\tlength = current.length;\n\n\t\tif ( chr === \"Z\" ) {\n\n\t\t\t// Z..ZZZ: same as \"xxxx\".\n\t\t\tif ( length < 4 ) {\n\t\t\t\tchr = \"x\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZ: same as \"OOOO\".\n\t\t\t} else if ( length < 5 ) {\n\t\t\t\tchr = \"O\";\n\t\t\t\tlength = 4;\n\n\t\t\t// ZZZZZ: same as \"XXXXX\"\n\t\t\t} else {\n\t\t\t\tchr = \"X\";\n\t\t\t\tlength = 5;\n\t\t\t}\n\t\t}\n\n\t\tif ( chr === \"z\" ) {\n\t\t\tif ( properties.standardOrDaylightTzName ) {\n\t\t\t\ttoken.value = null;\n\t\t\t\ttokenRe = properties.standardOrDaylightTzName;\n\t\t\t}\n\t\t}\n\n\t\t// v...vvv: \"{shortRegion}\", eg. \"PT\".\n\t\t// vvvv: \"{regionName} {Time}\" or \"{regionName} {Time}\",\n\t\t// e.g., \"Pacific Time\"\n\t\t// http://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns\n\t\tif ( chr === \"v\" ) {\n\t\t\tif ( properties.genericTzName ) {\n\t\t\t\ttoken.value = null;\n\t\t\t\ttokenRe = properties.genericTzName;\n\n\t\t\t// Fall back to \"V\" format.\n\t\t\t} else {\n\t\t\t\tchr = \"V\";\n\t\t\t\tlength = 4;\n\t\t\t}\n\t\t}\n\n\t\tif ( chr === \"V\" && properties.timeZoneName ) {\n\t\t\ttoken.value = length === 2 ? properties.timeZoneName : null;\n\t\t\ttokenRe = properties.timeZoneNameRe;\n\t\t}\n\n\t\tswitch ( chr ) {\n\n\t\t\t// Era\n\t\t\tcase \"G\":\n\t\t\t\tlookup([\n\t\t\t\t\t\"gregorian/eras\",\n\t\t\t\t\tlength <= 3 ? \"eraAbbr\" : ( length === 4 ? \"eraNames\" : \"eraNarrow\" )\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Year\n\t\t\tcase \"y\":\n\t\t\tcase \"Y\":\n\t\t\t\tnumeric = true;\n\n\t\t\t\t// number l=1:+, l=2:{2}, l=3:{3,}, l=4:{4,}, ...\n\t\t\t\tif ( length === 1 ) {\n\n\t\t\t\t\t// Unicode equivalent to /\\d+/.\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \")+\" );\n\t\t\t\t} else if ( length === 2 ) {\n\n\t\t\t\t\t// Lenient parsing: there's no year pattern to indicate non-zero-padded 2-digits\n\t\t\t\t\t// year, so parser accepts both zero-padded and non-zero-padded for `yy`.\n\t\t\t\t\t//\n\t\t\t\t\t// Unicode equivalent to /\\d\\d?/\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){1,2}\" );\n\t\t\t\t} else {\n\n\t\t\t\t\t// Unicode equivalent to /\\d{length,}/\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + length + \",}\" );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Quarter\n\t\t\tcase \"Q\":\n\t\t\tcase \"q\":\n\n\t\t\t\t// number l=1:{1}, l=2:{2}.\n\t\t\t\t// lookup l=3...\n\t\t\t\toneDigitIfLengthOne() || twoDigitsIfLengthTwo() ||\n\t\t\t\t\tlookup([\n\t\t\t\t\t\t\"gregorian/quarters\",\n\t\t\t\t\t\tchr === \"Q\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Month\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\n\t\t\t\t// number l=1:{1,2}, l=2:{2}.\n\t\t\t\t// lookup l=3...\n\t\t\t\t//\n\t\t\t\t// Lenient parsing: skeleton \"yMd\" (i.e., one M) may include MM for the pattern,\n\t\t\t\t// therefore parser accepts both zero-padded and non-zero-padded for M and MM.\n\t\t\t\t// Similar for L.\n\t\t\t\toneOrTwoDigitsIfLengthOneOrTwo() || lookup([\n\t\t\t\t\t\"gregorian/months\",\n\t\t\t\t\tchr === \"M\" ? \"format\" : \"stand-alone\",\n\t\t\t\t\twidths[ length - 3 ]\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Day\n\t\t\tcase \"D\":\n\n\t\t\t\t// number {l,3}.\n\t\t\t\tif ( length <= 3 ) {\n\n\t\t\t\t\t// Equivalent to /\\d{length,3}/\n\t\t\t\t\tnumeric = true;\n\t\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + length + \",3}\" );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"W\":\n\t\t\tcase \"F\":\n\n\t\t\t\t// number l=1:{1}.\n\t\t\t\toneDigitIfLengthOne();\n\t\t\t\tbreak;\n\n\t\t\t// Week day\n\t\t\tcase \"e\":\n\t\t\tcase \"c\":\n\n\t\t\t\t// number l=1:{1}, l=2:{2}.\n\t\t\t\t// lookup for length >=3.\n\t\t\t\tif ( length <= 2 ) {\n\t\t\t\t\toneDigitIfLengthOne() || twoDigitsIfLengthTwo();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"E\":\n\t\t\t\tif ( length === 6 ) {\n\n\t\t\t\t\t// Note: if short day names are not explicitly specified, abbreviated day\n\t\t\t\t\t// names are used instead http://www.unicode.org/reports/tr35/tr35-dates.html#months_days_quarters_eras\n\t\t\t\t\tlookup([\n\t\t\t\t\t\t\"gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\t\"short\"\n\t\t\t\t\t]) || lookup([\n\t\t\t\t\t\t\"gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\t\"abbreviated\"\n\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tlookup([\n\t\t\t\t\t\t\"gregorian/days\",\n\t\t\t\t\t\t[ chr === \"c\" ? \"stand-alone\" : \"format\" ],\n\t\t\t\t\t\twidths[ length < 3 ? 0 : length - 3 ]\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// Period (AM or PM)\n\t\t\tcase \"a\":\n\t\t\t\tlookup([\n\t\t\t\t\t\"gregorian/dayPeriods/format/wide\"\n\t\t\t\t]);\n\t\t\t\tbreak;\n\n\t\t\t// Week\n\t\t\tcase \"w\":\n\n\t\t\t\t// number l1:{1,2}, l2:{2}.\n\t\t\t\toneOrTwoDigitsIfLengthOne() || twoDigitsIfLengthTwo();\n\t\t\t\tbreak;\n\n\t\t\t// Day, Hour, Minute, or Second\n\t\t\tcase \"d\":\n\t\t\tcase \"h\":\n\t\t\tcase \"H\":\n\t\t\tcase \"K\":\n\t\t\tcase \"k\":\n\t\t\tcase \"j\":\n\t\t\tcase \"m\":\n\t\t\tcase \"s\":\n\n\t\t\t\t// number l1:{1,2}, l2:{2}.\n\t\t\t\t//\n\t\t\t\t// Lenient parsing:\n\t\t\t\t// - skeleton \"hms\" (i.e., one m) always includes mm for the pattern, i.e., it's\n\t\t\t\t// impossible to use a different skeleton to parse non-zero-padded minutes,\n\t\t\t\t// therefore parser accepts both zero-padded and non-zero-padded for m. Similar\n\t\t\t\t// for seconds s.\n\t\t\t\t// - skeleton \"hms\" (i.e., one h) may include h or hh for the pattern, i.e., it's\n\t\t\t\t// impossible to use a different skeleton to parser non-zero-padded hours for some\n\t\t\t\t// locales, therefore parser accepts both zero-padded and non-zero-padded for h.\n\t\t\t\t// Similar for d (in skeleton yMd).\n\t\t\t\toneOrTwoDigitsIfLengthOneOrTwo();\n\t\t\t\tbreak;\n\n\t\t\tcase \"S\":\n\n\t\t\t\t// number {l}.\n\n\t\t\t\t// Unicode equivalent to /\\d{length}/\n\t\t\t\tnumeric = true;\n\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + length + \"}\" );\n\t\t\t\tbreak;\n\n\t\t\tcase \"A\":\n\n\t\t\t\t// number {l+5}.\n\n\t\t\t\t// Unicode equivalent to /\\d{length+5}/\n\t\t\t\tnumeric = true;\n\t\t\t\ttokenRe = new RegExp( \"^(\" + digitsRe.source + \"){\" + ( length + 5 ) + \"}\" );\n\t\t\t\tbreak;\n\n\t\t\t// Zone\n\t\t\tcase \"v\":\n\t\t\tcase \"V\":\n\t\t\tcase \"z\":\n\t\t\t\tif ( tokenRe && tokenRe.test( value ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif ( chr === \"V\" && length === 2 ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"O\":\n\n\t\t\t\t// O: \"{gmtFormat}+H;{gmtFormat}-H\" or \"{gmtZeroFormat}\", eg. \"GMT-8\" or \"GMT\".\n\t\t\t\t// OOOO: \"{gmtFormat}{hourFormat}\" or \"{gmtZeroFormat}\", eg. \"GMT-08:00\" or \"GMT\".\n\t\t\t\tif ( value === properties[ \"timeZoneNames/gmtZeroFormat\" ] ) {\n\t\t\t\t\ttoken.value = 0;\n\t\t\t\t\ttokenRe = properties[ \"timeZoneNames/gmtZeroFormatRe\" ];\n\t\t\t\t} else {\n\t\t\t\t\taux = properties[ \"timeZoneNames/hourFormat\" ].some(function( hourFormatRe ) {\n\t\t\t\t\t\tif ( hourFormatParse( hourFormatRe, numberParser ) ) {\n\t\t\t\t\t\t\ttokenRe = hourFormatRe;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif ( !aux ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"X\":\n\n\t\t\t\t// Same as x*, except it uses \"Z\" for zero offset.\n\t\t\t\tif ( value === \"Z\" ) {\n\t\t\t\t\ttoken.value = 0;\n\t\t\t\t\ttokenRe = /^Z/;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t/* falls through */\n\t\t\tcase \"x\":\n\n\t\t\t\t// x: hourFormat(\"+HH[mm];-HH[mm]\")\n\t\t\t\t// xx: hourFormat(\"+HHmm;-HHmm\")\n\t\t\t\t// xxx: hourFormat(\"+HH:mm;-HH:mm\")\n\t\t\t\t// xxxx: hourFormat(\"+HHmm[ss];-HHmm[ss]\")\n\t\t\t\t// xxxxx: hourFormat(\"+HH:mm[:ss];-HH:mm[:ss]\")\n\t\t\t\taux = properties.x.some(function( hourFormatRe ) {\n\t\t\t\t\tif ( hourFormatParse( hourFormatRe ) ) {\n\t\t\t\t\t\ttokenRe = hourFormatRe;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif ( !aux ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"'\":\n\t\t\t\ttoken.type = \"literal\";\n\t\t\t\ttokenRe = new RegExp( \"^\" + regexpEscape( removeLiteralQuotes( current ) ) );\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\ttoken.type = \"literal\";\n\t\t\t\ttokenRe = new RegExp( \"^\" + regexpEscape( current ) );\n\t\t}\n\n\t\tif ( !tokenRe ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Get lexeme and consume it.\n\t\tvalue = value.replace( tokenRe, function( lexeme ) {\n\t\t\ttoken.lexeme = lexeme;\n\t\t\tif ( numeric ) {\n\t\t\t\ttoken.value = numberParser( lexeme );\n\t\t\t}\n\t\t\treturn \"\";\n\t\t});\n\n\t\tif ( !token.lexeme ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( numeric && isNaN( token.value ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttokens.push( token );\n\t\treturn true;\n\t});\n\n\tif ( value !== \"\" ) {\n\t\tvalid = false;\n\t}\n\n\treturn valid ? tokens : [];\n};\n\n\n\n\nvar dateParserFn = function( numberParser, parseProperties, tokenizerProperties ) {\n\treturn function dateParser( value ) {\n\t\tvar tokens;\n\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeString( value, \"value\" );\n\n\t\ttokens = dateTokenizer( value, numberParser, tokenizerProperties );\n\t\treturn dateParse( value, tokens, parseProperties ) || null;\n\t};\n};\n\n\n\n\nvar dateToPartsFormatterFn = function( numberFormatters, properties ) {\n\treturn function dateToPartsFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeDate( value, \"value\" );\n\n\t\treturn dateFormat( value, numberFormatters, properties );\n\t};\n\n};\n\n\n\n\nGlobalize._dateFormat = dateFormat;\nGlobalize._dateFormatterFn = dateFormatterFn;\nGlobalize._dateParser = dateParse;\nGlobalize._dateParserFn = dateParserFn;\nGlobalize._dateTokenizer = dateTokenizer;\nGlobalize._dateToPartsFormatterFn = dateToPartsFormatterFn;\nGlobalize._validateParameterTypeDate = validateParameterTypeDate;\n\nfunction optionsHasStyle( options ) {\n\treturn options.skeleton !== undefined ||\n\t\toptions.date !== undefined ||\n\t\toptions.time !== undefined ||\n\t\toptions.datetime !== undefined ||\n\t\toptions.raw !== undefined;\n}\n\nGlobalize.dateFormatter =\nGlobalize.prototype.dateFormatter = function( options ) {\n\toptions = options || {};\n\tif ( !optionsHasStyle( options ) ) {\n\t\toptions.skeleton = \"yMd\";\n\t}\n\treturn Globalize[ runtimeKey( \"dateFormatter\", this._locale, [ options ] ) ];\n};\n\nGlobalize.dateToPartsFormatter =\nGlobalize.prototype.dateToPartsFormatter = function( options ) {\n\toptions = options || {};\n\tif ( !optionsHasStyle( options ) ) {\n\t\toptions.skeleton = \"yMd\";\n\t}\n\treturn Globalize[ runtimeKey( \"dateToPartsFormatter\", this._locale, [ options ] ) ];\n};\n\nGlobalize.dateParser =\nGlobalize.prototype.dateParser = function( options ) {\n\toptions = options || {};\n\tif ( !optionsHasStyle( options ) ) {\n\t\toptions.skeleton = \"yMd\";\n\t}\n\treturn Globalize[ runtimeKey( \"dateParser\", this._locale, [ options ] ) ];\n};\n\nGlobalize.formatDate =\nGlobalize.prototype.formatDate = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeDate( value, \"value\" );\n\n\treturn this.dateFormatter( options )( value );\n};\n\nGlobalize.formatDateToParts =\nGlobalize.prototype.formatDateToParts = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeDate( value, \"value\" );\n\n\treturn this.dateToPartsFormatter( options )( value );\n};\n\nGlobalize.parseDate =\nGlobalize.prototype.parseDate = function( value, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeString( value, \"value\" );\n\n\treturn this.dateParser( options )( value );\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize Runtime v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize Runtime v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t\"use strict\";\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"../globalize-runtime\",\n\t\t\t\"./number\",\n\t\t\t\"./plural\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory(\n\t\t\trequire( \"../globalize-runtime\" ),\n\t\t\trequire( \"./number\" ),\n\t\t\trequire( \"./plural\" )\n\t\t);\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Globalize );\n\t}\n}(this, function( Globalize ) {\n\n\n\nvar formatMessage = Globalize._formatMessage,\n\truntimeKey = Globalize._runtimeKey,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterTypeNumber = Globalize._validateParameterTypeNumber;\n\n\n/**\n * format( value, numberFormatter, pluralGenerator, properties )\n *\n * @value [Number] The number to format\n *\n * @numberFormatter [String] A numberFormatter from Globalize.numberFormatter\n *\n * @pluralGenerator [String] A pluralGenerator from Globalize.pluralGenerator\n *\n * @properties [Object] containing relative time plural message.\n *\n * Format relative time.\n */\nvar relativeTimeFormat = function( value, numberFormatter, pluralGenerator, properties ) {\n\n\tvar relativeTime,\n\t\tmessage = properties[ \"relative-type-\" + value ];\n\n\tif ( message ) {\n\t\treturn message;\n\t}\n\n\trelativeTime = value <= 0 ? properties[ \"relativeTime-type-past\" ] :\n\t\tproperties[ \"relativeTime-type-future\" ];\n\n\tvalue = Math.abs( value );\n\n\tmessage = relativeTime[ \"relativeTimePattern-count-\" + pluralGenerator( value ) ];\n\treturn formatMessage( message, [ numberFormatter( value ) ] );\n};\n\n\n\n\nvar relativeTimeFormatterFn = function( numberFormatter, pluralGenerator, properties ) {\n\treturn function relativeTimeFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn relativeTimeFormat( value, numberFormatter, pluralGenerator, properties );\n\t};\n\n};\n\n\n\n\nGlobalize._relativeTimeFormatterFn = relativeTimeFormatterFn;\n\nGlobalize.formatRelativeTime =\nGlobalize.prototype.formatRelativeTime = function( value, unit, options ) {\n\tvalidateParameterPresence( value, \"value\" );\n\tvalidateParameterTypeNumber( value, \"value\" );\n\n\treturn this.relativeTimeFormatter( unit, options )( value );\n};\n\nGlobalize.relativeTimeFormatter =\nGlobalize.prototype.relativeTimeFormatter = function( unit, options ) {\n\toptions = options || {};\n\treturn Globalize[ runtimeKey( \"relativeTimeFormatter\", this._locale, [ unit, options ] ) ];\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","/**\n * Globalize Runtime v1.7.0\n *\n * https://github.com/globalizejs/globalize\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-08-02T11:53Z\n */\n/*!\n * Globalize Runtime v1.7.0 2021-08-02T11:53Z Released under the MIT license\n * http://git.io/TrdQbw\n */\n(function( root, factory ) {\n\n\t\"use strict\";\n\n\t// UMD returnExports\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD\n\t\tdefine([\n\t\t\t\"../globalize-runtime\",\n\t\t\t\"./number\",\n\t\t\t\"./plural\"\n\t\t], factory );\n\t} else if ( typeof exports === \"object\" ) {\n\n\t\t// Node, CommonJS\n\t\tmodule.exports = factory(\n\t\t\trequire( \"../globalize-runtime\" ),\n\t\t\trequire( \"./number\" ),\n\t\t\trequire( \"./plural\" )\n\t\t);\n\t} else {\n\n\t\t// Extend global\n\t\tfactory( root.Globalize );\n\t}\n}(this, function( Globalize ) {\n\n\n\nvar formatMessage = Globalize._formatMessage,\n\truntimeKey = Globalize._runtimeKey,\n\tvalidateParameterPresence = Globalize._validateParameterPresence,\n\tvalidateParameterTypeNumber = Globalize._validateParameterTypeNumber;\n\n\n/**\n * format( value, numberFormatter, pluralGenerator, unitProperies )\n *\n * @value [Number]\n *\n * @numberFormatter [Object]: A numberFormatter from Globalize.numberFormatter.\n *\n * @pluralGenerator [Object]: A pluralGenerator from Globalize.pluralGenerator.\n *\n * @unitProperies [Object]: localized unit data from cldr.\n *\n * Format units such as seconds, minutes, days, weeks, etc.\n *\n * OBS:\n *\n * Unit Sequences are not implemented.\n * http://www.unicode.org/reports/tr35/tr35-35/tr35-general.html#Unit_Sequences\n *\n * Duration Unit (for composed time unit durations) is not implemented.\n * http://www.unicode.org/reports/tr35/tr35-35/tr35-general.html#durationUnit\n */\nvar unitFormat = function( value, numberFormatter, pluralGenerator, unitProperties ) {\n\tvar compoundUnitPattern = unitProperties.compoundUnitPattern, dividend, dividendProperties,\n\t\tformattedValue, divisor, divisorProperties, message, pluralValue, oneProperty;\n\n\tunitProperties = unitProperties.unitProperties;\n\tformattedValue = numberFormatter( value );\n\tpluralValue = pluralGenerator( value );\n\n\t// computed compound unit, eg. \"megabyte-per-second\".\n\tif ( unitProperties instanceof Array ) {\n\t\tdividendProperties = unitProperties[ 0 ];\n\t\tdivisorProperties = unitProperties[ 1 ];\n\t\toneProperty = divisorProperties.hasOwnProperty( \"one\" ) ? \"one\" : \"other\";\n\n\t\tdividend = formatMessage( dividendProperties[ pluralValue ], [ formattedValue ] );\n\t\tdivisor = formatMessage( divisorProperties[ oneProperty ], [ \"\" ] ).trim();\n\n\t\treturn formatMessage( compoundUnitPattern, [ dividend, divisor ] );\n\t}\n\n\tmessage = unitProperties[ pluralValue ];\n\n\treturn formatMessage( message, [ formattedValue ] );\n};\n\n\n\n\nvar unitFormatterFn = function( numberFormatter, pluralGenerator, unitProperties ) {\n\treturn function unitFormatter( value ) {\n\t\tvalidateParameterPresence( value, \"value\" );\n\t\tvalidateParameterTypeNumber( value, \"value\" );\n\n\t\treturn unitFormat( value, numberFormatter, pluralGenerator, unitProperties );\n\t};\n\n};\n\n\n\n\nGlobalize._unitFormatterFn = unitFormatterFn;\n\nGlobalize.formatUnit =\nGlobalize.prototype.formatUnit = function( value, unit, options ) {\n\treturn this.unitFormatter( unit, options )( value );\n};\n\nGlobalize.unitFormatter =\nGlobalize.prototype.unitFormatter = function( unit, options ) {\n\toptions = options || {};\n\treturn Globalize[ runtimeKey( \"unitFormatter\", this._locale, [ unit, options ] ) ];\n};\n\nreturn Globalize;\n\n\n\n\n}));\n","import AdaptiveCardsStyleOptions from './AdaptiveCardsStyleOptions';\n\nconst ADAPTIVE_CARDS_DEFAULT_STYLE_OPTIONS: Required<AdaptiveCardsStyleOptions> = {\n adaptiveCardsParserMaxVersion: undefined,\n cardEmphasisBackgroundColor: '#F9F9F9',\n cardPushButtonBackgroundColor: '#0063B1',\n cardPushButtonTextColor: 'White',\n richCardWrapTitle: false\n};\n\nexport default ADAPTIVE_CARDS_DEFAULT_STYLE_OPTIONS;\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\n}\n\nmodule.exports = _readOnlyError;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import QueuedUtterance from './QueuedUtterance';\n\nexport default function createSynthesize() {\n let queueWithCurrent = [];\n let running;\n\n const run = async () => {\n if (running) {\n return;\n }\n\n running = true;\n\n try {\n let queuedUtterance;\n\n while ((queuedUtterance = queueWithCurrent[0])) {\n try {\n await queuedUtterance.speak();\n } catch (err) {\n // TODO: If the error is due to Safari restriction on user touch\n // The next loop on the next audio will also fail because it was not queued with a user touch\n\n err.message !== 'cancelled' && console.error(err);\n }\n\n queueWithCurrent = queueWithCurrent.filter(target => target !== queuedUtterance);\n }\n } finally {\n running = false;\n }\n }\n\n return (ponyfill, utterance, { onEnd, onError, onStart } = {}) => {\n if (!(utterance instanceof ponyfill.SpeechSynthesisUtterance)) {\n throw new Error('utterance must be instance of the ponyfill');\n }\n\n const queuedUtterance = new QueuedUtterance(ponyfill, utterance, { onEnd, onError, onStart });\n\n queueWithCurrent = [...queueWithCurrent, queuedUtterance];\n run();\n\n return {\n // The cancel() function returns a Promise\n cancel: () => queuedUtterance.cancel(),\n promise: queuedUtterance.promise\n };\n };\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import createCustomEvent from './createCustomEvent';\nimport createDeferred from './createDeferred';\nimport createErrorEvent from './createErrorEvent';\n\nasync function speakUtterance(ponyfill, utterance, startCallback) {\n const { speechSynthesis } = ponyfill;\n\n const startDeferred = createDeferred();\n const errorDeferred = createDeferred();\n const endDeferred = createDeferred();\n\n utterance.addEventListener('end', endDeferred.resolve);\n utterance.addEventListener('error', errorDeferred.resolve);\n utterance.addEventListener('start', startDeferred.resolve);\n\n // if (speechSynthesis.speaking) {\n // console.warn(`ASSERTION: speechSynthesis.speaking should not be truthy before we call speak`);\n // }\n\n speechSynthesis.speak(utterance);\n\n const startEvent = await Promise.race([\n errorDeferred.promise,\n startDeferred.promise\n ]);\n\n if (startEvent.type === 'error') {\n throw startEvent.error;\n }\n\n let finishedSpeaking;\n const endPromise = Promise.race([\n errorDeferred.promise,\n endDeferred.promise\n ]);\n\n startCallback && startCallback(async () => {\n if (!finishedSpeaking) {\n speechSynthesis.cancel();\n await endPromise;\n }\n });\n\n const endEvent = await endPromise;\n\n finishedSpeaking = true;\n\n // if (speechSynthesis.speaking) {\n // console.warn(`ASSERTION: speechSynthesis.speaking should not be truthy after speak is stopped`);\n // }\n\n // console.debug(`ENDED: ${ utterance.text }`);\n\n if (endEvent.type === 'error') {\n throw endEvent.error;\n }\n}\n\nexport default class QueuedUtterance {\n constructor(ponyfill, utterance, { onEnd, onError, onStart }) {\n this._cancelled = false;\n this._deferred = createDeferred();\n this._onEnd = onEnd;\n this._onError = onError;\n this._onStart = onStart;\n this._ponyfill = ponyfill;\n this._speaking = false;\n this._utterance = utterance;\n\n this.promise = this._deferred.promise;\n }\n\n async cancel() {\n this._cancelled = true;\n this._cancel && await this._cancel();\n }\n\n speak() {\n if (this._speaking) {\n console.warn(`ASSERTION: QueuedUtterance is already speaking or has spoken.`);\n }\n\n this._speaking = true;\n\n (async () => {\n if (this._cancelled) {\n throw new Error('cancelled');\n }\n\n await speakUtterance(this._ponyfill, this._utterance, cancel => {\n if (this._cancelled) {\n cancel();\n\n throw new Error('cancelled');\n } else {\n this._cancel = cancel;\n this._onStart && this._onStart(createCustomEvent('start'));\n }\n });\n\n if (this._cancelled) {\n throw new Error('cancelled');\n }\n })().then(() => {\n this._onEnd && this._onEnd(createCustomEvent('end'));\n this._deferred.resolve();\n }, error => {\n this._onError && this._onError(createErrorEvent(error));\n this._deferred.reject(error);\n });\n\n return this.promise;\n }\n}\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","export default function createDeferred() {\n let reject, resolve;\n\n const promise = new Promise((promiseResolve, promiseReject) => {\n reject = promiseReject;\n resolve = promiseResolve;\n });\n\n if (!reject || !resolve) {\n throw new Error('Promise is not a ES-compliant and do not run exector immediately');\n }\n\n return { promise, reject, resolve };\n}\n","import useImmediateEffect from './useImmediateEffect';\n\nexport default function useEvent(target, name, listener, options) {\n useImmediateEffect(() => {\n const handler = event => listener && listener(event);\n\n target.addEventListener(name, handler, options);\n\n return () => {\n // It seems speechSynthesis.onvoiceschanged still fire after we called removeEventListener.\n // We are protecting this scenario by setting listener to falsy.\n listener = null;\n target.removeEventListener(name, handler, options);\n };\n }, [listener, name, options, target]);\n}\n","import { useEffect, useRef } from 'react';\n\nexport default function useImmediateEffect(fn, deps) {\n const unsubscribeRef = useRef({\n first: true,\n id: Math.random().toString(36).substr(2, 5),\n unsubscribe: fn()\n });\n\n useEffect(() => {\n const { current } = unsubscribeRef;\n\n if (!current.first) {\n current.unsubscribe = fn();\n } else {\n current.first = false;\n }\n\n return () => {\n current.unsubscribe && current.unsubscribe();\n current.unsubscribe = null;\n };\n }, deps);\n}\n","import { useContext } from 'react';\n\nimport Context from './Context';\nimport createNativeUtterance from './createNativeUtterance';\n\nexport default function useSynthesize() {\n const { ponyfill, synthesize } = useContext(Context);\n\n return (utteranceOrText, progressFn) => {\n if (typeof utteranceOrText === 'string') {\n utteranceOrText = createNativeUtterance(ponyfill, { text: utteranceOrText });\n }\n\n return synthesize(ponyfill, utteranceOrText, { onStart: progressFn && (() => progressFn()) });\n };\n}\n","export default function createActivitiesStyle() {\n return {\n margin: 0,\n padding: 0\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function AudioAttachment({ avatarSize }: StrictStyleOptions) {\n return {\n // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n display: 'flex',\n minHeight: avatarSize\n };\n}\n","export default function AudioContent() {\n return {\n width: '100%'\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function AutoResizeTextArea({ primaryFont }: StrictStyleOptions) {\n return {\n '&.webchat__auto-resize-textarea': {\n fontFamily: primaryFont,\n overflow: 'hidden',\n position: 'relative',\n\n '& .webchat__auto-resize-textarea__doppelganger': {\n color: 'transparent',\n height: '100%',\n overflowY: 'auto',\n userSelect: 'none',\n width: 'inherit',\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word'\n },\n\n '& .webchat__auto-resize-textarea__textarea': {\n appearance: 'none' /* Prevent browser styling */,\n backgroundColor: 'transparent',\n border: 0,\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n height: '100%',\n left: 0,\n margin: 0,\n outline: 0,\n overflowY: 'auto',\n padding: 0,\n position: 'absolute',\n resize: 'none' /* Hides the textarea resizing handle (on lower-right hand corner) */,\n top: 0,\n width: '100%',\n wordBreak: 'break-word'\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createAvatarStyle({ avatarBorderRadius, avatarSize }: StrictStyleOptions) {\n return {\n '&.webchat__defaultAvatar': {\n borderRadius: avatarBorderRadius,\n height: avatarSize,\n width: avatarSize\n }\n };\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2] }] */\n\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createBasicTranscriptStyleSet({\n paddingRegular,\n primaryFont,\n transcriptActivityVisualKeyboardIndicatorColor,\n transcriptActivityVisualKeyboardIndicatorStyle,\n transcriptActivityVisualKeyboardIndicatorWidth,\n transcriptTerminatorBackgroundColor,\n transcriptTerminatorBorderRadius,\n transcriptTerminatorColor,\n transcriptTerminatorFontSize,\n transcriptVisualKeyboardIndicatorColor,\n transcriptVisualKeyboardIndicatorStyle,\n transcriptVisualKeyboardIndicatorWidth\n}: StrictStyleOptions) {\n return {\n '&.webchat__basic-transcript': {\n '&:focus': {\n outline: 0,\n\n '& .webchat__basic-transcript__activity-indicator.webchat__basic-transcript__activity-indicator--focus': {\n borderColor: transcriptActivityVisualKeyboardIndicatorColor,\n borderStyle: transcriptActivityVisualKeyboardIndicatorStyle,\n borderWidth: transcriptActivityVisualKeyboardIndicatorWidth,\n boxSizing: 'border-box',\n height: `calc(100% - ${paddingRegular / 2}px)`,\n left: 0,\n marginBottom: 0,\n marginLeft: paddingRegular / 2,\n marginRight: paddingRegular / 2,\n marginTop: 0,\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n width: `calc(100% - ${paddingRegular}px)`\n }\n },\n\n '&:focus .webchat__basic-transcript__focus-indicator, .webchat__basic-transcript__terminator:focus + .webchat__basic-transcript__focus-indicator':\n {\n height: '100%',\n borderColor: transcriptVisualKeyboardIndicatorColor,\n borderStyle: transcriptVisualKeyboardIndicatorStyle,\n borderWidth: transcriptVisualKeyboardIndicatorWidth,\n boxSizing: 'border-box',\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n width: '100%'\n },\n\n '& .webchat__basic-transcript__activity': {\n paddingTop: paddingRegular / 2,\n position: 'relative',\n\n '&:first-child': {\n marginTop: paddingRegular / 2\n },\n\n '&:not(:first-child)': {\n marginTop: -paddingRegular / 2\n }\n },\n\n // When the activity is focused as active descendant, `scrollIntoView()` will scroll this invisible <div> into view.\n '& .webchat__basic-transcript__activity-active-descendant': {\n height: '100%',\n left: 0,\n marginTop: -paddingRegular / 2,\n paddingBottom: paddingRegular / 2,\n // The bounding box is expanded to both top and bottom to scroll focus indicator into view.\n // We should ignore clicks to make sure this expansion don't register click as focus.\n // Otherwise, when clicking on the very bottom edge of the activity, it will focus on next activity instead.\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n width: '100%'\n },\n\n '& .webchat__basic-transcript__activity-body:not(:empty)': {\n paddingBottom: paddingRegular\n },\n\n '& .webchat__basic-transcript__terminator': {\n bottom: 0,\n height: 0,\n outline: 0,\n position: 'relative',\n width: '100%'\n },\n\n '& .webchat__basic-transcript__terminator-body': {\n bottom: 0,\n display: 'flex',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%'\n },\n\n '& .webchat__basic-transcript__terminator:not(:focus) .webchat__basic-transcript__terminator-body': {\n display: 'none'\n },\n\n '& .webchat__basic-transcript__terminator-text': {\n backgroundColor: transcriptTerminatorBackgroundColor,\n borderRadius: transcriptTerminatorBorderRadius,\n color: transcriptTerminatorColor,\n fontFamily: primaryFont,\n fontSize: transcriptTerminatorFontSize,\n margin: paddingRegular / 2,\n padding: paddingRegular / 2\n }\n }\n };\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2] }] */\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nimport mirrorStyle from '../mirrorStyle';\n\nexport default function createBubbleStyle({\n bubbleBackground,\n bubbleBorderColor,\n bubbleBorderRadius,\n bubbleBorderStyle,\n bubbleBorderWidth,\n bubbleFromUserBackground,\n bubbleFromUserBorderColor,\n bubbleFromUserBorderRadius,\n bubbleFromUserBorderStyle,\n bubbleFromUserBorderWidth,\n bubbleFromUserNubOffset,\n bubbleFromUserNubSize,\n bubbleFromUserTextColor,\n bubbleMinHeight,\n bubbleNubOffset,\n bubbleNubSize,\n bubbleTextColor,\n messageActivityWordBreak,\n paddingRegular,\n transitionDuration\n}: StrictStyleOptions) {\n const botNubCornerRadius =\n typeof bubbleNubOffset === 'number' ? Math.min(bubbleBorderRadius, Math.abs(bubbleNubOffset)) : bubbleBorderRadius;\n const userNubCornerRadius =\n typeof bubbleFromUserNubOffset === 'number'\n ? Math.min(bubbleFromUserBorderRadius, Math.abs(bubbleFromUserNubOffset))\n : bubbleFromUserBorderRadius;\n\n return {\n '&.webchat__bubble': {\n '& .webchat__bubble__content': {\n marginLeft: 0,\n marginRight: 0,\n transitionDuration,\n transitionProperty: 'margin-left, margin-right',\n wordBreak: messageActivityWordBreak\n },\n\n '& .webchat__bubble__nub': {\n overflow: 'hidden', // This style is for IE11 because it doesn't respect SVG viewport\n position: 'absolute'\n },\n\n '& .webchat__bubble__nub-pad': {\n transitionDuration,\n transitionProperty: 'width',\n width: 0\n },\n\n '&.webchat__bubble--hide-nub, &.webchat__bubble--show-nub': {\n '& .webchat__bubble__nub-pad': {\n width: paddingRegular\n }\n },\n\n '&.webchat__bubble--rtl .webchat__bubble__nub': {\n transform: 'scale(-1, 1)'\n },\n\n '&:not(.webchat__bubble--from-user)': {\n '& .webchat__bubble__content': {\n background: bubbleBackground,\n borderColor: bubbleBorderColor,\n borderRadius: bubbleBorderRadius,\n borderStyle: bubbleBorderStyle,\n borderWidth: bubbleBorderWidth,\n color: bubbleTextColor,\n minHeight: bubbleMinHeight - bubbleBorderWidth * 2\n },\n\n ...(typeof bubbleNubSize === 'number'\n ? {\n '& .webchat__bubble__nub': {\n height: bubbleNubSize,\n width: bubbleNubSize\n }\n }\n : {}),\n\n '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__nub': {\n bottom: -bubbleNubOffset\n },\n\n '&.webchat__bubble--nub-on-top .webchat__bubble__nub': {\n top: bubbleNubOffset\n },\n\n '& .webchat__bubble__nub-outline': {\n fill: bubbleBackground,\n stroke: bubbleBorderColor,\n strokeWidth: bubbleBorderWidth\n }\n },\n\n '&.webchat__bubble--from-user': {\n flexDirection: 'row-reverse',\n\n '& .webchat__bubble__content': {\n background: bubbleFromUserBackground,\n borderColor: bubbleFromUserBorderColor,\n borderRadius: bubbleFromUserBorderRadius,\n borderStyle: bubbleFromUserBorderStyle,\n borderWidth: bubbleFromUserBorderWidth,\n color: bubbleFromUserTextColor,\n minHeight: bubbleMinHeight - bubbleFromUserBorderWidth * 2\n },\n\n ...(typeof bubbleFromUserNubSize === 'number'\n ? {\n '& .webchat__bubble__nub': {\n height: bubbleFromUserNubSize,\n width: bubbleFromUserNubSize\n }\n }\n : {}),\n\n '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__nub': {\n bottom: -bubbleFromUserNubOffset\n },\n\n '&.webchat__bubble--nub-on-top .webchat__bubble__nub': {\n top: bubbleFromUserNubOffset\n },\n\n '& .webchat__bubble__nub-outline': {\n fill: bubbleFromUserBackground,\n stroke: bubbleFromUserBorderColor,\n strokeWidth: bubbleFromUserBorderWidth\n }\n },\n\n ...mirrorStyle('&.webchat__bubble--rtl', {\n '&:not(.webchat__bubble--from-user)': {\n '&.webchat__bubble--show-nub': {\n // Hide border radius if there is a nub on the top/bottom left corner\n '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__content': {\n borderBottomLeftRadius: botNubCornerRadius\n },\n\n '&.webchat__bubble--nub-on-top .webchat__bubble__content': {\n borderTopLeftRadius: botNubCornerRadius\n }\n },\n\n ...(typeof bubbleNubSize === 'number'\n ? {\n '& .webchat__bubble__nub': { left: bubbleBorderWidth - bubbleNubSize + paddingRegular }\n }\n : {})\n },\n\n '&.webchat__bubble--from-user': {\n '&.webchat__bubble--show-nub': {\n // Hide border radius if there is a nub on the top/bottom right corner\n '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__content': {\n borderBottomRightRadius: userNubCornerRadius\n },\n\n '&.webchat__bubble--nub-on-top .webchat__bubble__content': {\n borderTopRightRadius: userNubCornerRadius\n }\n },\n\n ...(typeof bubbleFromUserNubSize === 'number'\n ? {\n '& .webchat__bubble__nub': { right: bubbleFromUserBorderWidth - bubbleFromUserNubSize + paddingRegular }\n }\n : {})\n }\n })\n }\n };\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2] }] */\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nimport mirrorStyle from '../mirrorStyle';\n\nexport default function CarouselFilmStrip({\n avatarSize,\n bubbleMaxWidth,\n paddingRegular,\n transitionDuration\n}: StrictStyleOptions) {\n return {\n '&.webchat__carousel-filmstrip': {\n // Browser quirks: Firefox has no way to hide scrollbar and while keeping it in function\n // https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\n '@supports (-moz-appearance: none)': {\n marginBottom: -17\n },\n\n '& .webchat__carousel-filmstrip__message': {\n maxWidth: bubbleMaxWidth,\n transitionDuration,\n transitionProperty: 'max-width'\n },\n\n '&.webchat__carousel-filmstrip--hide-nub, &.webchat__carousel-filmstrip--show-nub, &.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar':\n {\n '& .webchat__carousel-filmstrip__message': {\n maxWidth: bubbleMaxWidth + paddingRegular\n }\n },\n\n '& .webchat__carousel-filmstrip__alignment-pad': {\n transitionDuration,\n transitionProperty: 'width',\n width: paddingRegular\n },\n\n '&.webchat__carousel-filmstrip--extra-trailing .webchat__carousel-filmstrip__alignment-pad': {\n width: paddingRegular * 2\n },\n\n '&:not(.webchat__carousel-filmstrip--no-message) .webchat__carousel-filmstrip__attachments': {\n marginTop: paddingRegular\n },\n\n '& .webchat__carousel-filmstrip__avatar-gutter': {\n alignItems: 'flex-end',\n transitionDuration,\n transitionProperty: 'width'\n },\n\n '& .webchat__carousel-filmstrip__nub-pad': {\n transitionDuration,\n transitionProperty: 'width',\n width: 0\n },\n\n '&.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar': {\n '& .webchat__carousel-filmstrip__avatar-gutter': {\n width: avatarSize\n }\n },\n\n '&.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar, &.webchat__carousel-filmstrip--hide-nub, &.webchat__carousel-filmstrip--show-nub':\n {\n '& .webchat__carousel-filmstrip__nub-pad': {\n width: paddingRegular\n }\n },\n\n '&:not(.webchat__carousel-filmstrip--top-callout) .webchat__carousel-filmstrip__avatar-gutter': {\n justifyContent: 'flex-end'\n },\n\n ...mirrorStyle('&.webchat__carousel-filmstrip--rtl', {\n '& .webchat__carousel-filmstrip__avatar-gutter': {\n marginLeft: paddingRegular\n },\n\n '& .webchat__carousel-filmstrip__attachments': {\n marginLeft: -paddingRegular\n },\n\n '&.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar': {\n '& .webchat__carousel-filmstrip__attachments': {\n marginLeft: -(avatarSize + paddingRegular * 2)\n }\n },\n\n '&.webchat__carousel-filmstrip--hide-nub, &.webchat__carousel-filmstrip--show-nub': {\n '&:not(.webchat__carousel-filmstrip--hide-avatar.webchat__carousel-filmstrip--show-avatar)': {\n '& .webchat__carousel-filmstrip__attachments': {\n marginLeft: -paddingRegular * 2\n }\n }\n }\n })\n }\n };\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2] }] */\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nimport mirrorStyle from '../mirrorStyle';\n\nexport default function CarouselFilmStripAttachment({\n avatarSize,\n bubbleMaxWidth,\n bubbleMinWidth,\n paddingRegular,\n transcriptVisualKeyboardIndicatorColor,\n transcriptVisualKeyboardIndicatorStyle,\n transcriptVisualKeyboardIndicatorWidth,\n transitionDuration\n}: StrictStyleOptions) {\n return {\n '&.webchat__carousel-filmstrip-attachment': {\n minWidth: bubbleMinWidth,\n maxWidth: bubbleMaxWidth,\n transitionDuration,\n transitionProperty: 'max-width, min-width',\n\n '&:focus': {\n outline: 0\n },\n\n '&:focus .webchat__carousel-filmstrip-attachment--focus': {\n borderColor: transcriptVisualKeyboardIndicatorColor,\n borderStyle: transcriptVisualKeyboardIndicatorStyle,\n borderWidth: transcriptVisualKeyboardIndicatorWidth,\n boxSizing: 'border-box',\n height: `calc(100% - ${transcriptVisualKeyboardIndicatorWidth}px)`,\n left: 0,\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n width: `calc(100% - ${transcriptVisualKeyboardIndicatorWidth}px)`\n }\n },\n ...mirrorStyle('&.webchat__carousel-filmstrip-attachment--rtl', {\n paddingLeft: paddingRegular,\n\n '&.webchat__carousel-filmstrip-attachment--hide-avatar, &.webchat__carousel-filmstrip-attachment--show-avatar': {\n '&:first-child': {\n paddingLeft: avatarSize + paddingRegular * 2\n }\n },\n\n '&.webchat__carousel-filmstrip-attachment--hide-nub, &.webchat__carousel-filmstrip-attachment--show-nub': {\n '&:not(.webchat__carousel-filmstrip-attachment--hide-avatar.webchat__carousel-filmstrip-attachment--show-avatar):first-child':\n {\n paddingLeft: paddingRegular * 2\n }\n }\n })\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function CarouselFlipper({\n transcriptOverlayButtonBackground,\n transcriptOverlayButtonBackgroundOnDisabled,\n transcriptOverlayButtonBackgroundOnFocus,\n transcriptOverlayButtonBackgroundOnHover,\n transcriptOverlayButtonColor,\n transcriptOverlayButtonColorOnDisabled,\n transcriptOverlayButtonColorOnFocus,\n transcriptOverlayButtonColorOnHover\n}: StrictStyleOptions) {\n return {\n '&.webchat__carousel-layout': {\n '& .react-film__flipper': {\n '& .react-film__flipper__body': {\n backgroundColor: transcriptOverlayButtonBackground,\n color: transcriptOverlayButtonColor,\n outline: 0\n },\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n '& .react-film__flipper__body': {\n backgroundColor: transcriptOverlayButtonBackgroundOnDisabled,\n color: transcriptOverlayButtonColorOnDisabled\n }\n },\n\n '&:focus .react-film__flipper__body': {\n backgroundColor: transcriptOverlayButtonBackgroundOnFocus,\n color: transcriptOverlayButtonColorOnFocus || transcriptOverlayButtonColor\n },\n\n '&:hover .react-film__flipper__body': {\n backgroundColor: transcriptOverlayButtonBackgroundOnHover,\n color: transcriptOverlayButtonColorOnHover || transcriptOverlayButtonColor\n }\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function ConnectivityNotification({\n connectivityMarginLeftRight,\n connectivityMarginTopBottom,\n connectivityTextSize,\n notificationText,\n primaryFont\n}: StrictStyleOptions) {\n return {\n alignItems: 'center',\n color: notificationText,\n // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n display: 'flex',\n fontFamily: primaryFont,\n fontSize: connectivityTextSize,\n marginBottom: connectivityMarginTopBottom,\n marginLeft: connectivityMarginLeftRight,\n marginRight: connectivityMarginLeftRight,\n marginTop: connectivityMarginTopBottom\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createDictationInterimsStyle({ paddingRegular, primaryFont }: StrictStyleOptions) {\n return {\n fontFamily: primaryFont,\n margin: 0,\n paddingBottom: 0,\n paddingLeft: paddingRegular,\n paddingRight: paddingRegular,\n paddingTop: 0,\n\n '&.dictating > span:not(:first-child), &.status': {\n opacity: 0.5\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createErrorBoxStyle({ monospaceFont, primaryFont }: StrictStyleOptions) {\n return {\n // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n display: 'flex',\n flexDirection: 'column',\n fontFamily: primaryFont,\n margin: 0,\n minHeight: 20,\n maxHeight: 200,\n overflowY: 'auto',\n WebkitOverflowScrolling: 'touch',\n\n '& > :first-child': {\n backgroundColor: '#EF0000',\n color: 'White',\n padding: '5px 10px'\n },\n\n '& > :last-child': {\n borderColor: '#EF0000',\n borderStyle: 'dashed',\n borderBottomWidth: 2,\n borderLeftWidth: 2,\n borderRightWidth: 2,\n borderTopWidth: 0,\n margin: 0,\n overflowY: 'auto',\n padding: 10,\n\n '& > pre': {\n fontFamily: monospaceFont,\n fontSize: '60%',\n margin: 0\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createErrorNotificationStyle({\n connectivityIconPadding,\n connectivityMarginLeftRight,\n connectivityMarginTopBottom,\n connectivityTextSize,\n failedConnectivity,\n primaryFont\n}: StrictStyleOptions) {\n return {\n alignItems: 'center',\n color: failedConnectivity,\n display: 'flex',\n fontFamily: primaryFont,\n fontSize: connectivityTextSize,\n fontWeight: 'bold',\n marginBottom: connectivityMarginTopBottom,\n marginLeft: connectivityMarginLeftRight,\n marginRight: connectivityMarginLeftRight,\n marginTop: connectivityMarginTopBottom,\n\n '& > svg': {\n fill: failedConnectivity,\n\n '&:not(.webchat__error--rtl)': {\n paddingRight: connectivityIconPadding\n },\n\n '&.webchat__error--rtl': {\n paddingLeft: connectivityIconPadding\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createFileContentStyle({\n accent,\n bubbleTextColor,\n paddingRegular,\n primaryFont\n}: StrictStyleOptions) {\n return {\n color: bubbleTextColor,\n display: 'flex',\n fontFamily: primaryFont,\n padding: paddingRegular,\n\n '& .webchat__fileContent__badge': {\n justifyContent: 'center'\n },\n\n '& .webchat__fileContent__buttonLink': {\n alignItems: 'center',\n color: bubbleTextColor,\n textDecoration: 'none',\n\n '&:focus': {\n backgroundColor: 'rgba(0, 0, 0, .1)'\n }\n },\n\n '& .webchat__fileContent__downloadIcon': {\n fill: accent,\n padding: paddingRegular,\n\n '&:not(.webchat__fileContent__downloadIcon--rtl)': {\n marginLeft: paddingRegular\n },\n\n '&.webchat__fileContent__downloadIcon--rtl': {\n marginRight: paddingRegular\n }\n },\n '& .webchat__fileContent__fileName': {\n color: accent\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createImageAvatarStyle({ avatarSize }: StrictStyleOptions) {\n return {\n height: avatarSize,\n overflow: 'hidden',\n width: avatarSize\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createInitialsAvatarStyle({\n accent,\n avatarSize,\n botAvatarBackgroundColor,\n primaryFont,\n userAvatarBackgroundColor\n}: StrictStyleOptions) {\n return {\n '&.webchat__initialsAvatar': {\n alignItems: 'center',\n color: 'White',\n fontFamily: primaryFont,\n height: avatarSize,\n justifyContent: 'center',\n overflow: 'hidden',\n width: avatarSize,\n\n '&.webchat__initialsAvatar--fromUser': {\n backgroundColor: userAvatarBackgroundColor || accent\n },\n\n '&:not(.webchat__initialsAvatar--fromUser)': {\n backgroundColor: botAvatarBackgroundColor || accent\n }\n }\n };\n}\n","// Numbers are commonly used in CSS.\n/* eslint-disable no-magic-numbers */\n\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nconst DARK_THEME_SELECTOR = '@media (forced-colors: none) and (prefers-color-scheme: dark)';\nconst LIGHT_THEME_SELECTOR = '@media (forced-colors: none) and (prefers-color-scheme: light)';\nconst FORCED_COLORS_SELECTOR = '@media (forced-colors: active)';\n\nexport default function createKeyboardHelpStyleSet({ paddingRegular, primaryFont }: StrictStyleOptions) {\n return {\n '&.webchat__keyboard-help': {\n fontFamily: primaryFont,\n fontSize: 14,\n height: '100%',\n outline: 0,\n overflow: 'hidden',\n\n '&:not(.webchat__keyboard-help--shown)': {\n height: 0,\n margin: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n width: 0\n },\n\n '& .webchat__keyboard-help__border': {\n boxSizing: 'border-box',\n height: '100%',\n padding: paddingRegular\n },\n\n '& .webchat__keyboard-help__box': {\n // From Power BI:\n // boxShadow: '0 6.4px 14.4px rgb(0 0 0 / 13%), 0 1.2px 3.6px rgb(0 0 0 / 11%)',\n // From Fluent (depth-16 for teaching callouts):\n borderRadius: 2,\n boxShadow: '0px 8px 16px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12)',\n height: '100%',\n overflow: 'hidden',\n\n [FORCED_COLORS_SELECTOR]: {\n backgroundColor: 'Canvas',\n boxShadow: 'none',\n outlineColor: 'ButtonBorder',\n outlineStyle: 'solid',\n outlineWidth: 4\n },\n\n [DARK_THEME_SELECTOR]: {\n backgroundColor: 'Black',\n boxShadow: '0px 8px 16px rgba(0, 0, 0, 0.28), 0px 0px 2px rgba(0, 0, 0, 0.24)'\n }\n },\n\n '& .webchat__keyboard-help__scrollable': {\n boxSizing: 'border-box',\n height: '100%',\n overflowY: 'auto',\n padding: paddingRegular * 2,\n position: 'relative'\n },\n\n '& .webchat__keyboard-help__close-button': {\n appearance: 'none',\n backgroundColor: 'transparent',\n border: 0,\n outline: 0,\n padding: paddingRegular,\n // We are enlarging the bounding box of close button for scroll into view properly/cosmetically.\n // When TAB key focus on the close button, it is scrolled into view.\n // If the close button is at (10, 10), the `scrollTop` will be 10.\n // We are enlarging the bounding box, so TAB to focus on close button, `scrollTop` will be 0.\n // However, the bounding box enlarged does not means the padding are clickable.\n // We are setting `pointerEvents` to `none` to ignore mouse click on the enlarged bounding box.\n pointerEvents: 'none',\n position: 'absolute',\n right: 0,\n top: 0\n },\n\n '& .webchat__keyboard-help__close-button-border': {\n alignItems: 'center',\n borderRadius: 4,\n borderStyle: 'solid',\n borderWidth: 2,\n color: '#999',\n display: 'flex',\n height: 30,\n justifyContent: 'center',\n // After enlarging the bounding box, we will resume pointer events (i.e. \"click\") inside this element.\n pointerEvents: 'initial',\n width: 30,\n\n [LIGHT_THEME_SELECTOR]: {\n borderColor: 'black',\n\n '&:active': {\n backgroundColor: '#EDEBE9' // neutralLight (gray30)\n },\n\n '&:not(:active):hover': {\n backgroundColor: '#F3F2F1' // neutralLighter (gray20)\n }\n },\n\n [DARK_THEME_SELECTOR]: {\n borderColor: 'white',\n\n '&:active': {\n backgroundColor: '#292827' // neutralLight (gray30)\n },\n\n '&:not(:active):hover': {\n backgroundColor: '#252423' // neutralLight (gray30)\n }\n },\n\n [FORCED_COLORS_SELECTOR]: {\n backgroundColor: 'ButtonFace',\n borderColor: 'ButtonBorder'\n }\n },\n\n '& .webchat__keyboard-help__close-button-image': {\n fill: '#323130', // neutralPrimary (gray160)\n height: 10,\n width: 10,\n\n [FORCED_COLORS_SELECTOR]: {\n fill: 'ButtonText'\n },\n\n [DARK_THEME_SELECTOR]: {\n fill: '#F3F2F1' // neutralPrimary (gray160)\n }\n },\n\n '& .webchat__keyboard-help__header, & .webchat__keyboard-help__sub-header': {\n marginBottom: paddingRegular / 2,\n marginTop: 0\n },\n\n '& .webchat__keyboard-help__section:not(:last-child)': {\n marginBottom: paddingRegular\n },\n\n '& .webchat__keyboard-help__two-panes': {\n alignItems: 'flex-start',\n display: 'flex'\n },\n\n '& .webchat__keyboard-help__image': {\n paddingRight: paddingRegular\n },\n\n '& .webchat__keyboard-help__image--dark, & .webchat__keyboard-help__image--high-contrast': {\n display: 'none'\n },\n\n [FORCED_COLORS_SELECTOR]: {\n '& .webchat__keyboard-help__image--dark, & .webchat__keyboard-help__image--light': {\n display: 'none'\n },\n\n '& .webchat__keyboard-help__image--high-contrast': {\n display: 'unset',\n // \"difference\" will make sure SVG image is properly color in both light and dark high contrast mode.\n mixBlendMode: 'difference'\n }\n },\n\n [DARK_THEME_SELECTOR]: {\n color: '#F3F2F1',\n\n '& .webchat__keyboard-help__image--light': {\n display: 'none'\n },\n\n '& .webchat__keyboard-help__image--dark': {\n display: 'unset'\n }\n },\n\n '& .webchat__keyboard-help__notes': {\n marginBottom: paddingRegular\n },\n\n '& .webchat__keyboard-help__notes-header': {\n margin: 0\n },\n\n '& .webchat__keyboard-help__notes-pane': {\n flexShrink: 10000\n },\n\n '& .webchat__keyboard-help__notes-text': {\n margin: 0\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createMicrophoneButtonStyle({ microphoneButtonColorOnDictate }: StrictStyleOptions) {\n return {\n '&.webchat__microphone-button': {\n '&.webchat__microphone-button--dictating .webchat__microphone-button__button': {\n '&, &:focus, &:hover': {\n '& .webchat__microphone-button__icon': {\n fill: microphoneButtonColorOnDictate\n }\n }\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function ({\n backgroundColor,\n rootHeight: height,\n rootWidth: width,\n rootZIndex: zIndex\n}: StrictStyleOptions) {\n return {\n backgroundColor,\n height,\n width,\n zIndex\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createScrollToEndButtonStyle({\n paddingRegular,\n primaryFont,\n scrollToEndButtonFontSize,\n transcriptOverlayButtonBackground,\n transcriptOverlayButtonBackgroundOnFocus,\n transcriptOverlayButtonBackgroundOnHover,\n transcriptOverlayButtonColor,\n transcriptOverlayButtonColorOnFocus,\n transcriptOverlayButtonColorOnHover\n}: StrictStyleOptions) {\n return {\n '&.webchat__scroll-to-end-button': {\n // TODO: [P3] Can we not to unset borderWidth and outline earlier?\n '@media screen and (forced-colors: active)': {\n borderWidth: 'initial',\n outline: 'initial'\n },\n\n appearance: 'none',\n backgroundColor: transcriptOverlayButtonBackground,\n borderRadius: paddingRegular,\n borderWidth: 0,\n bottom: 5,\n color: transcriptOverlayButtonColor,\n fontFamily: primaryFont,\n fontSize: scrollToEndButtonFontSize,\n outline: 0,\n padding: paddingRegular,\n position: 'absolute',\n zIndex: 1, // We formed a stacking context in the parent container, so we can use \"z-index\" here.\n\n '&:hover': {\n backgroundColor: transcriptOverlayButtonBackgroundOnHover,\n color: transcriptOverlayButtonColorOnHover || transcriptOverlayButtonColor\n },\n\n '&:focus': {\n backgroundColor: transcriptOverlayButtonBackgroundOnFocus,\n color: transcriptOverlayButtonColorOnFocus || transcriptOverlayButtonColor\n },\n\n '&:not(.webchat__scroll-to-end-button--rtl)': {\n right: 20\n },\n\n '&.webchat__scroll-to-end-button--rtl': {\n left: 20\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createSendBoxButtonStyle({\n sendBoxButtonColor,\n sendBoxButtonColorOnActive,\n sendBoxButtonColorOnDisabled,\n sendBoxButtonColorOnFocus,\n sendBoxButtonColorOnHover,\n sendBoxButtonKeyboardFocusIndicatorBorderColor,\n sendBoxButtonKeyboardFocusIndicatorBorderRadius,\n sendBoxButtonKeyboardFocusIndicatorBorderStyle,\n sendBoxButtonKeyboardFocusIndicatorBorderWidth,\n sendBoxButtonKeyboardFocusIndicatorInset,\n sendBoxButtonShadeBorderRadius,\n sendBoxButtonShadeColor,\n sendBoxButtonShadeColorOnActive,\n sendBoxButtonShadeColorOnDisabled,\n sendBoxButtonShadeColorOnFocus,\n sendBoxButtonShadeColorOnHover,\n sendBoxButtonShadeInset,\n sendBoxHeight,\n subtle\n}: StrictStyleOptions) {\n return {\n '&.webchat__icon-button': {\n alignItems: 'center',\n appearance: 'none',\n backgroundColor: 'Transparent',\n border: 0,\n display: 'flex',\n fill: sendBoxButtonColor || subtle,\n justifyContent: 'center',\n outline: 0,\n padding: 0,\n position: 'relative',\n width: sendBoxHeight, // We use the sendBoxHeight, so the button looks square\n\n '&:not(.webchat__icon-button--stretch)': {\n height: sendBoxHeight\n },\n\n // Order of style preferences (based on effort of user gesture): disabled > active > hover > focus.\n // Keyboard focus indicator styles applied by :focus-visible do not conflict with :active/:hover/:focus, so it is not included here.\n '&:disabled, &[aria-disabled=\"true\"]': {\n fill: sendBoxButtonColorOnDisabled,\n\n '& .webchat__icon-button__shade': {\n backgroundColor: sendBoxButtonShadeColorOnDisabled\n }\n },\n\n '&:not(:disabled):not([aria-disabled=\"true\"])': {\n '&:active': {\n fill: sendBoxButtonColorOnActive,\n\n '& .webchat__icon-button__shade': {\n backgroundColor: sendBoxButtonShadeColorOnActive\n }\n },\n\n '&:not(:active)': {\n '&:hover': {\n fill: sendBoxButtonColorOnHover,\n\n '& .webchat__icon-button__shade': {\n backgroundColor: sendBoxButtonShadeColorOnHover\n }\n },\n\n '&:not(:hover)': {\n '&:focus': {\n fill: sendBoxButtonColorOnFocus,\n\n '& .webchat__icon-button__shade': {\n backgroundColor: sendBoxButtonShadeColorOnFocus\n }\n }\n }\n }\n },\n\n // On unsupported browser, :focus-visible and :not(:focus-visible) is always false.\n // And it will turn the whole CSS selector \":unsupported, .truthy\" to false.\n '&:not(:focus-visible) .webchat__icon-button__keyboard-focus-indicator': {\n display: 'none'\n },\n\n '&:not(.webchat__icon-button--focus-visible) .webchat__icon-button__keyboard-focus-indicator': {\n display: 'none'\n },\n\n // Make sure all contents are in the same stacking context.\n '& > *': {\n position: 'relative'\n },\n\n '& .webchat__icon-button__shade': {\n backgroundColor: sendBoxButtonShadeColor,\n borderRadius: sendBoxButtonShadeBorderRadius,\n bottom: sendBoxButtonShadeInset,\n left: sendBoxButtonShadeInset,\n position: 'absolute',\n right: sendBoxButtonShadeInset,\n top: sendBoxButtonShadeInset\n },\n\n '& .webchat__icon-button__keyboard-focus-indicator': {\n borderColor: sendBoxButtonKeyboardFocusIndicatorBorderColor,\n borderRadius: sendBoxButtonKeyboardFocusIndicatorBorderRadius,\n borderStyle: sendBoxButtonKeyboardFocusIndicatorBorderStyle,\n borderWidth: sendBoxButtonKeyboardFocusIndicatorBorderWidth,\n bottom: sendBoxButtonKeyboardFocusIndicatorInset,\n left: sendBoxButtonKeyboardFocusIndicatorInset,\n position: 'absolute',\n right: sendBoxButtonKeyboardFocusIndicatorInset,\n top: sendBoxButtonKeyboardFocusIndicatorInset\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createSendBoxStyle({\n sendBoxBackground,\n sendBoxBorderBottom,\n sendBoxBorderLeft,\n sendBoxBorderRight,\n sendBoxBorderTop,\n sendBoxHeight\n}: StrictStyleOptions) {\n return {\n '&.webchat__send-box': {\n '& .webchat__send-box__button--align-bottom': { alignSelf: 'flex-end' },\n '& .webchat__send-box__button--align-stretch': { alignSelf: 'stretch' },\n '& .webchat__send-box__button--align-top': { alignSelf: 'flex-start' },\n\n '& .webchat__send-box__main': {\n alignItems: 'stretch',\n backgroundColor: sendBoxBackground,\n borderBottom: sendBoxBorderBottom,\n borderLeft: sendBoxBorderLeft,\n borderRight: sendBoxBorderRight,\n borderTop: sendBoxBorderTop,\n minHeight: sendBoxHeight\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createSendBoxTextBoxStyle({\n paddingRegular,\n primaryFont,\n sendBoxDisabledTextColor,\n sendBoxMaxHeight,\n sendBoxPlaceholderColor,\n sendBoxTextColor,\n subtle\n}: StrictStyleOptions) {\n return {\n '&.webchat__send-box-text-box': {\n alignItems: 'center',\n fontFamily: primaryFont,\n padding: paddingRegular,\n position: 'relative',\n\n '& .webchat__send-box-text-box__input': {\n border: 0,\n fontFamily: 'inherit',\n fontSize: 'inherit',\n height: '100%',\n outline: 0,\n padding: 0\n },\n\n '& .webchat__send-box-text-box__input, & .webchat__send-box-text-box__html-text-area': {\n backgroundColor: 'transparent', // We set this to transparent because we already applied \"sendBoxBackground\" to a parent container.\n\n '&:not(:disabled):not([aria-disabled=\"true\"])': {\n color: sendBoxTextColor\n },\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n color: sendBoxDisabledTextColor || subtle\n },\n\n '&::placeholder': {\n color: sendBoxPlaceholderColor || subtle\n }\n },\n\n '& .webchat__send-box-text-box__input, & .webchat__send-box-text-box__text-area': {\n maxHeight: sendBoxMaxHeight\n },\n\n '& .webchat__send-box-text-box__glass': {\n height: '100%',\n left: 0,\n position: 'absolute',\n top: 0,\n userSelect: 0,\n width: '100%'\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createSendStatusStyle({\n fontSizeSmall,\n primaryFont,\n subtle,\n timestampColor\n}: StrictStyleOptions) {\n return {\n color: timestampColor || subtle,\n fontFamily: primaryFont,\n fontSize: fontSizeSmall,\n paddingTop: 5\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createSingleCardActivityStyle({\n bubbleMaxWidth,\n bubbleMinWidth,\n paddingRegular\n}: StrictStyleOptions) {\n return {\n '& > .bubble-box': {\n maxWidth: bubbleMaxWidth,\n minWidth: bubbleMinWidth\n },\n\n '& > .filler': {\n minWidth: paddingRegular\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nimport { toByteArray } from 'base64-js';\n\nconst DEFAULT_IMAGE_BASE64 =\n 'R0lGODlhJQEsAfAAAHp6ev///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OcdIEAsta1+w+G4kiW5uls6nqh7gvH8kxL7K3W+s73vowL5n7EovHYEyo3yKbzCZ0sp5mo9YotUretrPcLHnG34bL5nBpT0ew2WM11y+dN+JiOz+vsd73/f8LXB0hYWCEYZ6i4yICYyAjJ6PgYWfk3SWmpSYdJtvk51+kJSnomulaaGnY6perqxbr0OmsVq0SL62QrlNtrtIvjK/wDHDx8XFPMgsw8o7zSHA3zzCRtbULNcb0tkt3FDe6RHU7eQV1udlGljvaM/tW6WvyOpSa/Sx8l+Babr+8Ij5U/XZ0CFhxYR5RBgAiP2Fpop2HCfhAzSSSG7x6qi/+/5pWRxRHJuTbsIJUsNTKkOGOfxqk8xGuTt5dSNkby9o1mg1Emcep8MEiSz5+N7PWcSdSCUaFDkx7gc9Sl06cRF+HUNhVDVatNs0JlitTrVkNXq2TVCidqSrFLuYY9O5ZsV7YWC109iyAoWHd4Deh1y7cvVZCWpApGGwTU2sN+WcoMzDiBupyKPUZGZvnyMGCamz3sHO0UaGkKR1ubZHrbvtTg2rJuHe91vhyUZdu+jTu37t28e/v+DTy48OHEixs/jjy58uXMmzt/Dj269OnUq1u/jj279u3cu3v/Dj68+PHky5s/jz69+vXs27t/Dz++/Pn069u/jz+//v38+/v//w8gCjEFiFFsBO7x14EurKbggog0KCBqEK6DgTmlBXiLDaL5V5dkAvXnmgKf6feViBnd96BSI9on4WAr0oeJh5zVdyFk8tWoDI0b2gjfh4u91w+P7j30Y3tE5jjfkUjGp+SMN1K0JJNQZtbjlE4+ueOVWB7U2ItSXojYhjqCGSaXY7aYl5gsmukimii6mSacb6ZYFEP70ZlGiRzGlWeC/IUYQYd72gRThhC2uUwJ7Jh1aCMVMtpopJJOSmmlll6Kaaaabsppp55+Cmqooo5Kaqmmnopqqqquymqrrr4Ka6yyzkprrbbeimuuuu7Ka6++/gpssMIOS2yxxh6LbLLK/2I62UnINQspKYYOR5gmguJ2LSBp+QYoIXpi+622DILLpx9ymhajt+eClu4l7bJGJifxssumvPNe9iEeFKGrZij5jvavv/1q5iVJARO8r8ADR1ZwOw0f9rApB+ObsBwR93XxRxMzXLEbHVO8scMLg1yvxyEzdrLI7wI8sskrs/yyvXbCW7LCeNI8s7vjypazzuW+trO62+oWrlzZAu2n0dX+RmhhAxI3LUqPNrfoslZfjXXWWm/NdddeK1IbronZ2rSrSZ/6s6k3q712qeuCWvOn98o9N6cpa/pxp3lvmjGzd196It1/W9o34INXWjjhhyO+OONx61233Y97OjnlPRKTejnbQ7O6eatHp2pgrYk6VQAAIfkECQgAAQAsAAAAACUBLAEAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rOx0AACAqDwJ7xiPQNl8yk8wnlMKfUqPWKTVC306z32+OKm+CyWTZOD8/stkkNJ7rn9E38/qvr9xB8nA/Y8DM4COZ3F5hIKIZ1iJfI5wfl+AhJR/lEWWl5pimU5PnHaRb6aVQqOuqFusbDqqa6+iqnM5sW22hLi6PLiBvVa8obvPU7SZx3g1xlDLqcs0zWfBS9S1O9NE1drYzdqr3jnXwtPg4+jN3tfe66blNuzl4jrp4uj+4+T3//Xt6fz4/cPn3cAv4DOAOhQSUDCT5bKFAhmmgQHdqrF6xixIv/GG1ptEgRWsaPCRvim0Vy48NwHlOW5CiSlcuDK9uVmqmSmDNNOGnqdIKpp09dVhAJjdkryyJmR5ESLROvqc2WUqv2eWo16wOqWrsqeOU1rKBQYssyCGo27ddNatsaWFosqtu5b4EQkUs3r969fPv6/Qs4sODBhAsbPow4seLFjBs7fgw5MsYikoX6qkwSFuaPqTbzY+tZnqTQokeTPufoNOpDqrWhbW0sNezYr2erkm07Vu3cnHDzHsX6Ny7Twm8bLQ68M3Ljt5bTLubctbTo1Kt3spsNr/U9cLYrAu29Dc/w4seTJ3Xz/Bew6nOxb38MJfz48ucj+Wn/1Mj8U7Hy/6+FzH8s4SfgUFwVmJN/CL6034IMEuggDAVFyBCEFLow4YUY1qThhhZ2qEJIIHrY4IgsfGhiCiimeEKJLK6Q1IskyiTjC/XVOKMnOFa4244t6OhjgmNQFuSDt2hXZI5NIJmkD9gV0mSUUk5JZZVWXollllpuyWWXXn4JZphijklmmWaeiWaaaq7JZptuvglnnHLOSWeddt55G54YcKGnBN31uQB4ffqGJ5B6klUoonbSWOd7ct4Y54FuKjippG3GCCell2qqpotsYvomp2uK2qmln5p6qqOZqhopo3O6Smd6iZoHYxFMatjjG3zWSGgJypl4nIqCjjjkrR3kCiJcUP/CiGyrhi4qa6yo3MlqqNVWeu2oqJa6LZqkpgkqtpCm2u2Z33p7rpnpqlsuutlq+y630zY6L73R2tvsqvk6Gxyg/QJ6QLAAIzDkwH1gR6TBCi/McMMOPwxxxBJPTHHFFl+MccbSTecwI9YoLLC/xA26r7Ulb6qotPc+Cqu+9bIcL7gxuzszu+2WGS7KNZPpKbzjembseusmtuscQx/2JxtHEzasUjcX1qssOw9Gq9AtL7ay0y83lrV7KXN99RVbMza1flWDHbbXI6OddlFRY/00UCE7trTczVWWM1RPrhE0YnU3Alve8v7sc9lh/g2m4IOPLS7jOnf9+Nf8Su7ysyoan335269qju/csybN8N0Qd9G3xqafjrpnBQAAIfkECQgAAQAsAAAAACUBLAEAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4LI8BMzwEQ5/rOx/X/u/WGxKJRAkwmj8ymM6eMLp/UqpUjzQav3K53oQ3XvuTyU4y2mddsXfrdjstT7/r8jvfU9/m+n7Jn9zdImBDIV5j4dyio6DjHiPg4uRbZSInZZSnJhWPzmem3CdcZJhQqN0pKxYlqpprGyuj6Cot2tklLZnt7BKvrxSvGJAx8JTxchIxjLLscZfTM3OwkrRT9TF1tPTXErd3EDUQkPg1OXk6D/n2unG6+897unu5dP9/zDg8lj59fvu6ev3jiAgIcSNAaPYEI+UkzeLChm2wLGUp8QRFiwYv/E3n50qeGow9bxECK5PGrpL6THWdtW8kS5SFnFmPC8BTLikmb9rJo6scz2qkyMIMaNQT06NGaSo1GbKp0I1So7KY2VWh16sOsWotxzer1q9WUYr/mKisWZyu0aS+xZZvsrVwFnoTsm4s3aN28fNVe44t2FeCxawfztGTYKeLENskyvujxscSwkgciq2x5GeZ5WzeDw+q5WdXQxkCT1iX1tKvUqjM9be16NGxKr2c/qm3bEevcinDzLiT7d+/gwgkRL268M/JEppcPv+xcd8boz0lSvx35OnZV2jE57i49EvhQ4sejCmSeluD0q29AY+/GrlD4Mv/SB2bq/vm4+r3n/+y/XS8AVvffgMkVZuAdLiUoykwMNojeg30sKKGCDlaIx4UYpqLhhnFE6CEkCIZYS4EkcijgiShqoSKEUrQointbwLiIAXvRiGOOOu7IY48+/ghkkEIOSWSRRh6JZJJKLslkk04+CWWUUk5JZZVWXollllpuyWWXXn4JZphijklmmWaeiSZezNyVph4vtqmHjD7BmYFbdEZA4Z0OlKfnA2f1SdcogILB3aAHZDcoon1Stiijd0IHKKR6Tveoo3BSSqeklVp6qaaZctomqJ1+1yipk5pa6p+G2qjqqqzm6aqcI7oKYqyEpmjrnizmOoE66vAaqn3A6prfsIEOw6attf8Cy2eura5aKK3RQovqp9WOei2anm6a7ZmaRbptsIpaK6q34ab5bardmpnuqeNyO626z8rbbKLxGioor/NS26Gzsyq73rB+vWksseMUjHDCCi/McMMOPwxxxBJPTHHFFl+MccYalxJEsgib4rG/yCq8rMglx7qYybDamy+/LRvn3lDLvbuisL+VS5SJs527y7+e8fxFv6oBzbHQobVbYr2kYRr0y6cRXYV1TyMdjNRT01z0vZhRXfW6iUH9ktVH44wL2YOZHbbXhmGtE9dbq5023IDJrZLYSzudM9prp1yJ22Mb3TTbP5+cNN2M2dmG3pXhKqLhi8sKyiJ20wu4u3whu7wyvkoD7HOkkBf7MeMkExxxXSFvjHrqqq/OeuuuD1IAACH5BAkIAAEALAAAAAAlASwBAAL/jI+py+0Po5w0gnBz3bz7D4biSJYQgKbqarbuC8fyXK32fdH6zvc+jAuycr+i8YjsCZespPMJjUqY1BRGis1qjdUucQsOi0Ne73WMTqsZ5fL6DRe33fG63Tlv3/f8XX7eFyho8gc4eIhYU6iX2OjItkj3OPkYyUiJOWh5mdm5tynpKRoHajZ6+lZqisoaptrVGuv6SiVrK0Vbdbv7lLvEC3zkyxRc7DMcZKzsh4yz/BzTfANN7SJtU51Ncq2i7S3CjfI97hH+RY4+dZ3OPsHdDn/SHE/vgFyPv3Cfz3+Q25/l3KdXAJP84lOKFIZuAlutsrNpzUNRfwbmkWiIYiGE/24aasmwMZOlProwRhIJSpAGcXUSVnJZUJEqR7RiUvCVCKdNeTo19dwJaZjPf0AbSBv6s6iBdyTnKUUQrum+pwuZWhRKteq6q1OLmmN5Z6vSrx7VWPX6lSvWsWnDigVKFiypt3DbunWKluzdrnXtQsTL1u9cvjvjciRcWK/amVkVL4b51PFeglm10p0MmapgzCMrWz6KtLPnz2tVphzt73KgiKiXqiZJGlZrqIBzZpxNOynNibhdE/Uk5EzvoIxRaRhuoTjybKeXa2PtfFzF6Ok4Ua8eu9v1fjnKbv8OPrz48eTLmz+PPr369ezbu38PP778+fTr27+PP7/+/fz7+///D2CAAg5IYIEGHohgggouyGCDDj4IYYQSTkhhhRZeiGGGGm7IYYcefghiiCKOSGKJP3RnIhgHpWiQbCwWcduLNEwnow6L1PgAQxtAh2NqybjDY40l8SQaji4apRyL1ilAmYwxJlDTixcRl1mJNEIZpZJTYpmliSEx+ZuVX/rYpJdX5lammE9md5KWW3KZJolnklmlnGv6lqSZocBZp5288VmklH+iGaSgxCRXqJPBeUfojT02Kg6jgL75aAltVmrNnJhaeuemnA7pqQy1hKqEVsKRimqqqq7KaquuvgprrLLOSmuttt6Ka6667sprr77+Cmywwg5LbLHGHotsssr/Lstss84+C2200k5LbbXWXottttpuy2233n4LbrjijktuueZKi+K0wTE7KLCd9grSksAtdOp5jmq0bnmJNtJudM29JK+//9pGqcADH3IpdXGuFihyYTK872wPS9Uwbro9NuZwE3OWcG8X/7UwaqVhnLHFG4Ocp8Rdktxxax+3tLLJIQ8Ws8gn05yyyzPj3KfNOaPcs88Hs6ypykMTXbDHR3PcssZNU7y00iWbFrXUSYd273fvUv20wv0iXPF28f4I3NTkxVsvvlvruja8RyK7IrTpnks3GmMf1+yoye4pbNFuX81217hGbGvVs/5M686x1py44q++DOvNi0v+OOWuMUJeOeOTax655Zdznjnimwc9uuGdm3562LeiLqvquWbtLuB/f+3r23s7Q62kde9uSwEAIfkECQgAAQAsAAAAACUBLAEAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDNYAAQDxKEwqlx+j8wllSqfUBfSKJVa3XF/2e+2KxzKwOUxOq0vntnMNj3PcdKP8jofU9/m+v7jH9zcIFyhIiChmGJjYWLVo6Ci5BMk4yWX3VDRWGXkpRYfZefgp5Ak6SlrqBTmVarnak8r0qhqLU0tZG3qrs6sV9FvXiytsKtxGfIMM/MOcrEzzHPxsFj1T3cyT/XWNXU3NHeUNww0kjkVebu6MPq6+gt7u/gbfIn5Ob2cfLz/vz0+Fu38AA6IoKGugQYEItzVcSEIhwWkQUzx0mK2ixYv/vjJqPIhPCbiPID0eQ0aSockkxlJuHEkrl0uVzB512jTzJcotlXLeq9mFjzafJX+lOQIGJ9Gfu+4gGbrUhdGoVBO8qorV6s2sXA8sUtqVK6ywZA1AK4vWK6C1adu6fQs3rty5dOvavYs3r969fPsuRRoFqt+AwwYbbGWY3KjE3q4yjtXy8aedkiVRrJxoJWY/ITf34ehZjcTQckaTXqPvdKHUqkXrE9yaymvYsVGxri3qNe6gs3fz1u1bdu/gwocTjwn8OPLkykUyb37yNnSWz6fno2ddF/bszk1znwjz4PcO3kEkHX8BtIbC6Cd0Nm+rvQPN5BHLfxDew9b7+CnD/9/PXwNT/bdYgPPJFEJTBh7Y0wiRLciAfSI8CGGE7DlIYYURApKOTgpqyEqGIBbj34g5XGZiRyWmOARQLJK44ovfiChjDCjWKE2MOK4z4I459ujjjAgGKeQsRNrw4ZE/Aqjkkl81uUyDUMJ44ZRR8mJlQudl6QyHSHAJZphijklmmWaeiWaaaq7JZptuvglnnHLOSWeddt6JZ5567slnn37+CWiggg5KaKGGHopoooouymijegG2j6MRWCMpg5RWikCVmI4l6SmVPtmpp45KyCiTi0pZKqmpgtqoqqey2iqssca3KpaYmmXrrbneims3vG4Y2K/CDktsscYei2yyyv8GFwZtn571K62vclqrqIkWOK2phSZpKJCD0giojn66+K24fd4YLrnpmssnun+6ey688YI7L717qisou+16my+//Tp2rZGKApyttQEbXO0ZYG2ajLOjZrFsxBJPTHHFFl+MccYajwjpwsRCy6umD1NbMMmHYjuwwIhyuy3L/w5JqL37yqwnvuvSfKe89fpLGsS54fyYGzbpy5i04BEcmqvXAc2Xtkej7BnUS7scNNJPO100zFfLKhnVWmpdNc87eJ0Y0VQqHTbZY6uMmc5ro5222Bgh3LXN4ewatd3RXaqa2+d4qYnDlflNiXKE43l4zmbnqffOVr/8+M2RQ47qyZMcl4t1y3B3y3XJCg8rdLGQviH4xqafjnrqqs9UAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEogWATAICS6PzCXUop9So9TqkaqfYrve2DVe/5HJKjE6a12xQ+o1sy+cUuJ2OzyfsfL1/ztf3N2gWKEiIeGUYmNj4tMjoKJkFeTd5+VN56LXU1IQJpbkZyoQG+ij6phh5GpRqaaTZ6vqahpo621OrWrSby7NrSxn8+WtDHEaErGZ8vKw1vNxc8zxGWz1NU811vZ09s82cGS7+7UJerIuebr5C3o3e/hIO/y7f4g20zn3v/iy0r1w/FP/qxRvoj5jBgwhVBFMWUGBDE74ARowzMWGlXv8XMWZ0CMlJR3YfKbLi2LHkOWGhLqqE0akTEywjSb4cmPLmx5E6S+bsmdEl0KABh+4sapQow6QN9zE9Su+pUmxSoRasOlUhVp/Itr7U6vUrrrA6Y4YkO3QR2qeqbK5NOzOO27d069q9i3eSWZl5jfLqe/MkYIRnB+PcaPje2MTfKjI29vAxZMeSW3WtfOoqZr2XN1/S7LkR1dCipZEuDfq0n9GqB+Vr7To1bDqsZ+uRbRuQ6dyrO/PGs/v3bcrC80Qu3vsV8j/Kl8eW5ZxQ4ehnqswlaIg6djjzuGs3mX1eKWjfwSMu34Y4+i9g13Py7d7K6/i3cNNf2P5+tNr69a3/679fVAD6ENGA4zhlIDBCJZjDTwyCseCDzkQooQw8VUjNhRiC4+CG3VHo4UodhogPiCSyoOGJKI6oIkgFtigiUjCWiOCMNP5n441L5eiiPTzqyN+P280npEbBFWlkfkiuCN+SSS7mJEy1RKkNlFRaON2VGcKiZYPjkddlmGKOSWaZZp6JZppqrslmm26+CWeccs5JZ5123olnnnruyWeffv4JaKCClrXXoBx4Z2gdX7KU6ANZNroAdJDuIcqklDY36XGQKilok516CuiRgdrXZ5B+mloqqXuiuiqrrYr6p6qvgpoqrafaWqt6g3L66ZSWLiqppZj+CqxgvwZL7AHh/yXLAJfMNpDMmmA+66gp1EL717UIGPvsstqq9S241CKb7HnMknusueWqSyy66Yp7Lrvtwjuut/WOci2+4TKq7aVb9FutGtcBTHDBBh+McMIKL8xwww4/DHHEEk9MccUWX4xxxhpvDLASpTCMaMd3DNzoo/PKm2mlJ6v87rCJ8hoqzPXxtRysKIkxk3CyqsMdyZjtrKC9rbkaNL2qEd2glachjYOvQwM9ocuhMb2l00tDXaWmU2PNocyMUd211lt73bTNlZmdNNd4oZ022V+LzTPbb1vtn9yP6Ro3rpJJXbfbe7tLoNqGody333/rGyDdtvUchd1LF+szfoTHariecCAbqnjJSqcM+KZGx4s46PwaHC3Hpp+Oeuqqr8566xQUAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gufQDDX8Y3neg70/u/bCYfEYgWIRNKMzKYTl4wqn9Sq9SPNAq/crrdR04p737K5Ok7Pzuy2UJ12y+csOJyOz4vsd73/b8HXB0hYyCA4aKhIiJi4+JjX6AhJySY5WZn5dRmn6bnJ2fk5ihYqRopKZTqW2mq0euoquwObNXvLUyuFy/uiG9UbXPebJGwsQ7x1vEyS/MMMHeJMFl3tMW2dvYGt3X2R7B1OAS5eLvFrng5Rq97usOoevxAqX3+IuGSvbyCYv/+/hNUagAQD0ghio+Cbg8oUNmP4bKCmMLYcXoNoS+IjPv8WM1DEBAhfx0CXFkkaOQFeSE4oH8Dyp8dUSzC6YqqciYAcnpo4+Tnb+bLnNGpy0OEcSrQNsZlIk57RibKpxjJLW0oNorRqx6tOQRkdyXWqF6gOw4rtQlah2bNXfoINa0lr2bVZeW41G9fuXbh5g77l21fmX8BP/Q6+6oadVbxF6TFlnJilUK5AG/XEKLUyx8uYudlUwzknYj9x2EYdzQgzzNAHMrNu1fS1rKGyZ7ut7eo2bthfd+dW7HvWzeC4SpomjsryceS8BTKP9hHh6ufUq1u/jj279u3cu3v/Dj68+PHky5s/jz69+vXs27t/Dz++/Pn069u/jz+//v38+/v//w9ggAIOSGCBBh6IYIIKLshggw4+CGGEEk5IYYWiMTSdhb6UpuGGdnSogmQgjhCdZSnxM+I7wx3SWUIp+gRcAiUW82Ja/XTomYkW0gajSBSudWOEQOoI4ZBBPmikjw0mqSSDTDap4JNHRinllAlW+eGSWGa54JYgGejllwWGKQqVZMbS5ZlaOKjmmmy2CYyWcNIo55xYvWnnnXjaKWGeyyEYm4h9ItWjlUXy2CKaFSLamphCyiWjmzX2xmIYGY5I6YsarKgpB451CsJJoJbA5agmrPmnqQ+pymqrrr4Ka6yyzkprrbbeimuuuu7Ka6++/gpssMIOS2yxxh6LbLLK/y7LbLPOPgtttNJOS2211l6Lbbbabsttt95+C2644o5LblQGpcqcDeiaJOl1M3ZFyR3rhqZovJs95+hnUOJWqiHvOkecoaQJyu+9hRgmG5EDC1awwJox/Jqof2TKmcQLI0yvwg9jfJnF+nI82b5zpNWxyCNDmrHDkVFcssEfx8iayy9zmnKZE6Mcsc0Xw5xwvYyw3PMUG+mFnIuVEJ0r0ruCjCvTukIMbEnGejysysKC9mxG1Kp7sEHT+pzsv0Ijy9G8t2ocNcG/fpo2273ynDTccTtNK9B141wr3rbqPSvJefstq25N8x044bECfrfce9vdt+JnO/43zU9D/bbbbRij7SvVVctcbL5VJ3rpslybXW7ppp++SAEAIfkECQgAAQAsAAAAACUBLAEAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLxiEwqVYBAs7mMSo9PgPWKnWq3Oqz3a+WKxyuw+UtOq0PndnYNj0/c9Kv8jk/U99C8f83H9zc4FhhIiDhlKJjYiLR46Cg5BBk5eclTaYnJaaO52WlUFdYn9ckYSlkXdYqa+jO6mtS69wpUOUsra7tzSqXrxpvpWwS8K+xJK2p8hoxjXMzc7FzDTCRtRl1trYrtpU2D3e1tBx7jfU1ebg6DLqQext4uPu4u70Kenn/foq5Pz6+fvXcAA7LY9w+YQXwD67VayFDaI4UQBRaMRqziwYv/y3BpfMGxo6GP86ApcnKMZERdW56g/FZKJUiKMmvqYWkz5wFlOnu+9OhT56egRBcRPWqgFtKlTn5mick0qtSpVKtavYo1q9atXLt6/Qo2rNixZMuaPYs2rdq1bIO4hNqWl9K4nSDRxZTx7iCeev+Y7CsnJOBCggcr8meYMOLEWuCtY8zKMVzIIuFRjix58mW3mR9vduj4M8bOmkUPI13a9DPU8VTDYp3a9TbWsl/Trn36Nu5esHfnJu2bt+7gN2DHJm4RNfIcw5fP7ux8NfTo0jN3iNWUegXgG1Jqd2A9w8jvEMJfAEqeQWgMedPfbEjhoXv1hcvznf+epoW/+BFw/zvPX39JySfefwL6N1SBBh6IICgKBshgg218AF+EejR1HID1WXgCQhzOtOGHJCwm4kYhlshGhSh2qOKKI57oIoUwxujBjDRyINGNTCyoowkQ9ujjfUCmIOSQLCZopIlGJbnSXEyCSMeT4WSToZRWXollllpuyWWXXn4JZphijklmmWaeiWaaaq7JZptuvglnnHLOSWeddt6JJymk4CmBK3wOuOSf7c2pX5wKVUmmjWF6uCaJakrWKKSPmmcmd2cqd6mliWJaZm+dNgemcZ+C+qVxiD4p6qaejrmqmKaqyimrpJY6q5etuhorrJJWqumo66FJKbC/Tspomo5GquiiP/+2yeORdpwaXZFBRsmhJkpGCS1yge64rYUTZqvBoNVOiSSdhRp6rpvNMrsuscsi+26mOcLZorzJdlmsu+3aOy+b+eqbrrH18huwwPsaXDDA4qqbMLwL00tgnQ/LWS6f3f4JaDAYq+eUZxt/DHLIIo9Mcskmn4xyyiqvzHLLLhOSTcoak+znxg4KenGeOduJ3l2xeJyGtT57x0XFa42nWM9oKX0Y02YZ3fTOY0m7BNRk4dSS0GfFW9nNV3PdtZNl9WuK1GHd24PZYA0c9jRpsf3LzEvDHTcYcf17GErZHY03wQ3rCravBwv+N+GFy0o2u4HzOjjjhzseMcVUQzwxw1YYE2rXx5mDLPbIbr8Meuiij0566aafTlcBACH5BAkIAAEALAAAAAAlASwBAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjaoA1GpVis2+rNyu9gsmdcfcsPlcIaut6LabsY5T33S0/A6o6794+f4f1XcHSMgkOFiYWHSIqOgIxNj4OJkTKUmJSWPp55S3lom0yankeQkKKfpJyngalBqXlNr686oW+jrLU0t2W5u7sztmFDz3i0NcRoRcbFyzzCz0DN0cI71oTa25rCw9ne2yPdR99S2DfD1eXh2Mnq4Oszs87v2+4ss9T1+fIts+vw8vUq9/ANf1WZWvYLUAowYSVLjFgLAm+chBhFgxz8WN/xk3Yqzo8WLHkAVBklT48CTAlCr3uWu5EhvMkuFm0jxn8+O9nDpx8eTY7ydQgUJJlsJTdKYfjUl5emLYNKrUqVSrWr2KNavWrVy7OvMa8mgZpmDLDSJbNhfRtLNEsT0V9O2keHIdsauriBjeQjj3/qnpl86zwHpkEm5j+LCZbordMG68ODFkLS8n8xlsGczjzJcxc84i+TOU0KI7AS4t5TTqQHdXg27tGgvd2JTj0pbt9nYYS7rtHOxth2FD4FO+skFL/AQs5Mlf/26emjdz6A7XUo8F+zq+7NpRqe7eYzN4XSzHH0tovpLJ9DYy6mMPzj18Z+6nz59S3/59FPn17/830Z9//4kQoIADglDggfYEqCB+/TXID4MQKifhhCUkaCGAD2YoRoUcErjhhyDmJ+IIIZaIIIkojjjSiiHI5yKL5cXIQYs0pljZjTiSpmONPPboY19AyrjTkBcWaaSJwm2SJAvWNcnPksNBCY6UwlGJZZZabslll15+CWaYYo5JZplmnolmmmquyWabbr4JZ5xyzklnndSJ9ZSdE5iiZwKH9KkAk4BK+SSdPuk5m5x6GbponN+1+aiaP5o5KaWVkikem5muuamkl47ZaZqhojkqqZEeaOCLnqGqCoWN/venq9yll1uHSLJ36wezjvfqjoLOd6oGttG6qq+C7FdqkM//wYeeiUjBOiOChM6R6nU2WnotpjBim62YJ4Kqorbfgumht+WSe+6XGII7rrrpermuue3C+26X8cq7rbj1cdttmPua2i++0QqcrL8Dl3mwvkK6WSzDvb65K5yyVMtpoYMuO2ig00KVcccefwxyyCLDayXFiE6Zcawe83ZxrSe7zOihcz7scMSa0lzxwpA2nLPOPeMMMM+iCh10sAoDXTTSCH8aC8eNMe1PMoFBHc20Uu9FtXd8smW0PM9i7TNCx4KdKEUWc52r2CrjVbbZZ6cls2lvv/XraHWTPTZuLCuGMWt78211np3NfZjJbrPSMuGKKr543isfZPjOX4e89eMTGI0MB1SRY855555/Dnrooo9Oeummn05cAQAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MPgDEYlGITCo/xmZzCY1KF87qc4rNAq1co/YLrnXHxLD5nCKr0ex2SL12y+cTOJyOz1Ptcb1/znf3N9gWKEiI+GV4mNgotdjnKKkEGTl5+VM5hsm5pdnVGarzuSlqakPKdbo6k2rFCvvi6hRbyzJLa6trguu1+0vSWwZMDCJcjMyEm8y8sdwMjTEbTW1BWo1d8ZnNLQHZDe7NFwAQbu7AeK7OUP66/g6PVR5Pv+deD2+Hn0aeuLj/plSeSgA7BKKzraC0f25SKbSmic20hxFcnelFEcJEMP8YM7LrqAikRwTC5mUpOTJByWHyUKYkt9LkI5cvY7KMEvMlzJxTeI60eWQmTY9Aby7xmbGoUUorayoVeuzn055DKSpdigSp1atURSblCnUj0aldxX4li/OZU6BazI4t2taizp02OSaci7YlwbkH2Jr5xrdv3YvjAqtsWoiMYXtR5dCSufiw18iTJlOWpPZyJ4eQNV+669kU4NCn2ukjbUsgamDzOq9+DTu27Nm0a9u+jTu37t28e/v+DTy48OHEixs/jjy58uXMmzt/Dj269OnUq1u/jj279u3cu3v/Dj68+PHky5s/jz69+vXs27t/Dz++/Pn069u/j982qPwnDvL/F7HXfxpcc0E7/bgWn1sf7SefZQqYpth7iDF2GntaCTYaenBhGKCGfhkgl3lgKQjeVa2R6J2JdDlUnolVfefihCXG2BiMNNaY4o0ObqdjZjn2iCJ2QAYp5JAszmgkaD8m2eGSTDKE5JNQ2qgijlQ+ZaWTbO3InYsghkieil8S2CJYYzY5npgcGqKemWum4+FgFKq23odUrJiLhBc2YCCC7skoYEU+BqoRmIRScOShELGpKAf+NWoQnkFBSmmlll6Kaaaabsppp55+Cmqooo5Kaqmmnopqqqquymqrrr4Ka6yyzkprrbbeimuuuu7Ka6++/hplFa0+eiqan5JZWWiD/w7EYGBZAgKnVFwSVlhKcjZkbEF2ooGsQhtKJCmxALn5V6L7eEmtofSgG8a06sRYrrvg0BgvkebQa9ez7+Ib14v78nuSv+vcmK++4ehYsLzZINyvwPcSHJLDBzMcsMETA6yXxfNiXNay/8KbsLrvQNywxx+rGbHII4Pcrskn51WykvWw3HK3+LCbbrbrklsvo2ddm5jPW20LboXS7ln0Jn4+hDRCEFIGaKYKN2qvpTaDqnOo1aoK4RNLAwt22GKPDfWtqsCqtKtGo7p1sUKTmiHcU8o9t9ZZd3r3pjIfm7fecdv9N+Bvixo44YPTHS3iEbJqCdfhfp2qaf2QTXnllghfjnnmmrNQAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITCqXzKbzCY1KR4Cp9SoDaLdcrPdL5YrH4LLZMk6Lz+z2Qg3vuufluH1Lz2PvfL0fytf3N6gUGEjIVEVWtWd4iHj0OOUoCSnkGMAYRVlp6cOptQl65/kzivd0alf6qaqZ6ArHqhOLClu7NpuDG7rEm6Z78/uaNCwXTGN8q4w8Y0xs9Nzb7MxcLE2dZX29nd0iDR3d7b0CvoxLHmNeOJ6Osu7L6/4CH187T4/tmxmL71JvT5W/f88AnRqYrx07UAgJDrNCqSEMhU4ESUyI7osiPP/hLn6T5zGkhIwiSzogaTKlAlcqWzY46DImAoYyayboZDPnxkU5e770CTSo0KFEixo9ijSp0qVMmzp9CjWq1KlUq1q9ijWr1q1cu3r9+lNRJrDULJJFxOnsIIFq6bBs6wYlXI0g53qhaLeJvrxS9vJNBfDvwsCCI4GbVpgb4cRDDh9jLM4xZMOOO05uVfkykcq2NAfhjNgzZsmiP3MubTozalOnV48+7Jo16dg8VNOuPfv2Dti6X//q3WMxcGF4h9f4bVz2veRAlp8QK5Z5BbYmdqqRPmHUO0PYs+MUob07BOtdLIOgLh43zPS7nbO3Uff98fjy1T2srw05foz697P/8OtfCsIFSAKABFZn4IElDKigBww26GCCEH7w4IQbSGhhhMVlqAGGHHKw4YcZhCgiBv2VGMKJKJ7n3orgveXiguHFuF1ENL7Dj1k3CrjKjhONZZ6PQg5JZJFGHolkkkouyWSTTj4JZZRSTklllVZeiWWWWm7JZZdefglmmGI+wEiQYpK3hplaphXmel22aCV9VZKYpIdL8hZlbk+25iRoUIKmpo+A9gloaEcWaqiRiAZK46KMrujonZHWOSmSjj6K4qVKakrpoptWaqmnnSIqaaFMilqqn6nyWSAwmHpm6os66jYoeDl+RxurGrIJnG0sztibniD2M1yFFMgZm50X/6iYK7LDOpusXLtKexuxsjJLK02t3icdJs8VJB6a0X0L7pTGHqrsqNxKeS665eaZrrrQNvmuufWyuy6V+c45L7zWZgknwG5yObCXvI7Zx6tYujpmww4/DHHEEk9MccVojGXxrQw7fPCbGnv75r8LU4svtnvGq2i7RAp7qq8tu7wqnjHL/GmtNdssr64pk3ozzjvznDPMK3PqLtChovpzrEGzPCTRXwFDmdJckVIEqFvN2pzRWdmYms9Ydayczldp2zXTVQGbtdhWFezbvV+jHTbKTqFXNp1PwXiJ3HeznbbJb5O9md9j81034VoZXjjIZ8EdNddtAR5QHBjn5XgqHyBjrPDfuBqMNcKyZD5yeRmPTnrppp+Oeuqqr85668AVAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+j4C/h8A8IbEIu6HTPqMzKazp4wuhc+q9fqQaoHYrte5DVO/5HJOLDar1y80mg2Pk9xuuf2eodfx/H5Wn+YnOBgE+EaIiGd4mNi4tsjoKOkFGTl5WVUZiMn5pLnVGcr0CSpqykNaerpqkyolOMaa6ZokJxQVJOtJiwRHpzvKy6VmCEwkvEQMaTyE/FjJvCOs/Bmtw2tGa33kSp26fdNdNg3eqvmMXV5znu2sbq7Hhpz8ThMvP18frpXrm6+Pqs+8WAALThhIz6DCP/8WOmyA8KFEBgMnWjwQ8eLFiv8aLTbsOPEjyIUiRzpMZzKktpQqv7H0SOplR3YyNy6rCbIYTpOWdqZ8RdCn0KFEixo9ijSp0qVMmzp9CjWq1KlUq1q9ijWr1q1co9261dVaz7Ci7pENtegsp2pqJcVsm0gcXFhy5/IhZ1cR3ry29vLF5/evN5SCB68s3K4k4i4ZF4/j6JgS5MiMJ1O+0vgyFsuaZ7nrjPkz6NCER3s+bPq0y9Sk37LevPp167SyOYCdsoJmbQtvgoq4ubuCzhO/gvOGhiJMP+MU2Ka4zRxD3ejNUFO/Fvj6OsXaZXDuHgOhb/AtxCck78L8ePTPzbOHoX79+znx57OIL99+CPz6VeD/z99fB/wFSFx9BJbwH4AH5mHgglCo5yCCEEb424QUVijehfRlpuEHGXaIIXcgbvDdiAJmZ6IHKKZom3Us7ufcixICJ6MJaSlY44l75HhfIbjwCGSQQg5JZJFGHolkkkouyWSTTj4JZZRSTklllVZeiWWWWm7JZZe64OglRvyAqeWOYYoJyJlophmma2W6iaWLVZZG5YpQijaliE6WuKeeS3IYJZ9MfigloHf6qaShTwo6KKKJOpokpI/SWSilecpZZ2xZwrmpbl3S2B+ZBRY331ev2JOGqKyZaiZ8tagqG6ukcqnplZhWaumieAaq6J+EHvprkwMKO2yjxU7aILLH/x6Z4HlGNutskdBGO+S0vkKr7H/ZLkvktLCO6O22yT5rbaTYXqstutxK2yyx65L7LrvjqtsrkhYCK2m3Pu6qK7/41jrndFYC3OlwZ7KppgJjJsxwww4/DHHEEk9MccV3fEurKpGBdZdZf8k6jGEezzUWbJ6qNWtlBG+F8GwrY0Wbyy9bFfMujE6FnM03R5VzE/dm1bMR8fJ8cnXzVhX0MenCXLQ0CWqVtNFDPxW1008DDarUS19VcxHlMt2y0udinbLXY5NdstVng61xMGtDfaoVX4eFG8YzeGv3heGK6x7fwcJ7tbmB+51vje0ae7S9U3f7M+L1Kv644P66a2eftxbyOjPmTdvadZthJwxK3haPTnrp6hQAACH5BAkIAAEALAAAAAAlASwBAAL/jI+py+0Po5w0gYtB3bz7D4biSJZQhqLmyrbuC8dbSmfyjef6Ltc+xgsKh0Ti73gpKpfMJgeJdEqn1CUUWs1qt63rlQsOiyfe7/iMFpfN6bZbuma/5/RdXF7P67v36P4PONLnF1hoSDFIeLjIaJH40xgZ+QgpaVlI6XO5GZhZwwma55kSWjo3qmKqioZqs/qq1qoBS7slW4ur1ZrLO4XaC+w0Gkys5FmMXPSYzCyU2AwdFBdNLY1XjX1Tmc3t3P0NHi4+Tl5ufo6err7O3u7+Dh8vP0/PGqAxWw+Df796pL9C0aQyAEMQHLimYIc7jQYprPDMEKWHESYCOkbRAcY9/8MyLujIEaTHA7/07BpJ8iQdWflG3qrDEuW9lytpemTZsg3OnA9x1ox50+cpoUFt6iRKcSfPMztdIj0KtKhKN02lGmX1tGfUN1szZk3TNelVqCVRjiWbSaaBs2DLmnULc6NauHEtql2b9uKyu44iYnLIty/DQ30CMyjc8KDhw142YVl84l8pfEmWQtY4k9/lzZw7e/4MOrTo0aRLmz6NOrXq1axbu34NO7bs2bRr276NO7fu3bx7+/4NPLjw4cSLGz+OPLny5cybO38OPbr06dSrW7+OPbv27dy7e/8OPrz48eTLmz+Pfh7lfuk/8rP8RCD5xwsVi58GET94wBX5d/+3q9Fe2omkgFzY0ZVSXgdOlaCB04WVmYPRVdUggRNSGKGFzymVz1fOcTgLhhuCiBeEzIEYoofLoUiZiSuSmCGCL6IYo4Yn0ihicyy2yOCIMLqo3I4lynjjj2zNyGGFAF6YpJICSkcjAjb6mKOC1TUpmH/UYVkgYtnlKOVg26no5DZjHpklDfcRidl65bHZXmRPxlmflnR6IOadgjSmZ0Bm9glooIIOSmihhh6KaKKKLspoo44+Cmmkkk5KaaWWXopppppuymmnnn4Kaqiijkpqqaaeimqqqq7KaquuvgprrLLOSusJGYLK56VeTjpnoxIm2uOhQAZKJqBcEnqsoFH/hlLZWzA6polYyyIkGUA7JiFJrvVcC98fCenDbbch2SdPuOLW9a164TKyazzmLuIXPOaeO1S777xLmJ3tzEsvVfqyMy+8/wK8br727huwwfq5W7DC5MrbsER5MsxtYg9DXDG7F2MsZLbXlHutJfRZ2/Elf5I8LSeaScQeUyymNrIuz5K2cBbJghYvFUqZZqUvxUIGpzLBeoam0FNu9rPROeMMpjBLM9200+nSPLPNMVNdNRjr9Uv0y8qWbGzIYYvdZ8R34ns22mlnvDbbdCbcNtlvqx0n3HF7fTfeeWfdntlzu7131OnJXTbYY/Md+NB6In540YsnnfjThio+ec++Dvb66MGSbmwpj0BwTU4BACH5BAkIAAEALAAAAAAlASwBAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2nQH6ruP+DwxCeESi8IhMvopMo/IJjWqaVJ70is0qqlyA9gtGdsfhsrk2Jp/X7FQ63Y7LP2/4/I6v1O35vj+xx/c3mBcoSIjYZqiW2Hi2yOgoCQbJNXmpVWmJyRmlWdUZqvQJKvrlFYB6R8pkirWpyFrk6vkWK7tDOxrIhpurmwT56NsDHKS5Rmx8TGrmuwwkO8wK/YPrTF2N84yNrL3N3W34DR5eJkx+Q1w8bZuuvn7b9V6uHOfVqkpvs86+/7+hnz6ABCkILIhQT7+EDCUsbAiRwcGIFAHFq4gxlb2M/xUvcuxo7mPEayIxSitpMhvKlJVWcvTm8uW4mCL30FyJD9TAmyVz5trJM6jQoUSLGj2KNKnSpUybOn0KNarUqVSrWr2KNavWrVy7Sp0F1KurQ2I72SwbahHaSzDXJvrk9m2zuH9O0i1E8u6qkHqTbewrzy7gdoIHn3toWFzexJQmMj6F+HGmyJKzUK4sxTHmVx43X7ns+Unn0Jn5kha9+HRplapXw21teS5szuhYUJmNobabebgtzNxdp7dvsiR0Cx+iMZ9t48cdGghrgnXzI9KnR6tuvR727DT+cudn+nsM0OKXjC5v/jx6F+TXq9DsvoVA6PGjt69/4j7+4vr3j//o718IAAYIgncE5mfggfYVpiAKqTXooGwQvvfahMu1ZCF7v2VoW3LucAjDhyDK4JMV9I2IYooqrshiiy6+CGOMMs5IY4023ohjjjruyGOPPv4IZJBCDklkkUYeiWSSSi7JZJNOmpScRk82AMeJSPLyJHNHSmgkg0M+CKR6Pg5YI3xjmrnjfFaWqeaPavqT5ptuvrlmjHTW+eKdc8rJ4514uujnmXzGSaeg8+15qKFo5jhoj22GmSikYvY5KaFeSrodpm11WaGSWiap1pQewiKqRSaWeg6qDzSRiqqm3uYqcU6eJSqWWdra5KdbhpqrrkX6SuSmoAL7Ja9MElvshsf/Krsks8uKOGVwqkYybSmubtHDn9duy2233n4LbrjijktuueYy6qGU3ELbK63PIqsovJZyGWSC8Waq46Nx4aNYpVaV2Eps+m6FK2qNXoXhLnpiRe91C1cFpnaFQhweeIFORaZ8fv4SVaQ+bMzxUwNbvPFXB3cHMpxLPUxyySKzjHLKL8M8Q8oqJwUyPDI3tTMaNjvVc8w58xw0iUXj/HPLNCOVtM8uM2WztgteDHXTQk9M9NFGL8101DpjnfXTSmfMk9cfj1y11jWjnbbYX9u78tAOVxy32xI3PDPXbwvbMdXU4Q2V3UIkzLDec7OLMNiuwerVyZ+1yu++i84bMaV0GFPOt5CXap45pwW3Sy2qjJ9Leummn75VAQAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITJoAAQCTqYxKlc6qtTrNanvX7nULDsO85K/4jB6V19i0+41hy+H0+kOOh9r39TyeDwjn92enFyg2mOe2dgiWSIio2Bj1KLn1OElVOXe5mXm0yTkV2vYpRMqmhepkerpKlvVq2Ooj6yVly0rLlWs1artb21uaNDwbfGN8bDSMvKO8TKTsrDOtaUyNg025nZ3ci2vtXdN83T0+Ax5ejk4uGyvenv76ey4/H9ppfx9Dqq/Oz12iSAADCoT0D5jBHKII5lr4rIlEOg8hWgxR8aLGDv/vNnrkQO+jyAz+RpqMU+mkyguYVrq0gPClzAm3os28iTOnzp08e/r8CTSo0KFEixo9ijSp0qVMmzp9CjWq1KlUq1q9ijWrVodfbG7dZelrsJRiwZItmwkV2kkd1/Jp67aPwriCMtJdVPAuV7h6w8Trq+ovYHjsBhMubHgd4sTm8jJubPcxEmiS6zmuXEQwZmb7Nktb7Dnz5dBDRpMuPfc0KL6qOattrbglbG5nZ8duaPswo9x7WXnlDZzareCOYhJfPej45NrKg7xu/mMV9Oghp1dLbd2G6ewuQHN/0fk7i/DiV2gur4Iy+u7k15eA9tu9iPPyScCvb749foz094P/6O/fBwAG6IF3BPIX2YFqbKdggdg1aF91EC4h4YQU5mNhChhmmJ8fE3HYIW4gjtdEGSNqd2KKKq7IYosuvghjjDLOSGONNt6IY4467shjjz7+CGSQQg5JZJFGHolkkkouyWSTTj4JZZRSTsnWh1QesJuUxjXpoZMDefnlkp6IyZyRJSF55pFpmrmhmm2yWWaRa8IZZpJjkpkcl3mCGRafJk75BCwHPlGNRPF9JyKTddp5p5tvCskakA/2aGCO+tWoHqUDygjfoS926qmLoIbK4qg6jkrqiqZaiiqroJ7aKo6opnpirLLaaiOuN65666uw3sdjp5pm+uulM256rLGY/yY4bIWSOgvpo3I2ymiffg53pQG0ZutNoCVma221e6L5HJHQ+sjgriVOWiyzuwK7o6+uwvsur7nqSuOs22ao774W9usvDYQGvBTABLOXylcGozauVQtTJ21UBh98wrlNTSyMxRc/zFClSU1M8XzKFoVxx8gOVbI29DqV8kHEbtyvycI+xbHLKxcM8DezQpWzzvYyFbPP+H6sr9BDE/0zPkXznLQMNcN8s9JL0xy11EcrNbPRO0t88nhPs5zuGF8zHal2Y4MtXcZTV1UuDy2zLRvEa2e1pdpbl+VtyGLPHWPQy979t7z3Np1s1r2+PO/IonYNo+KcutvsnM9Kbu5Aeg0XniiX6/rGbeee81QAACH5BAkIAAEALAAAAAAlASwBAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiaYdoLbuC8cxQNc2K+f6zvf3b+sJh8RiBogMGpfMpjAJpTmn1GopirVqt9wJ9ovrisdacJaMTi/NYLX7nWN/4fT6Sd626/cc/JwPGOjldyZoeHhAWIjIGKi42BhZ9xglaTlJmXS56ZapyQk65okUWso1CmSqWoX6s/rq1FoDS7smG1aby3OLq+s7I/srHNc6bAyDeqzckrzsfEf5LA2tOG19hXetTSK37T3y9y0uIjU7fo6ern4VwNK7Dj/4GU/PwFaPn5idD/+46X6DHwiA1RrlEbjBEyKC4RBaaObIj8OHEAH5mxjhlsVo/xgh8NpTsaOCj3aKiVzA690bkycRpCwZrKXLl3RIykwpBQ5Nme1s6tTIE6dKMjh59vSppmhQpGmULgX6k2lHp512trSalOrVmDWlioQaFezNkCu9fiVblqtRAwpBql17tCCft3AvbhwFF6VEQ2jzxoUUMZNfB4APcRz8AGA7TnIRK+s21LEwM5KtMQxYWVzkzJw7e/4MOrTo0aRLmz6NOrXq1axbu34NO7bs2bRr276NO7fu3bx7+/4NPLjw4cSLGz+OPLny5cybO38OPbr06dSrW7+OPbv27dy7e/8OPrz48eTLmz+PPr369ezbu38PP74Khovlm2hov8+9/Pr38f+/YNd/8gT4kHt4VUBKeix5VMl5CzZAWXli6XVQeGb9VSF4Zu1l4YYcfoeVPh92JxSFI3IXIluNoaiVioR0OCGG+4HYoowR0hijjfiR6NWKPOaoY4MaAhnkPDD2JWKGQz5oYmE4tsWgkBIeOGBAmy1JYEZH1bfeYQJW2c2XFM0o5piVXFlmRqSgmWaBbb4JZ5xyzklnnXbeiWeeeu7JZ59+/glooIIOSmihhh6KaKKKLspoo44+Cmmkkk5KaaWWXopppppuymmnnh7BFpeF7sinf3l6SedlJ8bJZJoXGoWDO4wReVWQkQjFJkJh8lUirC8G1utWWXaFa679QAlTscb/rtNqU8qa4xCtYjwLbbR0OUvtspqlKEq2OQkULLbZ6houGt5+mw+uaXnLj7JZnQtusVXBi8+z77LbrrvmnotuPNTe+2+69u7Lr8D6EjyuwfKKG3C9ByPcsMMLQzywxOrOW7HCNU6bcL4XY/yxx+VSvLG/IYPMbT0nA/wqPSWT3KzGMTM8s8zIJluzyDfrcS0rPS2mbSxIYiJYF0p2i6ogSU+xqtHD8rqrFUs7HbUkN25BJVFXgyJrEEH7kHMZRqLWcn4pmz3yfyV+7eDEameM9sP24Rs33PHRKx/eeev9Hr9sY9lx3wXPPTh8fhNeuOF8G3j43nTfvTjjgUP+OOV2Kit+ueUrO+42f3K//bLm0nLes4Cjg77zm1nXOXWqVe+pqit/swq0qB0VAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MqgDEolGITCo9xqZzCY1KF85qc4rNAq3cYgCgDYtp3TJxjE4PzWa1+/1hy+H0ekXOtuv3VHyeD2jnhxdY+DY4Z6g4hvi3+DjVmAhJqSTpWJm5dVmmefjFyNnlidYZKcpFqkUohZqqejoI5WoFG3U5S/tkaynaq+vFm0T7CwwmLKQ7bHyMvOkKmmzsHDS9rEz9w1zsm+3DfIaE7c0D3izdTV4OvpSurmN+Lt74rm1+61f/Hd+Kqb++LQuYK/L+7YhX0KDCCfcWOqTA76HECA0nWmRQ8aJGBP8BN3o00PGjR2AiS5IsKZIYSpPuVn7k5HLlQEQxXc6cVDOmv5w8Z0bjCTSo0KFEixo9ijSp0qVMmzp9CjWqVG8JpzpMVdVqNpxaqdHr6lUSWF4tx2ZSabbSuLSQTrJdZO2topBy+WSsq+cu3jp69x7q61dNxMB8ARMWM/iwG4SK/7Jr7Dgu5DSGJ2OpbLmf5Myh3HLujPZzqdCiR6MqHVks6sUwV8NR7fp1vth5O2Wl7fhLuNu4e/v+DTy48OHEixs/jlxQcjq1liMe5fwy1+jzWFG/Zv36M0K8tdeA7b0HrvDiwZPHUfY8mfHqc7Rub+M9/Pjm589gb389zfw3vvL/p5/df98FKOB9OxU44CsIAjTQgg4+CGGEEk5IYYUWXohhhhpuyGGHHn4IYogijkhiiSaeiGKKKq7IYosuvghjjDLOSGONNt6IY446GvVEdzZOl6MsOtY3Y3ovnkbjWi56tiSTK07jo4h0qYjZiFVKeSWIiaG4ZYpdmsgYi1+C+ZiYZbIQpXFZanBTc9edKYKQ0U0ZB37IbcYEknc6yUGbRgpHWp5KqqlnnXQG5+d+IIR5nJ2CrombLGkyhFA4y80xKaWVZkpbosGQsOmnJIYqaoiklqrlqZamqiqnEba66oewxtrhrK4+OCuWuZq6K6ut8tqrrMHWOqyHxRL7q5XJ/+pKaonLKtuss9GSWamXm1LJqLVwassnt4E++W2Tjso4bo2z7XhAoj+hy2677r4Lb7zyzksvR7qdceuS90KHrqI3ylfkn+BCQ+6gcjWYbzWHdgVkLHha5Z90204FcC6Q8kiwxRcT1e12GwM1sT3VRvWxDNMyNTI62aKcssjXNhVqdS0rdXJ5MbN8s8szH/UsgztjfKrCL9PcMzw1A62qx2MOdax7Qydlq84lswSr0gsLFbXVHXPcNHor85y11AaDXbXQDyNdtM/hkp20zBnD3LXaRBKdttj+OhX3PhGT3LZmBEJVtzj7Kshw36vsu+5YQVP79KiNS/u140tDe/aJIRt7KzCXbxdcbox7B3lgv6A0WG/ppp+OeurhFQAAIfkECQgAAQAsAAAAACUBLAEAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLxiEy2AMqm82kASKdUqPXKo2q32K7XtQ1rv+SySIwem9dsS/rNZLbn9AT8Xs/X73y9v8zX9zd4FRjYJUc4Zyj4lKYIyIindAiJJdlohGlphTmp6cnp6AkHSipKSfpmqoqapLo6BFvlWjT7KHRLWyury5Xrm8gLFKwWVCw1DIws7MOsfPy8XAz9w9zcc11NTD3dvZ31zS0NHu7bS16uE0x0ja1+o2urDW9+Op9en9PKKq6/H+oIvX87GKVCRnAcroPsEhILMAXipYYOK27wZzFjhXP/Gju6kecx5IRbIkuODGgy5YN7Kls2MOgypoNPMmsyiAMRp82dPHv6/Ak0qNChRIsaPYo0qdKlTJs6fQo1qtSpVKtavYo1q9atXLt6/Qo2rNixZMuaPWspDFpRsdYSyuR2T6W4dCTRXWT3LhuUer/w6+uFJWBEggd3Kmx4FN/EijcxPuz4MZS/kp0srsxwLubGcDc3MeS5UOfQnI2RJvFOhdrTIdqytjz6NTrQstvlzFs7GuXcBWfxzgbyN8DgwmtgLA4jH/IXypcvae5cNfToJ9xRBzPwuvTs2qtz727COvgU4sej+G7+DPr0rRGy9378fXuK8lHTr2+fOP78u/eX//Dt33n9BfgfbgRuF9uBAi6kYHI5SZRagxJOSGGFFl6IYYYabshhhx5+CGKIIo5IYokmnohiiiquyGKLLr4II1IRxviSazTaAdONocx4IkkucrSiez1OB6I7PG5o5JEZJpmMiExGFOKTTX4oJZQeVjllh1gqKeGWWWroJZcKhqllmGISSCaHZp7p35plbvmml2qaGWeVV8pZp5R3wrmnnlRiWaSdUfo5aJIkPlmioSaWt6iQKMaXqH7CJcLmfJfxFocYMVyam2Yr0IZcZMzdlkylniHGIoA/+tiipI8CmaKjQ94XqayHEvmnrSMyuut6heoaKK59Qjosrb0KOyewv/8aeyysszrbKLTPqhokq63CQuOA1xqYLag34sjgtzc9aKq45p4rFE6lomsHqeHq6G4pOmr7qrUqMtustE76WiyxyfKaq5H5CrwswQEjejCTCSP8r6ANEwpmmg9DjIS6615FZ2aaVuWmQDlGlXE7qCrV8WycyiixbtQyFbJCK5OMp8uuHpWyM8gCVbM9/g7Fp8z48tyzzQCjTLHON/sEqM/KEuWw0IouxbA1UcM8dG9TJ2WwyllDze9wCkO1s9dPOxW22FVzjW0/W4N9stZnN8Wtx19blem7Fc/NlU4TjV3w0kiuHWzXE+sbOOF9vxytvfUivvjI9zqe6sffeopu3bcMsYt55ppvznnnpBUAACH5BAkIAAEALAAAAAAlASwBAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNc2CwT5fvf+D7QAhsTiUBdMKpc0o5OIZEqn1M/zaqxqt9wH9gvtisdSsDlHTqt75/P6DW+13fG6XTRv3/d8TF7fFyjo9Wc2eIhYCIjI2KdI1xgZ9wgpaZlGaXi5OZYJxgnK5fkVWko1imWquoR6tfoK1PoES3sj61Sb23R7pOsLwxv2O6wSTHy8Yoy8XHLL/NwsCz0dgkp9DeKJvd2Ryf3NURgFTu63WI5+seOKlu6uweOIFP9eX0Habq+vkLfvf6Donz1vAt2NKkiuFUJw0hZi4+XwGsSI0ILlO8TjIkUK/xYZHZm1cYJFjXwqhWwwkmSdOSchpBT0pyXKkY7EyeT3smbMmwly3iHI04DPn4+CAqS5h5LRo8qSKl2qo6PTokuRTqVqVOpVm1An6twJNWrDkk/Djv3aLyxToDDBqhVbFmPat2u5yjVJd95cSXjzwu3r8W8vvw7wmcpImOO8xIwbO34MObLkyZQrW76MObPmzZw7e/4MOrTo0aRLmz6NOrXq1axbu34NO7bs2bRr276NO7fu3bx7+/4NPLjw4cSLGz+OPLny5cybO38OPbr06dSrW7+OPVQ8ldlNfOLePVxM8OHvCXZDvnwEa+rNKWwvsmn1dVDSW41OnxTOoc7d1v+VzxxWKdXXnDbnaaXcQQMWsdyCCB7noFfGRfjgcBQCKNyFFQKnoYQWdugMcSB6GNyIZ5VoInsipqhihiweVNyLBn4oI1Yr1hhQjDjaReOOLEHo4zk6BgkYikSmkuCRSDaoTYQFzuhkfwIOiN+Brixw33P5paLShtBt+dF6J8LnUotk3qNUemdiaeWSa24g5Jvh6DWOnHbeiWeeeu7JZ59+/glooIIOSmihhh6KaKKKLspoo44+Cmmkkk5KaaWWXopppppuymmnnn4KaqiilqfmooYxOl6iAZV6p5l/jqknhnhm2Sp/di44q4O56koYq2toqBaXgQBbVZxvgBgUj3D/dMhTXGqMeNOMvyJ7kqtimFjte5hAuxGJonBLUYjbUhuRl1VgG66sWqRYrrmngLuQrevCG6+7ZdArkLxb4JsvrfMym6699wLskL7nElyvv/temK26/0YZsLddMBySwgvz2q3AB1Mpk8TXctyxuMta3K61zzocsbR2eFwxjEm1+aNZzpLFVrDi+DpuPzh3C3MWlsTcWJGBfUTPsBhFhfTOlIEZpqNAI2rjoCoDqu2r1ihNqsh7akwmyWeCXKvBXYMtJ8RlY3w22mtSeCvbbas9ttlfu502rnXbfbfY4dGdt9dZk/0m3GsD3jesgfsdt9axsvy2yXlWHajLUkdt6F6KDDItjKSIjcp5598UAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITCpVgKXz6QRIp1Oo9cqjardNrPfb4oqlgS74jP6M1+S0+21hy83wuj0xZ9/39vycD5jm9xdYeDWYZ6gYhSi3+HjUSAhJGSQ5WZmpc4mp6WnDqfc5ShPqSIoKYzqW2hq2yuoqewIrNvvTRCVYu3W7I4rF2+ubkxgsXEV8M3iMTKcsg+jlDF0j2cxbPcN5KKxdet1d+x3NLW5KXn45jZ6uah5ctu4eE/oFT+/SDsacr97o5s8zf6/CvamSjKA1gwobPmDoMCIDgBIrLpBmMaMCY/8aOxrIFcujyAO2Rpo8iTKlypUsW7p8CTOmzJk0a9q8iTOnzp08e/r8CTTok4FCXa0pmqof0kog/SxlOu9poVVSp1Ktuicb1jreth5E5jUg2LBonBElO9Qs2ntmz65N0vYttrFyGcWtm1Yt3iVt2+xVcvcv4MCCI+ktjIQwYiOHFzOm69iw1siJx1GGC+sy330vurjVHIFzik6gQ0NEQbG0BIyj8amGcGpF5ter5YEsaJk2Lsi6NzXuDarvZ+D6hBMPLnz48dbJlS8v0VzXc9zNpxeP7tc6c+zOtXPgLt27CfAJxZMgX958CPTZ1ath7/48/Pgg2Len/30+/g72u+//N03ef++hJyB/BBaYX4AIJsjdggxG5+CD1UW4AXgUVojdhRIqpuEFE3aIIYcgeijiiCTyZmKIs6U4oGgsGujai/WdJuN6th1VIxMf3eZfjj7+CGSQQg5JZJFGHolkkkouyWSTTj4JZZRSTklllVZeiWWWWm7JZZfi9bgljl6SxFGXqWVpD5YuSpnblG1CiWKT1EQ555O/MVkiknka2RecexLZp5PGyflnkYHiWaiHZSwKJnCJruZIo6o9+hBr5tWJwZrPYXpimtrFCelk1nXVqaibrhjHnctdleqho8Y4wYevntnqoN4plSmEX95YkgYWxtfUojDqaqiCgBo7pH5B/yq7LLM/2nfsgUJCmyy1zUp7LbJAWpvtr9M6+6y23RIbbYbFNqinuUequy657dqqJLxLUvotqPGaSierVGq6L61aNtXrmBsxKnDBBh+McMIKL8xwww4/DHHEEtfW8FGSCsprSGZaqmZUV+rrJsj5olrVxUWQihTAupicBcpB4TqYvTl5XJnMNvErBL0uvTmEqzPjm7OqNXnD8jtCz3R0D/IOnfQvOqe0tA8+05QcEVMjXXXPT5sk626cUu2u1E23FLbYNu9cttJnk512y0DLhK7WPGPNriUi39y22bAy3XXQe4Odt9cc/9y31TDvVHfNGvuUOFy2CZty1vdGfe7WMidS/u7a1X49r+aV3y0oyWx62jGNVQ7OZWwJezZx666/Dnvsss+OUwEAIfkECQgAAQAsAAAAACUBLAEAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLxiEwql8ym8wmNSqfUqvWKzWq3XEDA6+WKxxaA+Ywmq9cJtNvNjovf9LP8fq3r8fyp/t8XyPS3J2iIRFh4uBiUCNjF+OSoaEUYiThJVzl5aZSpSfVp1jkkCidlmkb6k2oX1aq6ygOLCusqO9v6ahuLi5Nay3vr+2sKJfxGnCMajDyqvMx57HwKfZPoR91rbVNXpb3NfY0FHi5+LlE+jM7uoL7eHq/wLl+/8P5sr/+lvu+P708fvYD2BhKsV+6gQHAKF1JrWPAhxIjCJu6raPEirYz//4BxJMjso0JsIjOCGRWmpMqVLFu6fAkzpsyZNGvaHEfpprVPOolt7NkJI9BFEof2YWiUj8GkawAyZYMv39MuUVNO1VIV3tVQWaVu/dbV69ddYa2Obdb1bLayZtUOYqvVLSa4ciXBFVv3yF28eYvsbdvX797ASv4CJtxoMGK9ihcLvuvYU+PIQiZTrgz5cim6momw7fw4LWjPYUdzODyitOkyOVNXXV0hU4mssNMZc720doOfIvrpfsCLRMLf7oSG0Ea8OLLZwZPvLipcl/Pn0KPLnk4dOYqToLADH+7dh+/wucaTj2b+/LXc6ms4bb8+PfwZ7+fTqG9fBv78MNjz/+8v338uBCjggNoVSN+BCOrnzILuNejgg7ZE2M2EFMbH04XoSaOhDo50CEQyII5IYokmnohiiiquyGKLLr4IY4wyzkhjjTbeiGOOOu7IY48+/ghkkEJ2wF0aqA1pG4dIRsDbkgwY5+QBDR4JJFJREvhjVEi+NiRtQYqWpWo+ftYjZzxmtiOaOVp2I5s2/pWmmzTCqSOda8o5o5046tmmmnvimaeZdwo6aFllknmomGcqmiiXVTr6qJZd+heplUuCdyWEUbbR3Kb3SOfpPfwoGao7oyZDZYRFxlVqdo+0qhypsBoA6qyn3jbrcq1q6qmCmVa3paWXYjqpsMUa+yWWjf8Sm6yycVI6prOLSlsospX6KiS0YVp7ra6bctust73y+q24pVpo66rX2UprSOwioG53785zq5Hz3otvvvruy2+/MoLxRcD+tmuJvri+2+S5ne5qrpPYBgtutBFPy+y21P6537IX1wimxRk/CynFkno8ssYf+1WvW4xKRtJUhs4l61Avh+auUSsnlnBPN7OysM4d4wylTj+HCKxNQ4v3sNElA03uTSHzPHFMJ5cXNUza7nC1TBtXuLVLVRfTtddNYxZ2Sw2TXTFQPZNWttUHM9a21B+mynTST3lDN9pfY7x3n33zPXa2dgseOMRr/4ourInnWqvi9baMb8yRa5L3wJYNX4555ppvznnnno9VAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITCYBAYCzqYxKo86q9TnNan3XbnULDs+8ZLH5nCKrmei2m7NWv+d0Slxez+sRd/z+T9dXBkjoJjhYmBh26KXoqMXY9Tg5FXlFiYlk+ZXZSbTJ6Sn6AzpqymV5qrqzueqaw/gqa3M4a1tzd6tL07jr+wscLDxMXGx8jJysvGwkx8YMvRAZTd1UWp0MeoltrL3NHeyNCK4rPk4uwXT5nGe+hh7R1+7uBy89bUj/bp9w3aYfhx8fbWgABhTo7ozBg/boiVnIEJ2+hxD3kTMIpqLFi/8Yt2ishw2ix48gqYmERLIXuIooU0ripjGLy3MmT1aa+a3aR5k4raxkebNnKJ1Agwr9WZSKUHYhbUpZigWm06dHOS5s2VPi1ZFZtQJchLNhR64u+X0FW9asQzMzBVoT94+kWwPm4sace8Cf3alzUwXairefoD0YmQbOW8ZwHYeKD/ejVNexLYKSfdVqXHmWukaYM3v+DDq06NGkS5s+jTq16tWsW7t+DTu27Nm0a9u+jTu37t28e/v+DTy48OHEixs/jjy58uXMmzt/Dj269OnUq1u/jj279u3cu5Po7F3H5pLhacUqb14v+hYJ17uY6D7N2fgmktJnoA5Kurv3B27/vLdTf28NBqB97rWiQFvxeSNYWuhFRpeC5a01oFwTwtdVeF9lyN1VVXVYWFjdQQXYdiTOp92JKGanInwptkjhizDCBeKMDNZoo3rX5UijiTwiiOOPtXgnJD4jhijhkROJqOGGDl7YXpJNQlghX1DqaOGClCVo4IF+JVhlewKGSR4fZG45JmJl4idmmtJAAV4DVLpZgo501nmmSneyMJ5Pce4JaKCCDkpooYYeimiiii7KaKOOPgpppJJOSmmlll6Kaaaabsppp55+Cmqooo5Kaqmmnopqqqquymqrrr4Ka6yyzkprrbbeiqtZ+rWaC6pGhopmpz1uGmOmK1Y6lqVW/44myZ9KLZsZgWx1Ge15GQX4WbBU8Vettkuk5NmcSjx5mIvjkouXuZqg29exRTCZbrLrgltuic1IiRC0QcDbrr2f4KuWv++yK5a+pBBcsMBDAJywvANn2a/BQNAbGLf3YlsxtQtjnLHDR3AcsbsfSwwPyfsqHHKx54ocr7rbiluZy0bdCJrMM38pWpsU4cwszQUNmZq3CuW5q2o86+GsaX3+Z+qauT7N2tJD+SpPqUACe7WwPhMLs7Iqe/31pB6LPTakJiuqcaMWS5o2o2ub3faiID/6Nt1xy302onejnfehfetdNtw2kx02pYUjO6ymUlv7qZ2cHi2qPEk/3izUlghfjnnmmndSAAAh+QQJCAABACwAAAAAJQEsAQAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITCqXzKbzCY1Kp9Sq9YrNngDcbgCgDYsz3bJ5jE47wOY2Vw1Xu+fvuNz9ndLp9vC+DfU314clyMdkiEdIlXiY1Ai4GAX590jpJfl0WWm0WZbZ5MlZJAoGqlQ6KlR6ipqqGsTa2vkqSCQ6e1RrO4Sbe7vLu7r5CxwM60NcPHyMnEy5zNzsKO0cvTNtaCx8/Zy9p0vd7f092Pn1aToOVA6+/q7R7g5PTyEvXp/PcG+u79/AT9G/gQcCRiKIEJ1BTAkHLmTY8N9DiBHzTVRX0d/EjP8SH3J0uPAjyIAiO/IrOVIeSpPtVqbM5pJgy5gvd9FMOO0mQja1dEZ8lcfnT19CM14qutIaUpcYlzp9CjWq1KlUq1q9ijWr1q1clzTtWtPLV7DjGpFdB23s2VPE1K5dlOot255yJdmsC/cuXjg599455vcv4MBivhEuDPOwlnKKszBufOUxZEaSJ+sxbJly38yXE2/Bx9kDZhOQQoPwLIKo6XibQwBdTabZiGCwY9NOPbi2vdunW+uWoPfDzN/AXwsfTjxCXNcqkxdX1vue8wnQcJ+cTp0bc5LYgSv89Jl7dx4ex5Mvbx7HxfQ61rO3cdHt+xbx59eob38G/vwx9vP/f+HffyzEJ5+ApLlnoAsbJaggggyusOCDA6InIYQGVdigeBiqcOGG9F3n4YTIhWhhZSRyaOKJKPqmYom8tZghXTD2t9yMNKhmo36l5XgeaDyS92OQQg5JZJFGHolkkkouyWSTTj4JZZRSTklllVZeiWWWWm7JZZdefglmmGKOCQFPQZGJAU8+ogmQWWw+4Mmb++Aop3F1yshmbmjqOSaLYPrp5WhiovYnoYGm2KWgX454KKBbMpqooY06qqWihcpGJqVcarrpi3sG96mdb4qKQoEnylLqPDNCV4JZpkq444GlvVqhUsfR2SIbZ6ZKap+gZsrnpcEuKmmnlhpbbJbS/xELKZYgItuslRpW+qyy01q7LLSIXtkhtdVi25y2xzobrricUpntpOdWWa66njKLqa/DCtvroHiOWqOcBbGqbwLV9TunrQAvoCutAx+McMIKL8xwww4/DHHEEk9MccUWXwyVwQoLDLCbDPPbMch3oqrvvcCaLC/Ka/VjRbxnJdKyy12pCbMUyV7VViA3U5UvIjtLpXI4P2ccNClDP/Wu0EcjtS45Mlf1NC1LFzV1j00LNW4vVfuUdTVJA92110UTfbXVX0e17Ta/8py21mejHbbYuEK9tdlzs1233UfNnLfesW4Vt9F7k1W22zUTXrjaLK88byDf1YFX1PbWOznJIxzfHeq/CA++8eEPq4px6KKPTnrppp+Oeuqqm1YAACH5BAkIAAEALAAAAAAlASwBAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuCx9ATNf2jcvAzvPBnAsKh8THrIdMAovMptOljCqf1Kp1I80ir9yuV6ENb7/kclGM3pnX7Fr6vWzL5yT4m47Pd+xwvf8vwWcHSFiIIDhoqKiHmLj4KNfoCEn5JdlXmel1OanpycTZ+TkqFHpHihpkepra6raa5ir7Ahs7e8tSi0Z2pIZrqau1KfXLFSxmHFZsdSxchbnc1EzMzBp9Nh31DH1NlD21Ldp9850ULj5uU95zzp2Os+771PheGl8tWK+63u6u//rtCr1/8LIJRERw37SDfBLmWJisocOCuoD5m0ijokVb/xgfwiqDriMMU2w4ilSIMFKWk6Dy4dEWh6U3k39iynSy0ubNnTx7+vwJNKjQoUSLGj2KNKnSpUybOn1qDCpQZVJPXqw6LiXWd5y2XiPpddnHsLOCkXXV7CwqiGpHGWybqRzcuAHnQrpnd1E8nXnz7O1raC9fwHMEDya8xvBhxCAFM2Zk+PHLyJLpUK7cRjFmlZc3N3bsuSTo0J//kjYz+jQv06pL12298TXs2G9n0zZr2/Wx3KjZ8l69+7fuVcJFjy3emzjyzKGWF5bk3K/L6BqoZaRJ3cIuNz+sZ78Q8jvwq+KHaS1/mzz6eV3XR2zvvh/0+OyV05dW637L/Ppn8v/vb89/AHqk0YAUCWjgdQUmqA5uDAKE4IO0LCjhSBRWCMWFGLag4YYrROghh/aFOGFzJCp4yYkQTqciihK16KI1MK643YwHrmQjNuYslmOPPv4IZJBCDklkkUYeiWSSSi7JZJNOPglllFJOSWWVVl6JZZZabpkgj1xW0As4X4KH3ZgNsGgmGAOlmYCJbBoAVprEeUkliFgG9yWeWfp2J59W+lmlXH0COqWgVxr6p2yBKlooP4cy2mhtiUq6KKV1Wlqpno+mpSWhmdo5KaifujmmqIPCxyapIR7xQ6sqpHgiVSiguaF6e3RX46rhhSAMqySedwKrvrYI65twopqqqqX/xmmmqaEyy2WHmx4XrbTPjtipg1tqeiq122qbrbWXOhupt9+aGy60eWJbLbvrItssvMkCa+yaxra565sy3nsmMXTyC2d3rgJMcMEGH4xwwgovzHDDDj8MccQSP+Lvw7kinK+ctOpr773yLlvsvB+fqyzJJaer7p7ijotut+5O+zLMMbNMbpTcunxyYQM/drNx2hAGrs+y5rXye2WeVbR8R4dVs9JLe9VyFzlvNbPRHSM9stQpk5U1Q1szffV4U0P9InNRg71vcmdjndNkTVONKzv/Wv31qHXTXHW5a0vZs8x36/034GPbHXK7eeNd+Ltdq7w4zhuDTC/Hj9ebscZPEfMbpncNhynwxJ5/DnroRRUAACH5BAUIAAEALAAAAAAlASwBAAL/jI+py+0Po5x0gQCy1rX7D4biSJbm6WzqeqHuC8fyTEvsrdb6zve+jAvmfsSi8dgTKjfIpvMJnSynmaj1ii1St62s9wsecbfhsvmcGlPR7DZYzXXL5034mI7P6+x3vf9/wtcHSFhYIRhnqLjIgJjICMno+BhZ+TdJaalJh0m2+TnX6QlKeia6Vpoadjql6urFuvQ6axWrRIvrZCuU22u0i+Mr/AMcPHxcU8yCzDyjvNIcDfPMJG1tQs1xvS2S3cUN7pEdTt5BXW52UaWO9oz+1bpa/I6lJr9LHyX4Fpuv7wiPlT9dnQIWHFhHlEGACI/YWminYcJ+EDNJJIbvHqqL/7/mlZHFEcm5NuwglSw1MqQ4Y5/GqTzEa5O3l1I2RvL2jWaDUSZx6nwwSJLPn43s9ZxJ1IJRoUOTHuBz1KXTpxEX4dQ2FUNVq02zQmWK1OtWQ1erZNUKJ2pKsUu5hj07lmxXthYLXT2LIChYd3gN6HXLty9VkJakCkYbBNTaw35ZygzMOIG6nIo9RkZm+fIwYJqbPewc7RRoaQpHW5tketu+1ODasm4d73W+HJRl276NO7fu3bx7+/4NPLjw4cSLGz+OPLny5cybO38OPbr06dSrW7+OPbv27dy7e/8OPrz48eTLmz+PPr369ezbu38PP778+fTr27+PP7/+/fz7+///DyAKMQWIUWwE7vHXgS6spuCCiDQoIGoQroOBOaUFeIsNovlXl2QC9eeaAp/p95WIGd33oFIj2ifhYCvSh4mHnNV3IWTy1agMjRvaCN+Hi73XD4/uPfRje0TmON+RSMan5Iw3UrQkk1Bm1uOUTj6545VYHtTYi1JeiNiGOoIZJpdjtpiXmCya6SKaKLqZJpxvplgUQ/vRmUaJHMaVZ4L8hRhBh3vaBFOGELa5TAnsmHVoIxUy2mikkk5KaaWWXopppppuymmnnn4Kaqiijkpqqaaeimqqqq7KaquuvgprrLLOSmuttt6Ka6667sprr77+Cmywwg5LbLHGHotsssr/YjrZScg1Cykphg5HmCaC4nYtIGn5BighemL7rbYMgsunH3KaFqO354KW7iXtskYmJ/Gyy6a88172IR4UoatmKPmO9q+//WrmJUkBE7yvwANHVnA7DR/2sCkH45uwHBH3dfFHEzNcsRsdU7yxwwuDXK/HITN2ssjvAjyyySuz/LK9dsJbssJ40jyzu+PKlrPO5b62s7rb6hauXNkC7afR1f5GaGEDEjctSo82t+iyVl+NddZab811114rUhuuidnatKtJn/qzqTervXap64Ja86f3yj03pylr+nGneW+aMbN3X3oi3X9b2jfgg1daOOGHI74443HrXbfdj3s6OeU9EpN6OdtDs7p5q0enamCtiTpVAAA7';\nconst DEFAULT_IMAGE_TYPE = 'image/gif';\n\nlet defaultImageBlobURL;\n\nexport default function createSpinnerAnimationStyle({\n spinnerAnimationBackgroundImage,\n spinnerAnimationHeight,\n spinnerAnimationWidth,\n spinnerAnimationPadding\n}: StrictStyleOptions) {\n defaultImageBlobURL ||\n (defaultImageBlobURL = URL.createObjectURL(\n new Blob([toByteArray(DEFAULT_IMAGE_BASE64)], { type: DEFAULT_IMAGE_TYPE })\n ));\n\n const backgroundImage = spinnerAnimationBackgroundImage || `url('${defaultImageBlobURL}')`;\n\n return {\n backgroundImage,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'contain',\n height: spinnerAnimationHeight,\n width: spinnerAnimationWidth,\n\n ':not(.webchat__spinner--rtl)': {\n marginRight: spinnerAnimationPadding\n },\n '.webchat__spinner--rtl': {\n marginLeft: spinnerAnimationPadding\n }\n };\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2] }] */\n\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createStackedLayoutStyle({\n avatarSize,\n bubbleMaxWidth,\n bubbleMinWidth,\n paddingRegular,\n transitionDuration\n}: StrictStyleOptions) {\n return {\n '&.webchat__stacked-layout': {\n marginLeft: paddingRegular,\n marginRight: paddingRegular,\n\n '& .webchat__stacked-layout__alignment-pad': {\n transitionDuration,\n transitionProperty: 'width',\n width: 0\n },\n\n '&.webchat__stacked-layout--extra-trailing .webchat__stacked-layout__alignment-pad': {\n width: paddingRegular\n },\n\n '& .webchat__stacked-layout__avatar-gutter': {\n transitionDuration,\n transitionProperty: 'width',\n width: 0\n },\n\n '& .webchat__stacked-layout__attachment': {\n maxWidth: bubbleMaxWidth,\n minWidth: bubbleMinWidth,\n transitionDuration,\n transitionProperty: 'max-width, min-width'\n },\n\n '& .webchat__stacked-layout__attachment-row': {\n marginTop: paddingRegular,\n width: '100%'\n },\n\n '&.webchat__stacked-layout--no-message .webchat__stacked-layout__attachment-row.webchat__stacked-layout__attachment-row--first':\n {\n marginTop: 0\n },\n\n '& .webchat__stacked-layout__message': {\n maxWidth: bubbleMaxWidth,\n overflow: 'hidden',\n transitionDuration,\n transitionProperty: 'max-width'\n },\n\n '& .webchat__stacked-layout__nub-pad': {\n transitionDuration,\n transitionProperty: 'width',\n width: 0\n },\n\n '&.webchat__stacked-layout--hide-avatar, &.webchat__stacked-layout--show-avatar': {\n '& .webchat__stacked-layout__avatar-gutter': {\n width: avatarSize\n }\n },\n\n '&.webchat__stacked-layout--hide-avatar, &.webchat__stacked-layout--show-avatar, &.webchat__stacked-layout--hide-nub, &.webchat__stacked-layout--show-nub':\n {\n '& .webchat__stacked-layout__attachment, & .webchat__stacked-layout__message': {\n maxWidth: bubbleMaxWidth + paddingRegular\n },\n\n '& .webchat__stacked-layout__nub-pad': {\n width: paddingRegular\n }\n },\n\n '&:not(.webchat__stacked-layout--top-callout)': {\n '& .webchat__stacked-layout__avatar-gutter, & .webchat__stacked-layout__content': {\n justifyContent: 'flex-end'\n }\n }\n }\n };\n}\n","/* eslint no-empty-pattern: \"off\" */\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [1.5, 2] }] */\n\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createSuggestedActionsStyle({\n paddingRegular,\n suggestedActionsCarouselFlipperSize,\n suggestedActionsFlowMaxHeight,\n suggestedActionsStackedHeight,\n suggestedActionsStackedOverflow,\n suggestedActionsVisualKeyboardIndicatorColor,\n suggestedActionsVisualKeyboardIndicatorStyle,\n suggestedActionsVisualKeyboardIndicatorWidth,\n transcriptOverlayButtonBackground,\n transcriptOverlayButtonBackgroundOnDisabled,\n transcriptOverlayButtonBackgroundOnFocus,\n transcriptOverlayButtonBackgroundOnHover,\n transcriptOverlayButtonColor,\n transcriptOverlayButtonColorOnDisabled,\n transcriptOverlayButtonColorOnFocus,\n transcriptOverlayButtonColorOnHover\n}: StrictStyleOptions) {\n return {\n '&.webchat__suggested-actions': {\n position: 'relative',\n\n '&.webchat__suggested-actions--carousel-layout': {\n '& .webchat__suggested-actions__carousel': {\n paddingBottom: paddingRegular / 2,\n paddingTop: paddingRegular / 2,\n\n '& .webchat__suggested-actions__item-box': {\n paddingBottom: paddingRegular / 2,\n paddingLeft: paddingRegular / 2,\n paddingRight: paddingRegular / 2,\n paddingTop: paddingRegular / 2\n },\n\n '& .react-film__filmstrip': {\n scrollbarWidth: 'none'\n },\n\n '& .react-film__flipper': {\n '&:disabled, &[aria-disabled=\"true\"]': {\n '& .react-film__flipper__body': {\n backgroundColor: transcriptOverlayButtonBackgroundOnDisabled,\n color: transcriptOverlayButtonColorOnDisabled\n }\n },\n\n '&:focus .react-film__flipper__body': {\n backgroundColor: transcriptOverlayButtonBackgroundOnFocus,\n color: transcriptOverlayButtonColorOnFocus || transcriptOverlayButtonColor\n },\n\n '&:hover .react-film__flipper__body': {\n backgroundColor: transcriptOverlayButtonBackgroundOnHover,\n color: transcriptOverlayButtonColorOnHover || transcriptOverlayButtonColor\n },\n\n '& .react-film__flipper__body': {\n background: transcriptOverlayButtonBackground,\n color: transcriptOverlayButtonColor,\n outline: 0\n }\n }\n },\n\n '&:not(.webchat__suggested-actions--rtl)': {\n '& .react-film__filmstrip__item:first-child': {\n paddingLeft: paddingRegular / 2\n },\n\n '& .react-film__filmstrip__item:last-child': {\n paddingRight: paddingRegular / 2\n },\n\n '& .react-film__flipper + .react-film__filmstrip': {\n '& .react-film__filmstrip__item:first-child': {\n paddingLeft: suggestedActionsCarouselFlipperSize + paddingRegular * 1.5\n },\n\n '& .react-film__filmstrip__item:last-child': {\n paddingRight: suggestedActionsCarouselFlipperSize + paddingRegular * 1.5\n }\n }\n },\n\n '&.webchat__suggested-actions--rtl': {\n '& .react-film__filmstrip__item:first-child': {\n paddingRight: paddingRegular / 2\n },\n\n '& .react-film__filmstrip__item:last-child': {\n paddingLeft: paddingRegular / 2\n },\n\n '& .react-film__flipper + .react-film__filmstrip': {\n '& .react-film__filmstrip__item:first-child': {\n paddingRight: suggestedActionsCarouselFlipperSize + paddingRegular * 1.5\n },\n\n '& .react-film__filmstrip__item:last-child': {\n paddingLeft: suggestedActionsCarouselFlipperSize + paddingRegular * 1.5\n }\n }\n }\n },\n\n '&.webchat__suggested-actions--flow-layout': {\n '& .webchat__suggested-actions__flow-box': {\n maxHeight: suggestedActionsFlowMaxHeight,\n overflowY: 'auto',\n paddingBottom: paddingRegular / 2,\n paddingLeft: paddingRegular / 2,\n paddingRight: paddingRegular / 2,\n paddingTop: paddingRegular / 2\n },\n\n '& .webchat__suggested-actions__flow-item-box': {\n maxWidth: '100%',\n overflow: 'hidden' // This is required in IE11\n },\n\n '& .webchat__suggested-actions__item-box': {\n paddingBottom: paddingRegular / 2,\n paddingLeft: paddingRegular / 2,\n paddingRight: paddingRegular / 2,\n paddingTop: paddingRegular / 2\n }\n },\n\n '&.webchat__suggested-actions--stacked-layout': {\n '& .webchat__suggested-actions__stack': {\n maxHeight: suggestedActionsStackedHeight || 'auto',\n overflowY: suggestedActionsStackedOverflow || 'auto',\n paddingBottom: paddingRegular / 2,\n paddingLeft: paddingRegular / 2,\n paddingRight: paddingRegular / 2,\n paddingTop: paddingRegular / 2\n },\n\n '& .webchat__suggested-actions__item-box': {\n paddingBottom: paddingRegular / 2,\n paddingLeft: paddingRegular / 2,\n paddingRight: paddingRegular / 2,\n paddingTop: paddingRegular / 2\n }\n },\n\n '&.webchat__suggested-actions--flow-layout, &.webchat__suggested-actions--stacked-layout': {\n '& .webchat__suggested-actions__button-text': {\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n\n '& .webchat__suggested-actions__button-text-stacked-text-wrap': {\n alignItems: 'center',\n display: 'flex',\n whiteSpace: 'normal'\n }\n },\n\n '& .webchat__suggested-actions__item-box': {\n display: 'flex',\n maxWidth: '100%'\n },\n\n '&.webchat__suggested-actions--focus-within, &:focus-within': {\n '& .webchat__suggested-actions__focus-indicator': {\n borderColor: suggestedActionsVisualKeyboardIndicatorColor,\n borderStyle: suggestedActionsVisualKeyboardIndicatorStyle,\n borderWidth: suggestedActionsVisualKeyboardIndicatorWidth,\n boxSizing: 'border-box',\n height: '100%',\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n width: '100%'\n }\n }\n }\n };\n}\n","/* eslint no-magic-numbers: \"off\" */\n\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createSuggestedActionStyle({\n accent,\n paddingRegular,\n paddingWide,\n primaryFont,\n suggestedActionBorderRadius,\n\n suggestedActionBackgroundColor,\n suggestedActionBorderColor,\n suggestedActionBorderStyle,\n suggestedActionBorderWidth,\n suggestedActionTextColor,\n\n suggestedActionBackgroundColorOnActive,\n suggestedActionBorderColorOnActive,\n suggestedActionBorderStyleOnActive,\n suggestedActionBorderWidthOnActive,\n suggestedActionTextColorOnActive,\n\n suggestedActionBackgroundColorOnDisabled,\n suggestedActionBorderColorOnDisabled,\n suggestedActionBorderStyleOnDisabled,\n suggestedActionBorderWidthOnDisabled,\n suggestedActionTextColorOnDisabled,\n\n suggestedActionBackgroundColorOnFocus,\n suggestedActionBorderColorOnFocus,\n suggestedActionBorderStyleOnFocus,\n suggestedActionBorderWidthOnFocus,\n suggestedActionTextColorOnFocus,\n\n suggestedActionBackgroundColorOnHover,\n suggestedActionBorderColorOnHover,\n suggestedActionBorderStyleOnHover,\n suggestedActionBorderWidthOnHover,\n suggestedActionTextColorOnHover,\n\n suggestedActionKeyboardFocusIndicatorBorderColor,\n suggestedActionKeyboardFocusIndicatorBorderRadius,\n suggestedActionKeyboardFocusIndicatorBorderStyle,\n suggestedActionKeyboardFocusIndicatorBorderWidth,\n suggestedActionKeyboardFocusIndicatorInset,\n\n suggestedActionHeight,\n suggestedActionImageHeight,\n suggestedActionsStackedLayoutButtonMaxHeight,\n subtle,\n\n // Deprecated\n suggestedActionActiveBackground,\n suggestedActionBackground,\n suggestedActionDisabledBackground,\n suggestedActionFocusBackground,\n suggestedActionHoverBackground\n}: StrictStyleOptions) {\n return {\n '&.webchat__suggested-action': {\n alignItems: 'center',\n background: suggestedActionBackground, // Deprecated as of 4.15.0. Remove on or after 2021-09-16.\n backgroundColor: suggestedActionBackgroundColor,\n borderColor: suggestedActionBorderColor || accent,\n borderRadius: suggestedActionBorderRadius,\n borderStyle: suggestedActionBorderStyle,\n borderWidth: suggestedActionBorderWidth,\n color: suggestedActionTextColor || accent,\n fontFamily: primaryFont,\n fontSize: 'inherit',\n height: suggestedActionHeight,\n justifyContent: 'center',\n maxWidth: '100%',\n outline: 0,\n paddingLeft: paddingWide,\n paddingRight: paddingWide,\n position: 'relative',\n whiteSpace: 'nowrap',\n width: '100%',\n\n // Order of style preferences (based on effort of user gesture): disabled > active > hover > focus.\n // Keyboard focus indicator styles applied by :focus-visible do not conflict with :active/:hover/:focus, so it is not included here.\n '&:disabled, &[aria-disabled=\"true\"]': {\n background: suggestedActionDisabledBackground,\n backgroundColor: suggestedActionBackgroundColorOnDisabled,\n borderColor: suggestedActionBorderColorOnDisabled,\n borderStyle: suggestedActionBorderStyleOnDisabled,\n borderWidth: suggestedActionBorderWidthOnDisabled,\n color: suggestedActionTextColorOnDisabled || subtle\n },\n\n '&:not(:disabled):not([aria-disabled=\"true\"])': {\n '&:active': {\n background: suggestedActionActiveBackground,\n backgroundColor: suggestedActionBackgroundColorOnActive,\n borderColor: suggestedActionBorderColorOnActive,\n borderStyle: suggestedActionBorderStyleOnActive,\n borderWidth: suggestedActionBorderWidthOnActive,\n color: suggestedActionTextColorOnActive\n },\n\n '&:not(:active)': {\n '&:hover': {\n background: suggestedActionHoverBackground,\n backgroundColor: suggestedActionBackgroundColorOnHover,\n borderColor: suggestedActionBorderColorOnHover,\n borderStyle: suggestedActionBorderStyleOnHover,\n borderWidth: suggestedActionBorderWidthOnHover,\n color: suggestedActionTextColorOnHover\n },\n\n '&:not(:hover)': {\n '&:focus': {\n background: suggestedActionFocusBackground,\n backgroundColor: suggestedActionBackgroundColorOnFocus,\n borderColor: suggestedActionBorderColorOnFocus,\n borderStyle: suggestedActionBorderStyleOnFocus,\n borderWidth: suggestedActionBorderWidthOnFocus,\n color: suggestedActionTextColorOnFocus\n }\n }\n }\n },\n\n // On unsupported browser, :focus-visible and :not(:focus-visible) is always false.\n // And it will turn the whole CSS selector \":unsupported, .truthy\" to false.\n '&:not(:focus-visible) .webchat__suggested-action__keyboard-focus-indicator': {\n display: 'none'\n },\n\n '&:not(.webchat__suggested-action--focus-visible) .webchat__suggested-action__keyboard-focus-indicator': {\n display: 'none'\n },\n\n '&:not(.webchat__suggested-action--rtl) .webchat__suggested-action__image + .webchat__suggested-action__text': {\n paddingLeft: paddingRegular\n },\n\n '&.webchat__suggested-action--rtl .webchat__suggested-action__image + .webchat__suggested-action__text': {\n paddingRight: paddingRegular\n },\n\n '&.webchat__suggested-action--wrapping': {\n height: 'auto',\n maxHeight: suggestedActionsStackedLayoutButtonMaxHeight || '100%',\n minHeight:\n typeof suggestedActionsStackedLayoutButtonMaxHeight === 'number' && typeof suggestedActionHeight === 'number'\n ? Math.min(suggestedActionsStackedLayoutButtonMaxHeight, suggestedActionHeight)\n : suggestedActionHeight\n },\n\n '& .webchat__suggested-action__image': {\n height: suggestedActionImageHeight\n },\n\n '& .webchat__suggested-action__keyboard-focus-indicator': {\n borderColor: suggestedActionKeyboardFocusIndicatorBorderColor,\n borderRadius: suggestedActionKeyboardFocusIndicatorBorderRadius,\n borderStyle: suggestedActionKeyboardFocusIndicatorBorderStyle,\n borderWidth: suggestedActionKeyboardFocusIndicatorBorderWidth,\n bottom: suggestedActionKeyboardFocusIndicatorInset,\n left: suggestedActionKeyboardFocusIndicatorInset,\n position: 'absolute',\n right: suggestedActionKeyboardFocusIndicatorInset,\n top: suggestedActionKeyboardFocusIndicatorInset\n }\n }\n };\n}\n","/* eslint no-magic-numbers: \"off\" */\n\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createTextContentStyle({\n bubbleMaxWidth,\n bubbleMinHeight,\n markdownExternalLinkIconImage,\n primaryFont,\n paddingRegular\n}: StrictStyleOptions) {\n return {\n fontFamily: primaryFont,\n margin: 0,\n minHeight: bubbleMinHeight - paddingRegular * 2,\n padding: paddingRegular,\n\n '& > :first-child': {\n marginTop: 0\n },\n\n '& > :last-child': {\n marginBottom: 0\n },\n\n '&.markdown': {\n '& img:not(.webchat__markdown__external-link-icon)': {\n maxWidth: bubbleMaxWidth,\n width: '100%'\n },\n\n '& img.webchat__markdown__external-link-icon': {\n backgroundImage: markdownExternalLinkIconImage,\n height: '.75em',\n marginLeft: '.25em'\n },\n\n '& pre': {\n overflow: 'hidden'\n }\n }\n };\n}\n","/* eslint no-magic-numbers: [\"off\"] */\n\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createToasterStyle({\n primaryFont,\n toasterHeight,\n toasterMaxHeight,\n toastErrorBackgroundColor,\n toastErrorColor,\n toasterSingularMaxHeight,\n toastFontSize,\n toastIconWidth,\n toastInfoBackgroundColor,\n toastInfoColor,\n toastSeparatorColor,\n toastSuccessBackgroundColor,\n toastSuccessColor,\n toastWarnBackgroundColor,\n toastWarnColor\n}: StrictStyleOptions) {\n return {\n overflowY: 'hidden',\n\n '&:not(.webchat__toaster--expandable)': {\n maxHeight: toasterSingularMaxHeight\n },\n\n '&.webchat__toaster--expandable:not(.webchat__toaster--expanded) > ul': {\n height: 0\n },\n\n '&.webchat__toaster--expandable.webchat__toaster--expanded': {\n maxHeight: toasterMaxHeight\n },\n\n '& .webchat__toaster__header': {\n alignItems: 'center',\n alignSelf: 'stretch',\n appearance: 'none',\n backgroundColor: 'Transparent',\n border: 0,\n display: 'flex',\n fontFamily: primaryFont,\n fontSize: toastFontSize,\n minHeight: toasterHeight,\n outline: 0,\n padding: 0,\n textAlign: 'left',\n\n '&:focus .webchat__toaster__expandIconFocus': {\n borderColor: 'rgba(26, 10, 0, .7)'\n },\n\n '&:hover .webchat__toaster__expandIconFocus': {\n backgroundColor: 'rgba(0, 0, 0, .12)'\n }\n },\n\n '& .webchat__toaster__expandIconFocus': {\n alignItems: 'center',\n borderColor: 'Transparent',\n borderStyle: 'solid',\n borderWidth: 1,\n borderRadius: 3,\n display: 'flex',\n height: 22,\n justifyContent: 'center',\n width: 22\n },\n\n '&.webchat__toaster--error': {\n // TODO: Checks if pass A11y contrast ratio requirement\n\n '&:not(.webchat__toaster--expandable), & .webchat__toaster__header': {\n backgroundColor: toastErrorBackgroundColor\n },\n\n '& .webchat__toaster__header': {\n color: toastErrorColor,\n fill: toastErrorColor\n }\n },\n\n '&.webchat__toaster--info': {\n '&:not(.webchat__toaster--expandable), & .webchat__toaster__header': {\n backgroundColor: toastInfoBackgroundColor\n },\n\n '& .webchat__toaster__header': {\n color: toastInfoColor,\n fill: toastInfoColor\n }\n },\n\n '&.webchat__toaster--success': {\n '&:not(.webchat__toaster--expandable), & .webchat__toaster__header': {\n backgroundColor: toastSuccessBackgroundColor\n },\n\n '& .webchat__toaster__header': {\n color: toastSuccessColor,\n fill: toastSuccessColor\n }\n },\n\n '&.webchat__toaster--warn': {\n '&:not(.webchat__toaster--expandable), & .webchat__toaster__header': {\n backgroundColor: toastWarnBackgroundColor\n },\n\n '& .webchat__toaster__header': {\n color: toastWarnColor,\n fill: toastWarnColor\n }\n },\n\n '& .webchat__toaster__expandLevelIconBox': {\n height: toasterHeight,\n width: toastIconWidth\n },\n\n '& .webchat__toaster__expandIcon': {\n height: toasterHeight,\n width: toasterHeight\n },\n\n '& .webchat__toaster__expandText': {\n padding: '6px 0'\n },\n\n '& .webchat__toaster__expandLevelIconBox, & .webchat__toaster__expandIcon': {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center'\n },\n\n '& .webchat__toaster__list': {\n margin: 0,\n overflowY: 'auto',\n padding: 0\n },\n\n '& .webchat__toaster__listItem:first-child:last-child': {\n overflow: 'hidden'\n },\n\n '& .webchat__toaster__listItem:not(:first-child), & .webchat__toaster__listItem:not(:last-child)': {\n borderBottomColor: toastSeparatorColor,\n borderBottomStyle: 'solid',\n borderBottomWidth: 1,\n minHeight: 32\n }\n };\n}\n","/* eslint no-magic-numbers: [\"off\"] */\nimport { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createToastStyle({\n primaryFont,\n toasterHeight,\n toastErrorColor,\n toastFontSize,\n toastIconWidth,\n toastInfoColor,\n toastSuccessColor,\n toastTextPadding,\n toastWarnColor\n}: StrictStyleOptions) {\n return {\n fontFamily: primaryFont,\n fontSize: toastFontSize,\n minHeight: toasterHeight,\n\n '&.webchat__toast--error': {\n color: toastErrorColor,\n fill: toastErrorColor\n },\n\n '&.webchat__toast--info': {\n color: toastInfoColor,\n fill: toastInfoColor\n },\n\n '&.webchat__toast--success': {\n color: toastSuccessColor,\n fill: toastSuccessColor\n },\n\n '&.webchat__toast--warn': {\n color: toastWarnColor,\n fill: toastWarnColor\n },\n\n '& .webchat__toast__iconBox': {\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n height: toasterHeight,\n justifyContent: 'center',\n width: toastIconWidth\n },\n\n '& .webchat__toast__dismissButton': {\n alignItems: 'center',\n appearance: 'none',\n backgroundColor: 'Transparent',\n border: 0,\n display: 'flex',\n height: toasterHeight,\n justifyContent: 'center',\n outline: 0,\n padding: 0,\n width: toasterHeight,\n\n '&:focus .webchat__toast__dismissButtonFocus': {\n borderColor: 'rgba(26, 10, 0, .7)'\n },\n\n '&:hover .webchat__toast__dismissButtonFocus': {\n backgroundColor: 'rgba(0, 0, 0, .12)'\n }\n },\n\n '& .webchat__toast__dismissButtonFocus': {\n alignItems: 'center',\n borderColor: 'Transparent',\n borderStyle: 'solid',\n borderWidth: 1,\n borderRadius: 3,\n display: 'flex',\n height: 22,\n justifyContent: 'center',\n width: 22\n },\n\n '& .webchat__toast__text': {\n alignSelf: 'center',\n paddingBottom: toastTextPadding,\n paddingTop: toastTextPadding\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\nimport { toByteArray } from 'base64-js';\n\nconst DEFAULT_IMAGE_BASE64 =\n 'R0lGODlhQAAYAPYBAOzv8evu8Ort7+fq7Ons7ujr7eXo6uTn6ebp6+Xn6ebo6uzu8OPm6OTm6OPm5+Tn6N/i4+Ll59/i5N7h4+Hk5uDj5evu7+Hk5d/h49PV18PFx7/BwsfJysXHyMLExdja3Nfa28vNz72/wL7Awc/S08TGyMDCw9TW2NbY2t3g4trd39bZ2szO0M7Q0dnb3djb3Nvd39ve4Nnc3dze4Nrc3t7g4tzf4dXX2d3f4d7h4tnc3tve383P0MrMzs7Q0sjKzNLU1s/R08jKy9DT1NfZ293g4efp68bIyby+v9bZ27q8vdHT1c7R0uvt78nLzM/R0tjb3ens7bO0tbS2t7GztK+xsrW3uK6vsLe4utfa3L/Awtzf4MnLzamqq5WWl66wsbm7vNrd3uXo6a2ur6yurp2en6KjpKusrZ+goKeoqers7urt7peXmIGBgYSEhHx8fJmamqipqnZ2doqLi8XHyY2NjpGSkpOUlJiYmZOTlI+QkJqbm4eIiJucnIuMjP///yH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiIHhtcE1NOklu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';\nconst DEFAULT_IMAGE_TYPE = 'image/gif';\n\nlet defaultImageBlobURL;\n\nexport default function createTypingAnimationStyle({\n typingAnimationBackgroundImage,\n typingAnimationHeight,\n typingAnimationWidth\n}: StrictStyleOptions) {\n defaultImageBlobURL ||\n (defaultImageBlobURL = URL.createObjectURL(\n new Blob([toByteArray(DEFAULT_IMAGE_BASE64)], { type: DEFAULT_IMAGE_TYPE })\n ));\n\n const backgroundImage = typingAnimationBackgroundImage || `url('${defaultImageBlobURL}')`;\n\n return {\n backgroundImage,\n backgroundRepeat: 'no-repeat',\n height: typingAnimationHeight,\n width: typingAnimationWidth\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createTypingIndicatorStyle({ paddingRegular }: StrictStyleOptions) {\n return {\n paddingBottom: paddingRegular,\n\n '&:not(.webchat__typingIndicator--rtl)': {\n paddingLeft: paddingRegular\n },\n\n '&.webchat__typingIndicator--rtl': {\n paddingRight: paddingRegular\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createUploadButtonStyle({\n sendBoxButtonColor,\n sendBoxButtonColorOnFocus,\n sendBoxButtonColorOnHover,\n sendBoxHeight,\n subtle\n}: StrictStyleOptions) {\n return {\n // We use the sendBoxHeight, so the button looks square\n width: sendBoxHeight,\n\n '& > .icon > svg': {\n fill: sendBoxButtonColor || subtle\n },\n\n '& > input:hover + .icon > svg': {\n fill: sendBoxButtonColorOnHover\n },\n\n '& > input:focus + .icon > svg': {\n fill: sendBoxButtonColorOnFocus\n }\n };\n}\n","export default function createVideoAttachmentStyle() {\n return {};\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createVideoContentStyle({ videoHeight }: StrictStyleOptions) {\n return {\n height: videoHeight,\n width: '100%'\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createVimeoContentStyle({ videoHeight }: StrictStyleOptions) {\n return {\n border: 0,\n height: videoHeight,\n width: '100%'\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createWarningNotificationStyle({\n connectivityIconPadding,\n connectivityMarginLeftRight,\n connectivityMarginTopBottom,\n connectivityTextSize,\n primaryFont,\n slowConnectivity,\n notificationText\n}: StrictStyleOptions) {\n return {\n alignItems: 'center',\n color: notificationText,\n // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n display: 'flex',\n fontFamily: primaryFont,\n fontSize: connectivityTextSize,\n marginBottom: connectivityMarginTopBottom,\n marginLeft: connectivityMarginLeftRight,\n marginRight: connectivityMarginLeftRight,\n marginTop: connectivityMarginTopBottom,\n\n '& > svg': {\n fill: slowConnectivity,\n\n '&:not(webchat__warning--rtl)': {\n paddingRight: connectivityIconPadding\n },\n\n '&.webchat__warning--rtl': {\n paddingLeft: connectivityIconPadding\n }\n }\n };\n}\n","import { StrictStyleOptions } from 'botframework-webchat-api';\n\nexport default function createYouTubeContentStyle({ videoHeight }: StrictStyleOptions) {\n return {\n border: 0,\n height: videoHeight,\n width: '100%'\n };\n}\n","'use strict';\n\n\nmodule.exports = require('./lib/');\n","// Main parser class\n\n'use strict';\n\n\nvar utils = require('./common/utils');\nvar helpers = require('./helpers');\nvar Renderer = require('./renderer');\nvar ParserCore = require('./parser_core');\nvar ParserBlock = require('./parser_block');\nvar ParserInline = require('./parser_inline');\nvar LinkifyIt = require('linkify-it');\nvar mdurl = require('mdurl');\nvar punycode = require('punycode');\n\n\nvar config = {\n default: require('./presets/default'),\n zero: require('./presets/zero'),\n commonmark: require('./presets/commonmark')\n};\n\n////////////////////////////////////////////////////////////////////////////////\n//\n// This validator can prohibit more than really needed to prevent XSS. It's a\n// tradeoff to keep code simple and to be secure by default.\n//\n// If you need different setup - override validator method as you wish. Or\n// replace it with dummy function and use external sanitizer.\n//\n\nvar BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;\nvar GOOD_DATA_RE = /^data:image\\/(gif|png|jpeg|webp);/;\n\nfunction validateLink(url) {\n // url should be normalized at this point, and existing entities are decoded\n var str = url.trim().toLowerCase();\n\n return BAD_PROTO_RE.test(str) ? (GOOD_DATA_RE.test(str) ? true : false) : true;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar RECODE_HOSTNAME_FOR = [ 'http:', 'https:', 'mailto:' ];\n\nfunction normalizeLink(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toASCII(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n return mdurl.encode(mdurl.format(parsed));\n}\n\nfunction normalizeLinkText(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toUnicode(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n // add '%' to exclude list because of https://github.com/markdown-it/markdown-it/issues/720\n return mdurl.decode(mdurl.format(parsed), mdurl.decode.defaultChars + '%');\n}\n\n\n/**\n * class MarkdownIt\n *\n * Main parser/renderer class.\n *\n * ##### Usage\n *\n * ```javascript\n * // node.js, \"classic\" way:\n * var MarkdownIt = require('markdown-it'),\n * md = new MarkdownIt();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // node.js, the same, but with sugar:\n * var md = require('markdown-it')();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // browser without AMD, added to \"window\" on script load\n * // Note, there are no dash.\n * var md = window.markdownit();\n * var result = md.render('# markdown-it rulezz!');\n * ```\n *\n * Single line rendering, without paragraph wrap:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * var result = md.renderInline('__markdown-it__ rulezz!');\n * ```\n **/\n\n/**\n * new MarkdownIt([presetName, options])\n * - presetName (String): optional, `commonmark` / `zero`\n * - options (Object)\n *\n * Creates parser instanse with given config. Can be called without `new`.\n *\n * ##### presetName\n *\n * MarkdownIt provides named presets as a convenience to quickly\n * enable/disable active syntax rules and options for common use cases.\n *\n * - [\"commonmark\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) -\n * configures parser to strict [CommonMark](http://commonmark.org/) mode.\n * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) -\n * similar to GFM, used when no preset name given. Enables all available rules,\n * but still without html, typographer & autolinker.\n * - [\"zero\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) -\n * all rules disabled. Useful to quickly setup your config via `.enable()`.\n * For example, when you need only `bold` and `italic` markup and nothing else.\n *\n * ##### options:\n *\n * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful!\n * That's not safe! You may need external sanitizer to protect output from XSS.\n * It's better to extend features via plugins, instead of enabling HTML.\n * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags\n * (`<br />`). This is needed only for full CommonMark compatibility. In real\n * world you will need HTML output.\n * - __breaks__ - `false`. Set `true` to convert `\\n` in paragraphs into `<br>`.\n * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks.\n * Can be useful for external highlighters.\n * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links.\n * - __typographer__ - `false`. Set `true` to enable [some language-neutral\n * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +\n * quotes beautification (smartquotes).\n * - __quotes__ - `“â€â€˜â€™`, String or Array. Double + single quotes replacement\n * pairs, when typographer enabled and smartquotes on. For example, you can\n * use `'«»„“'` for Russian, `'„“‚‘'` for German, and\n * `['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›']` for French (including nbsp).\n * - __highlight__ - `null`. Highlighter function for fenced code blocks.\n * Highlighter `function (str, lang)` should return escaped HTML. It can also\n * return empty string if the source was not changed and should be escaped\n * externaly. If result starts with <pre... internal wrapper is skipped.\n *\n * ##### Example\n *\n * ```javascript\n * // commonmark mode\n * var md = require('markdown-it')('commonmark');\n *\n * // default mode\n * var md = require('markdown-it')();\n *\n * // enable everything\n * var md = require('markdown-it')({\n * html: true,\n * linkify: true,\n * typographer: true\n * });\n * ```\n *\n * ##### Syntax highlighting\n *\n * ```js\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return hljs.highlight(str, { language: lang, ignoreIllegals: true }).value;\n * } catch (__) {}\n * }\n *\n * return ''; // use external default escaping\n * }\n * });\n * ```\n *\n * Or with full wrapper override (if you need assign class to `<pre>`):\n *\n * ```javascript\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * // Actual default values\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return '<pre class=\"hljs\"><code>' +\n * hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +\n * '</code></pre>';\n * } catch (__) {}\n * }\n *\n * return '<pre class=\"hljs\"><code>' + md.utils.escapeHtml(str) + '</code></pre>';\n * }\n * });\n * ```\n *\n **/\nfunction MarkdownIt(presetName, options) {\n if (!(this instanceof MarkdownIt)) {\n return new MarkdownIt(presetName, options);\n }\n\n if (!options) {\n if (!utils.isString(presetName)) {\n options = presetName || {};\n presetName = 'default';\n }\n }\n\n /**\n * MarkdownIt#inline -> ParserInline\n *\n * Instance of [[ParserInline]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.inline = new ParserInline();\n\n /**\n * MarkdownIt#block -> ParserBlock\n *\n * Instance of [[ParserBlock]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.block = new ParserBlock();\n\n /**\n * MarkdownIt#core -> Core\n *\n * Instance of [[Core]] chain executor. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.core = new ParserCore();\n\n /**\n * MarkdownIt#renderer -> Renderer\n *\n * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering\n * rules for new token types, generated by plugins.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * function myToken(tokens, idx, options, env, self) {\n * //...\n * return result;\n * };\n *\n * md.renderer.rules['my_token'] = myToken\n * ```\n *\n * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).\n **/\n this.renderer = new Renderer();\n\n /**\n * MarkdownIt#linkify -> LinkifyIt\n *\n * [linkify-it](https://github.com/markdown-it/linkify-it) instance.\n * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)\n * rule.\n **/\n this.linkify = new LinkifyIt();\n\n /**\n * MarkdownIt#validateLink(url) -> Boolean\n *\n * Link validation function. CommonMark allows too much in links. By default\n * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas\n * except some embedded image types.\n *\n * You can change this behaviour:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * // enable everything\n * md.validateLink = function () { return true; }\n * ```\n **/\n this.validateLink = validateLink;\n\n /**\n * MarkdownIt#normalizeLink(url) -> String\n *\n * Function used to encode link url to a machine-readable format,\n * which includes url-encoding, punycode, etc.\n **/\n this.normalizeLink = normalizeLink;\n\n /**\n * MarkdownIt#normalizeLinkText(url) -> String\n *\n * Function used to decode link url to a human-readable format`\n **/\n this.normalizeLinkText = normalizeLinkText;\n\n\n // Expose utils & helpers for easy acces from plugins\n\n /**\n * MarkdownIt#utils -> utils\n *\n * Assorted utility functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js).\n **/\n this.utils = utils;\n\n /**\n * MarkdownIt#helpers -> helpers\n *\n * Link components parser functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).\n **/\n this.helpers = utils.assign({}, helpers);\n\n\n this.options = {};\n this.configure(presetName);\n\n if (options) { this.set(options); }\n}\n\n\n/** chainable\n * MarkdownIt.set(options)\n *\n * Set parser options (in the same format as in constructor). Probably, you\n * will never need it, but you can change options after constructor call.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .set({ html: true, breaks: true })\n * .set({ typographer, true });\n * ```\n *\n * __Note:__ To achieve the best possible performance, don't modify a\n * `markdown-it` instance options on the fly. If you need multiple configurations\n * it's best to create multiple instances and initialize each with separate\n * config.\n **/\nMarkdownIt.prototype.set = function (options) {\n utils.assign(this.options, options);\n return this;\n};\n\n\n/** chainable, internal\n * MarkdownIt.configure(presets)\n *\n * Batch load of all options and compenent settings. This is internal method,\n * and you probably will not need it. But if you will - see available presets\n * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)\n *\n * We strongly recommend to use presets instead of direct config loads. That\n * will give better compatibility with next versions.\n **/\nMarkdownIt.prototype.configure = function (presets) {\n var self = this, presetName;\n\n if (utils.isString(presets)) {\n presetName = presets;\n presets = config[presetName];\n if (!presets) { throw new Error('Wrong `markdown-it` preset \"' + presetName + '\", check name'); }\n }\n\n if (!presets) { throw new Error('Wrong `markdown-it` preset, can\\'t be empty'); }\n\n if (presets.options) { self.set(presets.options); }\n\n if (presets.components) {\n Object.keys(presets.components).forEach(function (name) {\n if (presets.components[name].rules) {\n self[name].ruler.enableOnly(presets.components[name].rules);\n }\n if (presets.components[name].rules2) {\n self[name].ruler2.enableOnly(presets.components[name].rules2);\n }\n });\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.enable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to enable\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable list or rules. It will automatically find appropriate components,\n * containing rules with given names. If rule not found, and `ignoreInvalid`\n * not set - throws exception.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .enable(['sub', 'sup'])\n * .disable('smartquotes');\n * ```\n **/\nMarkdownIt.prototype.enable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.enable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.enable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed);\n }\n\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.disable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * The same as [[MarkdownIt.enable]], but turn specified rules off.\n **/\nMarkdownIt.prototype.disable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.disable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.disable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed);\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.use(plugin, params)\n *\n * Load specified plugin with given params into current parser instance.\n * It's just a sugar to call `plugin(md, params)` with curring.\n *\n * ##### Example\n *\n * ```javascript\n * var iterator = require('markdown-it-for-inline');\n * var md = require('markdown-it')()\n * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {\n * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');\n * });\n * ```\n **/\nMarkdownIt.prototype.use = function (plugin /*, params, ... */) {\n var args = [ this ].concat(Array.prototype.slice.call(arguments, 1));\n plugin.apply(plugin, args);\n return this;\n};\n\n\n/** internal\n * MarkdownIt.parse(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Parse input string and return list of block tokens (special token type\n * \"inline\" will contain list of inline tokens). You should not call this\n * method directly, until you write custom renderer (for example, to produce\n * AST).\n *\n * `env` is used to pass data between \"distributed\" rules and return additional\n * metadata like reference info, needed for the renderer. It also can be used to\n * inject data in specific cases. Usually, you will be ok to pass `{}`,\n * and then pass updated object to renderer.\n **/\nMarkdownIt.prototype.parse = function (src, env) {\n if (typeof src !== 'string') {\n throw new Error('Input data should be a String');\n }\n\n var state = new this.core.State(src, this, env);\n\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.render(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Render markdown string into html. It does all magic for you :).\n *\n * `env` can be used to inject additional metadata (`{}` by default).\n * But you will not need it with high probability. See also comment\n * in [[MarkdownIt.parse]].\n **/\nMarkdownIt.prototype.render = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parse(src, env), this.options, env);\n};\n\n\n/** internal\n * MarkdownIt.parseInline(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the\n * block tokens list with the single `inline` element, containing parsed inline\n * tokens in `children` property. Also updates `env` object.\n **/\nMarkdownIt.prototype.parseInline = function (src, env) {\n var state = new this.core.State(src, this, env);\n\n state.inlineMode = true;\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.renderInline(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Similar to [[MarkdownIt.render]] but for single paragraph content. Result\n * will NOT be wrapped into `<p>` tags.\n **/\nMarkdownIt.prototype.renderInline = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parseInline(src, env), this.options, env);\n};\n\n\nmodule.exports = MarkdownIt;\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","\n'use strict';\n\n\n/* eslint-disable no-bitwise */\n\nvar decodeCache = {};\n\nfunction getDecodeCache(exclude) {\n var i, ch, cache = decodeCache[exclude];\n if (cache) { return cache; }\n\n cache = decodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n cache.push(ch);\n }\n\n for (i = 0; i < exclude.length; i++) {\n ch = exclude.charCodeAt(i);\n cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);\n }\n\n return cache;\n}\n\n\n// Decode percent-encoded string.\n//\nfunction decode(string, exclude) {\n var cache;\n\n if (typeof exclude !== 'string') {\n exclude = decode.defaultChars;\n }\n\n cache = getDecodeCache(exclude);\n\n return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {\n var i, l, b1, b2, b3, b4, chr,\n result = '';\n\n for (i = 0, l = seq.length; i < l; i += 3) {\n b1 = parseInt(seq.slice(i + 1, i + 3), 16);\n\n if (b1 < 0x80) {\n result += cache[b1];\n continue;\n }\n\n if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {\n // 110xxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n\n if ((b2 & 0xC0) === 0x80) {\n chr = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);\n\n if (chr < 0x80) {\n result += '\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 3;\n continue;\n }\n }\n\n if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {\n // 1110xxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {\n chr = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);\n\n if (chr < 0x800 || (chr >= 0xD800 && chr <= 0xDFFF)) {\n result += '\\ufffd\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 6;\n continue;\n }\n }\n\n if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {\n // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n b4 = parseInt(seq.slice(i + 10, i + 12), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {\n chr = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);\n\n if (chr < 0x10000 || chr > 0x10FFFF) {\n result += '\\ufffd\\ufffd\\ufffd\\ufffd';\n } else {\n chr -= 0x10000;\n result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF));\n }\n\n i += 9;\n continue;\n }\n }\n\n result += '\\ufffd';\n }\n\n return result;\n });\n}\n\n\ndecode.defaultChars = ';/?:@&=+$,#';\ndecode.componentChars = '';\n\n\nmodule.exports = decode;\n","\n'use strict';\n\n\nmodule.exports = function format(url) {\n var result = '';\n\n result += url.protocol || '';\n result += url.slashes ? '//' : '';\n result += url.auth ? url.auth + '@' : '';\n\n if (url.hostname && url.hostname.indexOf(':') !== -1) {\n // ipv6 address\n result += '[' + url.hostname + ']';\n } else {\n result += url.hostname || '';\n }\n\n result += url.port ? ':' + url.port : '';\n result += url.pathname || '';\n result += url.search || '';\n result += url.hash || '';\n\n return result;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n//\n// Changes from joyent/node:\n//\n// 1. No leading slash in paths,\n// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/`\n//\n// 2. Backslashes are not replaced with slashes,\n// so `http:\\\\example.org\\` is treated like a relative path\n//\n// 3. Trailing colon is treated like a part of the path,\n// i.e. in `http://example.org:foo` pathname is `:foo`\n//\n// 4. Nothing is URL-encoded in the resulting object,\n// (in joyent/node some chars in auth and paths are encoded)\n//\n// 5. `url.parse()` does not have `parseQueryString` argument\n//\n// 6. Removed extraneous result properties: `host`, `path`, `query`, etc.,\n// which can be constructed using other parts of the url.\n//\n\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.pathname = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = [ '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t' ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [ '{', '}', '|', '\\\\', '^', '`' ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = [ '\\'' ].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = [ '%', '/', '?', ';', '#' ].concat(autoEscape),\n hostEndingChars = [ '/', '?', '#' ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n /* eslint-disable no-script-url */\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n };\n /* eslint-enable no-script-url */\n\nfunction urlParse(url, slashesDenoteHost) {\n if (url && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, slashesDenoteHost) {\n var i, l, lowerProto, hec, slashes,\n rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n lowerProto = proto.toLowerCase();\n this.protocol = proto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (i = 0; i < hostEndingChars.length; i++) {\n hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = auth;\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (i = 0; i < nonHostChars.length; i++) {\n hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) {\n hostEnd = rest.length;\n }\n\n if (rest[hostEnd - 1] === ':') { hostEnd--; }\n var host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost(host);\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n }\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n rest = rest.slice(0, qm);\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '';\n }\n\n return this;\n};\n\nUrl.prototype.parseHost = function(host) {\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nmodule.exports = urlParse;\n","module.exports=/[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/","// Just a shortcut for bulk export\n'use strict';\n\n\nexports.parseLinkLabel = require('./parse_link_label');\nexports.parseLinkDestination = require('./parse_link_destination');\nexports.parseLinkTitle = require('./parse_link_title');\n","// Parse link label\n//\n// this function assumes that first character (\"[\") already matches;\n// returns the end of the label\n//\n'use strict';\n\nmodule.exports = function parseLinkLabel(state, start, disableNested) {\n var level, found, marker, prevPos,\n labelEnd = -1,\n max = state.posMax,\n oldPos = state.pos;\n\n state.pos = start + 1;\n level = 1;\n\n while (state.pos < max) {\n marker = state.src.charCodeAt(state.pos);\n if (marker === 0x5D /* ] */) {\n level--;\n if (level === 0) {\n found = true;\n break;\n }\n }\n\n prevPos = state.pos;\n state.md.inline.skipToken(state);\n if (marker === 0x5B /* [ */) {\n if (prevPos === state.pos - 1) {\n // increase level if we find text `[`, which is not a part of any token\n level++;\n } else if (disableNested) {\n state.pos = oldPos;\n return -1;\n }\n }\n }\n\n if (found) {\n labelEnd = state.pos;\n }\n\n // restore old state\n state.pos = oldPos;\n\n return labelEnd;\n};\n","// Parse link destination\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkDestination(str, pos, max) {\n var code, level,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (str.charCodeAt(pos) === 0x3C /* < */) {\n pos++;\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === 0x0A /* \\n */) { return result; }\n if (code === 0x3C /* < */) { return result; }\n if (code === 0x3E /* > */) {\n result.pos = pos + 1;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n }\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos += 2;\n continue;\n }\n\n pos++;\n }\n\n // no closing '>'\n return result;\n }\n\n // this should be ... } else { ... branch\n\n level = 0;\n while (pos < max) {\n code = str.charCodeAt(pos);\n\n if (code === 0x20) { break; }\n\n // ascii control characters\n if (code < 0x20 || code === 0x7F) { break; }\n\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n if (str.charCodeAt(pos + 1) === 0x20) { break; }\n pos += 2;\n continue;\n }\n\n if (code === 0x28 /* ( */) {\n level++;\n if (level > 32) { return result; }\n }\n\n if (code === 0x29 /* ) */) {\n if (level === 0) { break; }\n level--;\n }\n\n pos++;\n }\n\n if (start === pos) { return result; }\n if (level !== 0) { return result; }\n\n result.str = unescapeAll(str.slice(start, pos));\n result.lines = lines;\n result.pos = pos;\n result.ok = true;\n return result;\n};\n","// Parse link title\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkTitle(str, pos, max) {\n var code,\n marker,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (pos >= max) { return result; }\n\n marker = str.charCodeAt(pos);\n\n if (marker !== 0x22 /* \" */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { return result; }\n\n pos++;\n\n // if opening marker is \"(\", switch it to closing marker \")\"\n if (marker === 0x28) { marker = 0x29; }\n\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === marker) {\n result.pos = pos + 1;\n result.lines = lines;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n } else if (code === 0x28 /* ( */ && marker === 0x29 /* ) */) {\n return result;\n } else if (code === 0x0A) {\n lines++;\n } else if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos++;\n if (str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n\n pos++;\n }\n\n return result;\n};\n","/**\n * class Renderer\n *\n * Generates HTML from parsed token stream. Each instance has independent\n * copy of rules. Those can be rewritten with ease. Also, you can add new\n * rules if you create plugin and adds new token types.\n **/\n'use strict';\n\n\nvar assign = require('./common/utils').assign;\nvar unescapeAll = require('./common/utils').unescapeAll;\nvar escapeHtml = require('./common/utils').escapeHtml;\n\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar default_rules = {};\n\n\ndefault_rules.code_inline = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '<code' + slf.renderAttrs(token) + '>' +\n escapeHtml(tokens[idx].content) +\n '</code>';\n};\n\n\ndefault_rules.code_block = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '<pre' + slf.renderAttrs(token) + '><code>' +\n escapeHtml(tokens[idx].content) +\n '</code></pre>\\n';\n};\n\n\ndefault_rules.fence = function (tokens, idx, options, env, slf) {\n var token = tokens[idx],\n info = token.info ? unescapeAll(token.info).trim() : '',\n langName = '',\n langAttrs = '',\n highlighted, i, arr, tmpAttrs, tmpToken;\n\n if (info) {\n arr = info.split(/(\\s+)/g);\n langName = arr[0];\n langAttrs = arr.slice(2).join('');\n }\n\n if (options.highlight) {\n highlighted = options.highlight(token.content, langName, langAttrs) || escapeHtml(token.content);\n } else {\n highlighted = escapeHtml(token.content);\n }\n\n if (highlighted.indexOf('<pre') === 0) {\n return highlighted + '\\n';\n }\n\n // If language exists, inject class gently, without modifying original token.\n // May be, one day we will add .deepClone() for token and simplify this part, but\n // now we prefer to keep things local.\n if (info) {\n i = token.attrIndex('class');\n tmpAttrs = token.attrs ? token.attrs.slice() : [];\n\n if (i < 0) {\n tmpAttrs.push([ 'class', options.langPrefix + langName ]);\n } else {\n tmpAttrs[i] = tmpAttrs[i].slice();\n tmpAttrs[i][1] += ' ' + options.langPrefix + langName;\n }\n\n // Fake token just to render attributes\n tmpToken = {\n attrs: tmpAttrs\n };\n\n return '<pre><code' + slf.renderAttrs(tmpToken) + '>'\n + highlighted\n + '</code></pre>\\n';\n }\n\n\n return '<pre><code' + slf.renderAttrs(token) + '>'\n + highlighted\n + '</code></pre>\\n';\n};\n\n\ndefault_rules.image = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n // \"alt\" attr MUST be set, even if empty. Because it's mandatory and\n // should be placed on proper position for tests.\n //\n // Replace content with actual value\n\n token.attrs[token.attrIndex('alt')][1] =\n slf.renderInlineAsText(token.children, options, env);\n\n return slf.renderToken(tokens, idx, options);\n};\n\n\ndefault_rules.hardbreak = function (tokens, idx, options /*, env */) {\n return options.xhtmlOut ? '<br />\\n' : '<br>\\n';\n};\ndefault_rules.softbreak = function (tokens, idx, options /*, env */) {\n return options.breaks ? (options.xhtmlOut ? '<br />\\n' : '<br>\\n') : '\\n';\n};\n\n\ndefault_rules.text = function (tokens, idx /*, options, env */) {\n return escapeHtml(tokens[idx].content);\n};\n\n\ndefault_rules.html_block = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\ndefault_rules.html_inline = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\n\n\n/**\n * new Renderer()\n *\n * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults.\n **/\nfunction Renderer() {\n\n /**\n * Renderer#rules -> Object\n *\n * Contains render rules for tokens. Can be updated and extended.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.renderer.rules.strong_open = function () { return '<b>'; };\n * md.renderer.rules.strong_close = function () { return '</b>'; };\n *\n * var result = md.renderInline(...);\n * ```\n *\n * Each rule is called as independent static function with fixed signature:\n *\n * ```javascript\n * function my_token_render(tokens, idx, options, env, renderer) {\n * // ...\n * return renderedHTML;\n * }\n * ```\n *\n * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js)\n * for more details and examples.\n **/\n this.rules = assign({}, default_rules);\n}\n\n\n/**\n * Renderer.renderAttrs(token) -> String\n *\n * Render token attributes to string.\n **/\nRenderer.prototype.renderAttrs = function renderAttrs(token) {\n var i, l, result;\n\n if (!token.attrs) { return ''; }\n\n result = '';\n\n for (i = 0, l = token.attrs.length; i < l; i++) {\n result += ' ' + escapeHtml(token.attrs[i][0]) + '=\"' + escapeHtml(token.attrs[i][1]) + '\"';\n }\n\n return result;\n};\n\n\n/**\n * Renderer.renderToken(tokens, idx, options) -> String\n * - tokens (Array): list of tokens\n * - idx (Numbed): token index to render\n * - options (Object): params of parser instance\n *\n * Default token renderer. Can be overriden by custom function\n * in [[Renderer#rules]].\n **/\nRenderer.prototype.renderToken = function renderToken(tokens, idx, options) {\n var nextToken,\n result = '',\n needLf = false,\n token = tokens[idx];\n\n // Tight list paragraphs\n if (token.hidden) {\n return '';\n }\n\n // Insert a newline between hidden paragraph and subsequent opening\n // block-level tag.\n //\n // For example, here we should insert a newline before blockquote:\n // - a\n // >\n //\n if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {\n result += '\\n';\n }\n\n // Add token name, e.g. `<img`\n result += (token.nesting === -1 ? '</' : '<') + token.tag;\n\n // Encode attributes, e.g. `<img src=\"foo\"`\n result += this.renderAttrs(token);\n\n // Add a slash for self-closing tags, e.g. `<img src=\"foo\" /`\n if (token.nesting === 0 && options.xhtmlOut) {\n result += ' /';\n }\n\n // Check if we need to add a newline after this tag\n if (token.block) {\n needLf = true;\n\n if (token.nesting === 1) {\n if (idx + 1 < tokens.length) {\n nextToken = tokens[idx + 1];\n\n if (nextToken.type === 'inline' || nextToken.hidden) {\n // Block-level tag containing an inline tag.\n //\n needLf = false;\n\n } else if (nextToken.nesting === -1 && nextToken.tag === token.tag) {\n // Opening tag + closing tag of the same type. E.g. `<li></li>`.\n //\n needLf = false;\n }\n }\n }\n }\n\n result += needLf ? '>\\n' : '>';\n\n return result;\n};\n\n\n/**\n * Renderer.renderInline(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * The same as [[Renderer.render]], but for single token of `inline` type.\n **/\nRenderer.prototype.renderInline = function (tokens, options, env) {\n var type,\n result = '',\n rules = this.rules;\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (typeof rules[type] !== 'undefined') {\n result += rules[type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options);\n }\n }\n\n return result;\n};\n\n\n/** internal\n * Renderer.renderInlineAsText(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Special kludge for image `alt` attributes to conform CommonMark spec.\n * Don't try to use it! Spec requires to show `alt` content with stripped markup,\n * instead of simple escaping.\n **/\nRenderer.prototype.renderInlineAsText = function (tokens, options, env) {\n var result = '';\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n if (tokens[i].type === 'text') {\n result += tokens[i].content;\n } else if (tokens[i].type === 'image') {\n result += this.renderInlineAsText(tokens[i].children, options, env);\n } else if (tokens[i].type === 'softbreak') {\n result += '\\n';\n }\n }\n\n return result;\n};\n\n\n/**\n * Renderer.render(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Takes token stream and generates HTML. Probably, you will never need to call\n * this method directly.\n **/\nRenderer.prototype.render = function (tokens, options, env) {\n var i, len, type,\n result = '',\n rules = this.rules;\n\n for (i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (type === 'inline') {\n result += this.renderInline(tokens[i].children, options, env);\n } else if (typeof rules[type] !== 'undefined') {\n result += rules[tokens[i].type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options, env);\n }\n }\n\n return result;\n};\n\nmodule.exports = Renderer;\n","/** internal\n * class Core\n *\n * Top-level rules executor. Glues block/inline parsers and does intermediate\n * transformations.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n [ 'normalize', require('./rules_core/normalize') ],\n [ 'block', require('./rules_core/block') ],\n [ 'inline', require('./rules_core/inline') ],\n [ 'linkify', require('./rules_core/linkify') ],\n [ 'replacements', require('./rules_core/replacements') ],\n [ 'smartquotes', require('./rules_core/smartquotes') ],\n // `text_join` finds `text_special` tokens (for escape sequences)\n // and joins them with the rest of the text\n [ 'text_join', require('./rules_core/text_join') ]\n];\n\n\n/**\n * new Core()\n **/\nfunction Core() {\n /**\n * Core#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of core rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n}\n\n\n/**\n * Core.process(state)\n *\n * Executes core chain rules.\n **/\nCore.prototype.process = function (state) {\n var i, l, rules;\n\n rules = this.ruler.getRules('');\n\n for (i = 0, l = rules.length; i < l; i++) {\n rules[i](state);\n }\n};\n\nCore.prototype.State = require('./rules_core/state_core');\n\n\nmodule.exports = Core;\n","// Normalize input string\n\n'use strict';\n\n\n// https://spec.commonmark.org/0.29/#line-ending\nvar NEWLINES_RE = /\\r\\n?|\\n/g;\nvar NULL_RE = /\\0/g;\n\n\nmodule.exports = function normalize(state) {\n var str;\n\n // Normalize newlines\n str = state.src.replace(NEWLINES_RE, '\\n');\n\n // Replace NULL characters\n str = str.replace(NULL_RE, '\\uFFFD');\n\n state.src = str;\n};\n","'use strict';\n\n\nmodule.exports = function block(state) {\n var token;\n\n if (state.inlineMode) {\n token = new state.Token('inline', '', 0);\n token.content = state.src;\n token.map = [ 0, 1 ];\n token.children = [];\n state.tokens.push(token);\n } else {\n state.md.block.parse(state.src, state.md, state.env, state.tokens);\n }\n};\n","'use strict';\n\nmodule.exports = function inline(state) {\n var tokens = state.tokens, tok, i, l;\n\n // Parse inlines\n for (i = 0, l = tokens.length; i < l; i++) {\n tok = tokens[i];\n if (tok.type === 'inline') {\n state.md.inline.parse(tok.content, state.md, state.env, tok.children);\n }\n }\n};\n","// Replace link-like texts with link nodes.\n//\n// Currently restricted by `md.validateLink()` to http/https/ftp\n//\n'use strict';\n\n\nvar arrayReplaceAt = require('../common/utils').arrayReplaceAt;\n\n\nfunction isLinkOpen(str) {\n return /^<a[>\\s]/i.test(str);\n}\nfunction isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n}\n\n\nmodule.exports = function linkify(state) {\n var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos,\n level, htmlLinkLevel, url, fullUrl, urlText,\n blockTokens = state.tokens,\n links;\n\n if (!state.md.options.linkify) { return; }\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline' ||\n !state.md.linkify.pretest(blockTokens[j].content)) {\n continue;\n }\n\n tokens = blockTokens[j].children;\n\n htmlLinkLevel = 0;\n\n // We scan from the end, to keep position when new tags added.\n // Use reversed logic in links start/end match\n for (i = tokens.length - 1; i >= 0; i--) {\n currentToken = tokens[i];\n\n // Skip content of markdown links\n if (currentToken.type === 'link_close') {\n i--;\n while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') {\n i--;\n }\n continue;\n }\n\n // Skip content of html tag links\n if (currentToken.type === 'html_inline') {\n if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {\n htmlLinkLevel--;\n }\n if (isLinkClose(currentToken.content)) {\n htmlLinkLevel++;\n }\n }\n if (htmlLinkLevel > 0) { continue; }\n\n if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) {\n\n text = currentToken.content;\n links = state.md.linkify.match(text);\n\n // Now split string to nodes\n nodes = [];\n level = currentToken.level;\n lastPos = 0;\n\n // forbid escape sequence at the start of the string,\n // this avoids http\\://example.com/ from being linkified as\n // http:<a href=\"//example.com/\">//example.com/</a>\n if (links.length > 0 &&\n links[0].index === 0 &&\n i > 0 &&\n tokens[i - 1].type === 'text_special') {\n links = links.slice(1);\n }\n\n for (ln = 0; ln < links.length; ln++) {\n url = links[ln].url;\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { continue; }\n\n urlText = links[ln].text;\n\n // Linkifier might send raw hostnames like \"example.com\", where url\n // starts with domain name. So we prepend http:// in those cases,\n // and remove it afterwards.\n //\n if (!links[ln].schema) {\n urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\\/\\//, '');\n } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) {\n urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, '');\n } else {\n urlText = state.md.normalizeLinkText(urlText);\n }\n\n pos = links[ln].index;\n\n if (pos > lastPos) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos, pos);\n token.level = level;\n nodes.push(token);\n }\n\n token = new state.Token('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.level = level++;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n token = new state.Token('text', '', 0);\n token.content = urlText;\n token.level = level;\n nodes.push(token);\n\n token = new state.Token('link_close', 'a', -1);\n token.level = --level;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n lastPos = links[ln].lastIndex;\n }\n if (lastPos < text.length) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos);\n token.level = level;\n nodes.push(token);\n }\n\n // replace current node\n blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);\n }\n }\n }\n};\n","// Simple typographic replacements\n//\n// (c) (C) → ©\n// (tm) (TM) → â„¢\n// (r) (R) → ®\n// +- → ±\n// (p) (P) -> §\n// ... → … (also ?.... → ?.., !.... → !..)\n// ???????? → ???, !!!!! → !!!, `,,` → `,`\n// -- → –, --- → —\n//\n'use strict';\n\n// TODO:\n// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾\n// - multiplications 2 x 4 -> 2 × 4\n\nvar RARE_RE = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/;\n\n// Workaround for phantomjs - need regex without /g flag,\n// or root check will fail every second time\nvar SCOPED_ABBR_TEST_RE = /\\((c|tm|r)\\)/i;\n\nvar SCOPED_ABBR_RE = /\\((c|tm|r)\\)/ig;\nvar SCOPED_ABBR = {\n c: '©',\n r: '®',\n tm: 'â„¢'\n};\n\nfunction replaceFn(match, name) {\n return SCOPED_ABBR[name.toLowerCase()];\n}\n\nfunction replace_scoped(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\nfunction replace_rare(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n if (RARE_RE.test(token.content)) {\n token.content = token.content\n .replace(/\\+-/g, '±')\n // .., ..., ....... -> …\n // but ?..... & !..... -> ?.. & !..\n .replace(/\\.{2,}/g, '…').replace(/([?!])…/g, '$1..')\n .replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',')\n // em-dash\n .replace(/(^|[^-])---(?=[^-]|$)/mg, '$1\\u2014')\n // en-dash\n .replace(/(^|\\s)--(?=\\s|$)/mg, '$1\\u2013')\n .replace(/(^|[^-\\s])--(?=[^-\\s]|$)/mg, '$1\\u2013');\n }\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\n\nmodule.exports = function replace(state) {\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline') { continue; }\n\n if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {\n replace_scoped(state.tokens[blkIdx].children);\n }\n\n if (RARE_RE.test(state.tokens[blkIdx].content)) {\n replace_rare(state.tokens[blkIdx].children);\n }\n\n }\n};\n","// Convert straight quotation marks to typographic ones\n//\n'use strict';\n\n\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\nvar QUOTE_TEST_RE = /['\"]/;\nvar QUOTE_RE = /['\"]/g;\nvar APOSTROPHE = '\\u2019'; /* ’ */\n\n\nfunction replaceAt(str, index, ch) {\n return str.slice(0, index) + ch + str.slice(index + 1);\n}\n\nfunction process_inlines(tokens, state) {\n var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar,\n isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace,\n canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;\n\n stack = [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n\n thisLevel = tokens[i].level;\n\n for (j = stack.length - 1; j >= 0; j--) {\n if (stack[j].level <= thisLevel) { break; }\n }\n stack.length = j + 1;\n\n if (token.type !== 'text') { continue; }\n\n text = token.content;\n pos = 0;\n max = text.length;\n\n /*eslint no-labels:0,block-scoped-var:0*/\n OUTER:\n while (pos < max) {\n QUOTE_RE.lastIndex = pos;\n t = QUOTE_RE.exec(text);\n if (!t) { break; }\n\n canOpen = canClose = true;\n pos = t.index + 1;\n isSingle = (t[0] === \"'\");\n\n // Find previous character,\n // default to space if it's the beginning of the line\n //\n lastChar = 0x20;\n\n if (t.index - 1 >= 0) {\n lastChar = text.charCodeAt(t.index - 1);\n } else {\n for (j = i - 1; j >= 0; j--) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20\n if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'\n\n lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);\n break;\n }\n }\n\n // Find next character,\n // default to space if it's the end of the line\n //\n nextChar = 0x20;\n\n if (pos < max) {\n nextChar = text.charCodeAt(pos);\n } else {\n for (j = i + 1; j < tokens.length; j++) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20\n if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'\n\n nextChar = tokens[j].content.charCodeAt(0);\n break;\n }\n }\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n canOpen = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n canOpen = false;\n }\n }\n\n if (isLastWhiteSpace) {\n canClose = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n canClose = false;\n }\n }\n\n if (nextChar === 0x22 /* \" */ && t[0] === '\"') {\n if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) {\n // special case: 1\"\" - count first quote as an inch\n canClose = canOpen = false;\n }\n }\n\n if (canOpen && canClose) {\n // Replace quotes in the middle of punctuation sequence, but not\n // in the middle of the words, i.e.:\n //\n // 1. foo \" bar \" baz - not replaced\n // 2. foo-\"-bar-\"-baz - replaced\n // 3. foo\"bar\"baz - not replaced\n //\n canOpen = isLastPunctChar;\n canClose = isNextPunctChar;\n }\n\n if (!canOpen && !canClose) {\n // middle of word\n if (isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n continue;\n }\n\n if (canClose) {\n // this could be a closing quote, rewind the stack to get a match\n for (j = stack.length - 1; j >= 0; j--) {\n item = stack[j];\n if (stack[j].level < thisLevel) { break; }\n if (item.single === isSingle && stack[j].level === thisLevel) {\n item = stack[j];\n\n if (isSingle) {\n openQuote = state.md.options.quotes[2];\n closeQuote = state.md.options.quotes[3];\n } else {\n openQuote = state.md.options.quotes[0];\n closeQuote = state.md.options.quotes[1];\n }\n\n // replace token.content *before* tokens[item.token].content,\n // because, if they are pointing at the same token, replaceAt\n // could mess up indices when quote length != 1\n token.content = replaceAt(token.content, t.index, closeQuote);\n tokens[item.token].content = replaceAt(\n tokens[item.token].content, item.pos, openQuote);\n\n pos += closeQuote.length - 1;\n if (item.token === i) { pos += openQuote.length - 1; }\n\n text = token.content;\n max = text.length;\n\n stack.length = j;\n continue OUTER;\n }\n }\n }\n\n if (canOpen) {\n stack.push({\n token: i,\n pos: t.index,\n single: isSingle,\n level: thisLevel\n });\n } else if (canClose && isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n }\n }\n}\n\n\nmodule.exports = function smartquotes(state) {\n /*eslint max-depth:0*/\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline' ||\n !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {\n continue;\n }\n\n process_inlines(state.tokens[blkIdx].children, state);\n }\n};\n","// Join raw text tokens with the rest of the text\n//\n// This is set as a separate rule to provide an opportunity for plugins\n// to run text replacements after text join, but before escape join.\n//\n// For example, `\\:)` shouldn't be replaced with an emoji.\n//\n'use strict';\n\n\nmodule.exports = function text_join(state) {\n var j, l, tokens, curr, max, last,\n blockTokens = state.tokens;\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline') continue;\n\n tokens = blockTokens[j].children;\n max = tokens.length;\n\n for (curr = 0; curr < max; curr++) {\n if (tokens[curr].type === 'text_special') {\n tokens[curr].type = 'text';\n }\n }\n\n for (curr = last = 0; curr < max; curr++) {\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) { tokens[last] = tokens[curr]; }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n }\n};\n","// Core state object\n//\n'use strict';\n\nvar Token = require('../token');\n\n\nfunction StateCore(src, md, env) {\n this.src = src;\n this.env = env;\n this.tokens = [];\n this.inlineMode = false;\n this.md = md; // link to parser instance\n}\n\n// re-export Token class to use in core rules\nStateCore.prototype.Token = Token;\n\n\nmodule.exports = StateCore;\n","/** internal\n * class ParserBlock\n *\n * Block-level tokenizer.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n // First 2 params - rule name & source. Secondary array - list of rules,\n // which can be terminated by this one.\n [ 'table', require('./rules_block/table'), [ 'paragraph', 'reference' ] ],\n [ 'code', require('./rules_block/code') ],\n [ 'fence', require('./rules_block/fence'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'blockquote', require('./rules_block/blockquote'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'hr', require('./rules_block/hr'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'list', require('./rules_block/list'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'reference', require('./rules_block/reference') ],\n [ 'html_block', require('./rules_block/html_block'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'heading', require('./rules_block/heading'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'lheading', require('./rules_block/lheading') ],\n [ 'paragraph', require('./rules_block/paragraph') ]\n];\n\n\n/**\n * new ParserBlock()\n **/\nfunction ParserBlock() {\n /**\n * ParserBlock#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of block rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });\n }\n}\n\n\n// Generate tokens for input range\n//\nParserBlock.prototype.tokenize = function (state, startLine, endLine) {\n var ok, i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n line = startLine,\n hasEmptyLines = false,\n maxNesting = state.md.options.maxNesting;\n\n while (line < endLine) {\n state.line = line = state.skipEmptyLines(line);\n if (line >= endLine) { break; }\n\n // Termination condition for nested calls.\n // Nested calls currently used for blockquotes & lists\n if (state.sCount[line] < state.blkIndent) { break; }\n\n // If nesting level exceeded - skip tail to the end. That's not ordinary\n // situation and we should not care about content.\n if (state.level >= maxNesting) {\n state.line = endLine;\n break;\n }\n\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.line`\n // - update `state.tokens`\n // - return true\n\n for (i = 0; i < len; i++) {\n ok = rules[i](state, line, endLine, false);\n if (ok) { break; }\n }\n\n // set state.tight if we had an empty line before current tag\n // i.e. latest empty line should not count\n state.tight = !hasEmptyLines;\n\n // paragraph might \"eat\" one newline after it in nested lists\n if (state.isEmpty(state.line - 1)) {\n hasEmptyLines = true;\n }\n\n line = state.line;\n\n if (line < endLine && state.isEmpty(line)) {\n hasEmptyLines = true;\n line++;\n state.line = line;\n }\n }\n};\n\n\n/**\n * ParserBlock.parse(str, md, env, outTokens)\n *\n * Process input string and push block tokens into `outTokens`\n **/\nParserBlock.prototype.parse = function (src, md, env, outTokens) {\n var state;\n\n if (!src) { return; }\n\n state = new this.State(src, md, env, outTokens);\n\n this.tokenize(state, state.line, state.lineMax);\n};\n\n\nParserBlock.prototype.State = require('./rules_block/state_block');\n\n\nmodule.exports = ParserBlock;\n","// GFM table, https://github.github.com/gfm/#tables-extension-\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction getLine(state, line) {\n var pos = state.bMarks[line] + state.tShift[line],\n max = state.eMarks[line];\n\n return state.src.slice(pos, max);\n}\n\nfunction escapedSplit(str) {\n var result = [],\n pos = 0,\n max = str.length,\n ch,\n isEscaped = false,\n lastPos = 0,\n current = '';\n\n ch = str.charCodeAt(pos);\n\n while (pos < max) {\n if (ch === 0x7c/* | */) {\n if (!isEscaped) {\n // pipe separating cells, '|'\n result.push(current + str.substring(lastPos, pos));\n current = '';\n lastPos = pos + 1;\n } else {\n // escaped pipe, '\\|'\n current += str.substring(lastPos, pos - 1);\n lastPos = pos;\n }\n }\n\n isEscaped = (ch === 0x5c/* \\ */);\n pos++;\n\n ch = str.charCodeAt(pos);\n }\n\n result.push(current + str.substring(lastPos));\n\n return result;\n}\n\n\nmodule.exports = function table(state, startLine, endLine, silent) {\n var ch, lineText, pos, i, l, nextLine, columns, columnCount, token,\n aligns, t, tableLines, tbodyLines, oldParentType, terminate,\n terminatorRules, firstCh, secondCh;\n\n // should have at least two lines\n if (startLine + 2 > endLine) { return false; }\n\n nextLine = startLine + 1;\n\n if (state.sCount[nextLine] < state.blkIndent) { return false; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }\n\n // first character of the second line should be '|', '-', ':',\n // and no other characters are allowed but spaces;\n // basically, this is the equivalent of /^[-:|][-:|\\s]*$/ regexp\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n if (pos >= state.eMarks[nextLine]) { return false; }\n\n firstCh = state.src.charCodeAt(pos++);\n if (firstCh !== 0x7C/* | */ && firstCh !== 0x2D/* - */ && firstCh !== 0x3A/* : */) { return false; }\n\n if (pos >= state.eMarks[nextLine]) { return false; }\n\n secondCh = state.src.charCodeAt(pos++);\n if (secondCh !== 0x7C/* | */ && secondCh !== 0x2D/* - */ && secondCh !== 0x3A/* : */ && !isSpace(secondCh)) {\n return false;\n }\n\n // if first character is '-', then second character must not be a space\n // (due to parsing ambiguity with list)\n if (firstCh === 0x2D/* - */ && isSpace(secondCh)) { return false; }\n\n while (pos < state.eMarks[nextLine]) {\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */ && !isSpace(ch)) { return false; }\n\n pos++;\n }\n\n lineText = getLine(state, startLine + 1);\n\n columns = lineText.split('|');\n aligns = [];\n for (i = 0; i < columns.length; i++) {\n t = columns[i].trim();\n if (!t) {\n // allow empty columns before and after table, but not in between columns;\n // e.g. allow ` |---| `, disallow ` ---||--- `\n if (i === 0 || i === columns.length - 1) {\n continue;\n } else {\n return false;\n }\n }\n\n if (!/^:?-+:?$/.test(t)) { return false; }\n if (t.charCodeAt(t.length - 1) === 0x3A/* : */) {\n aligns.push(t.charCodeAt(0) === 0x3A/* : */ ? 'center' : 'right');\n } else if (t.charCodeAt(0) === 0x3A/* : */) {\n aligns.push('left');\n } else {\n aligns.push('');\n }\n }\n\n lineText = getLine(state, startLine).trim();\n if (lineText.indexOf('|') === -1) { return false; }\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n columns = escapedSplit(lineText);\n if (columns.length && columns[0] === '') columns.shift();\n if (columns.length && columns[columns.length - 1] === '') columns.pop();\n\n // header row will define an amount of columns in the entire table,\n // and align row should be exactly the same (the rest of the rows can differ)\n columnCount = columns.length;\n if (columnCount === 0 || columnCount !== aligns.length) { return false; }\n\n if (silent) { return true; }\n\n oldParentType = state.parentType;\n state.parentType = 'table';\n\n // use 'blockquote' lists for termination because it's\n // the most similar to tables\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n token = state.push('table_open', 'table', 1);\n token.map = tableLines = [ startLine, 0 ];\n\n token = state.push('thead_open', 'thead', 1);\n token.map = [ startLine, startLine + 1 ];\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [ startLine, startLine + 1 ];\n\n for (i = 0; i < columns.length; i++) {\n token = state.push('th_open', 'th', 1);\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i].trim();\n token.children = [];\n\n token = state.push('th_close', 'th', -1);\n }\n\n token = state.push('tr_close', 'tr', -1);\n token = state.push('thead_close', 'thead', -1);\n\n for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) { break; }\n lineText = getLine(state, nextLine).trim();\n if (!lineText) { break; }\n if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }\n columns = escapedSplit(lineText);\n if (columns.length && columns[0] === '') columns.shift();\n if (columns.length && columns[columns.length - 1] === '') columns.pop();\n\n if (nextLine === startLine + 2) {\n token = state.push('tbody_open', 'tbody', 1);\n token.map = tbodyLines = [ startLine + 2, 0 ];\n }\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [ nextLine, nextLine + 1 ];\n\n for (i = 0; i < columnCount; i++) {\n token = state.push('td_open', 'td', 1);\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i] ? columns[i].trim() : '';\n token.children = [];\n\n token = state.push('td_close', 'td', -1);\n }\n token = state.push('tr_close', 'tr', -1);\n }\n\n if (tbodyLines) {\n token = state.push('tbody_close', 'tbody', -1);\n tbodyLines[1] = nextLine;\n }\n\n token = state.push('table_close', 'table', -1);\n tableLines[1] = nextLine;\n\n state.parentType = oldParentType;\n state.line = nextLine;\n return true;\n};\n","// Code block (4 spaces padded)\n\n'use strict';\n\n\nmodule.exports = function code(state, startLine, endLine/*, silent*/) {\n var nextLine, last, token;\n\n if (state.sCount[startLine] - state.blkIndent < 4) { return false; }\n\n last = nextLine = startLine + 1;\n\n while (nextLine < endLine) {\n if (state.isEmpty(nextLine)) {\n nextLine++;\n continue;\n }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n nextLine++;\n last = nextLine;\n continue;\n }\n break;\n }\n\n state.line = last;\n\n token = state.push('code_block', 'code', 0);\n token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + '\\n';\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// fences (``` lang, ~~~ lang)\n\n'use strict';\n\n\nmodule.exports = function fence(state, startLine, endLine, silent) {\n var marker, len, params, nextLine, mem, token, markup,\n haveEndMarker = false,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (pos + 3 > max) { return false; }\n\n marker = state.src.charCodeAt(pos);\n\n if (marker !== 0x7E/* ~ */ && marker !== 0x60 /* ` */) {\n return false;\n }\n\n // scan marker length\n mem = pos;\n pos = state.skipChars(pos, marker);\n\n len = pos - mem;\n\n if (len < 3) { return false; }\n\n markup = state.src.slice(mem, pos);\n params = state.src.slice(pos, max);\n\n if (marker === 0x60 /* ` */) {\n if (params.indexOf(String.fromCharCode(marker)) >= 0) {\n return false;\n }\n }\n\n // Since start is found, we can report success here in validation mode\n if (silent) { return true; }\n\n // search end of block\n nextLine = startLine;\n\n for (;;) {\n nextLine++;\n if (nextLine >= endLine) {\n // unclosed block should be autoclosed by end of document.\n // also block seems to be autoclosed by end of parent\n break;\n }\n\n pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max && state.sCount[nextLine] < state.blkIndent) {\n // non-empty line with negative indent should stop the list:\n // - ```\n // test\n break;\n }\n\n if (state.src.charCodeAt(pos) !== marker) { continue; }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n // closing fence should be indented less than 4 spaces\n continue;\n }\n\n pos = state.skipChars(pos, marker);\n\n // closing code fence must be at least as long as the opening one\n if (pos - mem < len) { continue; }\n\n // make sure tail has spaces only\n pos = state.skipSpaces(pos);\n\n if (pos < max) { continue; }\n\n haveEndMarker = true;\n // found!\n break;\n }\n\n // If a fence has heading spaces, they should be removed from its inner block\n len = state.sCount[startLine];\n\n state.line = nextLine + (haveEndMarker ? 1 : 0);\n\n token = state.push('fence', 'code', 0);\n token.info = params;\n token.content = state.getLines(startLine + 1, nextLine, len, true);\n token.markup = markup;\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// Block quotes\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function blockquote(state, startLine, endLine, silent) {\n var adjustTab,\n ch,\n i,\n initial,\n l,\n lastLineEmpty,\n lines,\n nextLine,\n offset,\n oldBMarks,\n oldBSCount,\n oldIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n spaceAfterMarker,\n terminate,\n terminatorRules,\n token,\n isOutdented,\n oldLineMax = state.lineMax,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n // check the block quote marker\n if (state.src.charCodeAt(pos++) !== 0x3E/* > */) { return false; }\n\n // we know that it's going to be a valid blockquote,\n // so no point trying to find the end of it in silent mode\n if (silent) { return true; }\n\n // set offset past spaces and \">\"\n initial = offset = state.sCount[startLine] + 1;\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[startLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks = [ state.bMarks[startLine] ];\n state.bMarks[startLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n oldBSCount = [ state.bsCount[startLine] ];\n state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n lastLineEmpty = pos >= max;\n\n oldSCount = [ state.sCount[startLine] ];\n state.sCount[startLine] = offset - initial;\n\n oldTShift = [ state.tShift[startLine] ];\n state.tShift[startLine] = pos - state.bMarks[startLine];\n\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n oldParentType = state.parentType;\n state.parentType = 'blockquote';\n\n // Search the end of the block\n //\n // Block ends with either:\n // 1. an empty line outside:\n // ```\n // > test\n //\n // ```\n // 2. an empty line inside:\n // ```\n // >\n // test\n // ```\n // 3. another tag:\n // ```\n // > test\n // - - -\n // ```\n for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {\n // check if it's outdented, i.e. it's inside list item and indented\n // less than said list item:\n //\n // ```\n // 1. anything\n // > current blockquote\n // 2. checking this line\n // ```\n isOutdented = state.sCount[nextLine] < state.blkIndent;\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos >= max) {\n // Case 1: line is not inside the blockquote, and this line is empty.\n break;\n }\n\n if (state.src.charCodeAt(pos++) === 0x3E/* > */ && !isOutdented) {\n // This line is inside the blockquote.\n\n // set offset past spaces and \">\"\n initial = offset = state.sCount[nextLine] + 1;\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[nextLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n state.bMarks[nextLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n lastLineEmpty = pos >= max;\n\n oldBSCount.push(state.bsCount[nextLine]);\n state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] = offset - initial;\n\n oldTShift.push(state.tShift[nextLine]);\n state.tShift[nextLine] = pos - state.bMarks[nextLine];\n continue;\n }\n\n // Case 2: line is not inside the blockquote, and the last line was empty.\n if (lastLineEmpty) { break; }\n\n // Case 3: another tag found.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) {\n // Quirk to enforce \"hard termination mode\" for paragraphs;\n // normally if you call `tokenize(state, startLine, nextLine)`,\n // paragraphs will look below nextLine for paragraph continuation,\n // but if blockquote is terminated by another tag, they shouldn't\n state.lineMax = nextLine;\n\n if (state.blkIndent !== 0) {\n // state.blkIndent was non-zero, we now set it to zero,\n // so we need to re-calculate all offsets to appear as\n // if indent wasn't changed\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] -= state.blkIndent;\n }\n\n break;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n\n // A negative indentation means that this is a paragraph continuation\n //\n state.sCount[nextLine] = -1;\n }\n\n oldIndent = state.blkIndent;\n state.blkIndent = 0;\n\n token = state.push('blockquote_open', 'blockquote', 1);\n token.markup = '>';\n token.map = lines = [ startLine, 0 ];\n\n state.md.block.tokenize(state, startLine, nextLine);\n\n token = state.push('blockquote_close', 'blockquote', -1);\n token.markup = '>';\n\n state.lineMax = oldLineMax;\n state.parentType = oldParentType;\n lines[1] = state.line;\n\n // Restore original tShift; this might not be necessary since the parser\n // has already been here, but just to make sure we can do that.\n for (i = 0; i < oldTShift.length; i++) {\n state.bMarks[i + startLine] = oldBMarks[i];\n state.tShift[i + startLine] = oldTShift[i];\n state.sCount[i + startLine] = oldSCount[i];\n state.bsCount[i + startLine] = oldBSCount[i];\n }\n state.blkIndent = oldIndent;\n\n return true;\n};\n","// Horizontal rule\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function hr(state, startLine, endLine, silent) {\n var marker, cnt, ch, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n marker = state.src.charCodeAt(pos++);\n\n // Check hr marker\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x5F/* _ */) {\n return false;\n }\n\n // markers can be mixed with spaces, but there should be at least 3 of them\n\n cnt = 1;\n while (pos < max) {\n ch = state.src.charCodeAt(pos++);\n if (ch !== marker && !isSpace(ch)) { return false; }\n if (ch === marker) { cnt++; }\n }\n\n if (cnt < 3) { return false; }\n\n if (silent) { return true; }\n\n state.line = startLine + 1;\n\n token = state.push('hr', 'hr', 0);\n token.map = [ startLine, state.line ];\n token.markup = Array(cnt + 1).join(String.fromCharCode(marker));\n\n return true;\n};\n","// Lists\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\n// Search `[-+*][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipBulletListMarker(state, startLine) {\n var marker, pos, max, ch;\n\n pos = state.bMarks[startLine] + state.tShift[startLine];\n max = state.eMarks[startLine];\n\n marker = state.src.charCodeAt(pos++);\n // Check bullet\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x2B/* + */) {\n return -1;\n }\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" -test \" - is not a list item\n return -1;\n }\n }\n\n return pos;\n}\n\n// Search `\\d+[.)][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipOrderedListMarker(state, startLine) {\n var ch,\n start = state.bMarks[startLine] + state.tShift[startLine],\n pos = start,\n max = state.eMarks[startLine];\n\n // List marker should have at least 2 chars (digit + dot)\n if (pos + 1 >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch < 0x30/* 0 */ || ch > 0x39/* 9 */) { return -1; }\n\n for (;;) {\n // EOL -> fail\n if (pos >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch >= 0x30/* 0 */ && ch <= 0x39/* 9 */) {\n\n // List marker should have no more than 9 digits\n // (prevents integer overflow in browsers)\n if (pos - start >= 10) { return -1; }\n\n continue;\n }\n\n // found valid marker\n if (ch === 0x29/* ) */ || ch === 0x2e/* . */) {\n break;\n }\n\n return -1;\n }\n\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" 1.test \" - is not a list item\n return -1;\n }\n }\n return pos;\n}\n\nfunction markTightParagraphs(state, idx) {\n var i, l,\n level = state.level + 2;\n\n for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {\n if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') {\n state.tokens[i + 2].hidden = true;\n state.tokens[i].hidden = true;\n i += 2;\n }\n }\n}\n\n\nmodule.exports = function list(state, startLine, endLine, silent) {\n var ch,\n contentStart,\n i,\n indent,\n indentAfterMarker,\n initial,\n isOrdered,\n itemLines,\n l,\n listLines,\n listTokIdx,\n markerCharCode,\n markerValue,\n max,\n nextLine,\n offset,\n oldListIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n oldTight,\n pos,\n posAfterMarker,\n prevEmptyEnd,\n start,\n terminate,\n terminatorRules,\n token,\n isTerminatingParagraph = false,\n tight = true;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n // Special case:\n // - item 1\n // - item 2\n // - item 3\n // - item 4\n // - this one is a paragraph continuation\n if (state.listIndent >= 0 &&\n state.sCount[startLine] - state.listIndent >= 4 &&\n state.sCount[startLine] < state.blkIndent) {\n return false;\n }\n\n // limit conditions when list can interrupt\n // a paragraph (validation mode only)\n if (silent && state.parentType === 'paragraph') {\n // Next list item should still terminate previous list item;\n //\n // This code can fail if plugins use blkIndent as well as lists,\n // but I hope the spec gets fixed long before that happens.\n //\n if (state.sCount[startLine] >= state.blkIndent) {\n isTerminatingParagraph = true;\n }\n }\n\n // Detect list type and position after marker\n if ((posAfterMarker = skipOrderedListMarker(state, startLine)) >= 0) {\n isOrdered = true;\n start = state.bMarks[startLine] + state.tShift[startLine];\n markerValue = Number(state.src.slice(start, posAfterMarker - 1));\n\n // If we're starting a new ordered list right after\n // a paragraph, it should start with 1.\n if (isTerminatingParagraph && markerValue !== 1) return false;\n\n } else if ((posAfterMarker = skipBulletListMarker(state, startLine)) >= 0) {\n isOrdered = false;\n\n } else {\n return false;\n }\n\n // If we're starting a new unordered list right after\n // a paragraph, first line should not be empty.\n if (isTerminatingParagraph) {\n if (state.skipSpaces(posAfterMarker) >= state.eMarks[startLine]) return false;\n }\n\n // We should terminate list on style change. Remember first one to compare.\n markerCharCode = state.src.charCodeAt(posAfterMarker - 1);\n\n // For validation mode we can terminate immediately\n if (silent) { return true; }\n\n // Start list\n listTokIdx = state.tokens.length;\n\n if (isOrdered) {\n token = state.push('ordered_list_open', 'ol', 1);\n if (markerValue !== 1) {\n token.attrs = [ [ 'start', markerValue ] ];\n }\n\n } else {\n token = state.push('bullet_list_open', 'ul', 1);\n }\n\n token.map = listLines = [ startLine, 0 ];\n token.markup = String.fromCharCode(markerCharCode);\n\n //\n // Iterate list items\n //\n\n nextLine = startLine;\n prevEmptyEnd = false;\n terminatorRules = state.md.block.ruler.getRules('list');\n\n oldParentType = state.parentType;\n state.parentType = 'list';\n\n while (nextLine < endLine) {\n pos = posAfterMarker;\n max = state.eMarks[nextLine];\n\n initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[startLine] + state.tShift[startLine]);\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine]) % 4;\n } else if (ch === 0x20) {\n offset++;\n } else {\n break;\n }\n\n pos++;\n }\n\n contentStart = pos;\n\n if (contentStart >= max) {\n // trimming space in \"- \\n 3\" case, indent is 1 here\n indentAfterMarker = 1;\n } else {\n indentAfterMarker = offset - initial;\n }\n\n // If we have more than 4 spaces, the indent is 1\n // (the rest is just indented code block)\n if (indentAfterMarker > 4) { indentAfterMarker = 1; }\n\n // \" - test\"\n // ^^^^^ - calculating total length of this thing\n indent = initial + indentAfterMarker;\n\n // Run subparser & write tokens\n token = state.push('list_item_open', 'li', 1);\n token.markup = String.fromCharCode(markerCharCode);\n token.map = itemLines = [ startLine, 0 ];\n if (isOrdered) {\n token.info = state.src.slice(start, posAfterMarker - 1);\n }\n\n // change current state, then restore it after parser subcall\n oldTight = state.tight;\n oldTShift = state.tShift[startLine];\n oldSCount = state.sCount[startLine];\n\n // - example list\n // ^ listIndent position will be here\n // ^ blkIndent position will be here\n //\n oldListIndent = state.listIndent;\n state.listIndent = state.blkIndent;\n state.blkIndent = indent;\n\n state.tight = true;\n state.tShift[startLine] = contentStart - state.bMarks[startLine];\n state.sCount[startLine] = offset;\n\n if (contentStart >= max && state.isEmpty(startLine + 1)) {\n // workaround for this case\n // (list item is empty, list terminates before \"foo\"):\n // ~~~~~~~~\n // -\n //\n // foo\n // ~~~~~~~~\n state.line = Math.min(state.line + 2, endLine);\n } else {\n state.md.block.tokenize(state, startLine, endLine, true);\n }\n\n // If any of list item is tight, mark list as tight\n if (!state.tight || prevEmptyEnd) {\n tight = false;\n }\n // Item become loose if finish with empty line,\n // but we should filter last element, because it means list finish\n prevEmptyEnd = (state.line - startLine) > 1 && state.isEmpty(state.line - 1);\n\n state.blkIndent = state.listIndent;\n state.listIndent = oldListIndent;\n state.tShift[startLine] = oldTShift;\n state.sCount[startLine] = oldSCount;\n state.tight = oldTight;\n\n token = state.push('list_item_close', 'li', -1);\n token.markup = String.fromCharCode(markerCharCode);\n\n nextLine = startLine = state.line;\n itemLines[1] = nextLine;\n contentStart = state.bMarks[startLine];\n\n if (nextLine >= endLine) { break; }\n\n //\n // Try to check if list is terminated or continued.\n //\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { break; }\n\n // fail if terminating block found\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n\n // fail if list has another type\n if (isOrdered) {\n posAfterMarker = skipOrderedListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n start = state.bMarks[nextLine] + state.tShift[nextLine];\n } else {\n posAfterMarker = skipBulletListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n }\n\n if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { break; }\n }\n\n // Finalize list\n if (isOrdered) {\n token = state.push('ordered_list_close', 'ol', -1);\n } else {\n token = state.push('bullet_list_close', 'ul', -1);\n }\n token.markup = String.fromCharCode(markerCharCode);\n\n listLines[1] = nextLine;\n state.line = nextLine;\n\n state.parentType = oldParentType;\n\n // mark paragraphs tight if needed\n if (tight) {\n markTightParagraphs(state, listTokIdx);\n }\n\n return true;\n};\n","'use strict';\n\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function reference(state, startLine, _endLine, silent) {\n var ch,\n destEndPos,\n destEndLineNo,\n endLine,\n href,\n i,\n l,\n label,\n labelEnd,\n oldParentType,\n res,\n start,\n str,\n terminate,\n terminatorRules,\n title,\n lines = 0,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine],\n nextLine = startLine + 1;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x5B/* [ */) { return false; }\n\n // Simple check to quickly interrupt scan on [link](url) at the start of line.\n // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54\n while (++pos < max) {\n if (state.src.charCodeAt(pos) === 0x5D /* ] */ &&\n state.src.charCodeAt(pos - 1) !== 0x5C/* \\ */) {\n if (pos + 1 === max) { return false; }\n if (state.src.charCodeAt(pos + 1) !== 0x3A/* : */) { return false; }\n break;\n }\n }\n\n endLine = state.lineMax;\n\n // jump line-by-line until empty one or EOF\n terminatorRules = state.md.block.ruler.getRules('reference');\n\n oldParentType = state.parentType;\n state.parentType = 'reference';\n\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n max = str.length;\n\n for (pos = 1; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x5B /* [ */) {\n return false;\n } else if (ch === 0x5D /* ] */) {\n labelEnd = pos;\n break;\n } else if (ch === 0x0A /* \\n */) {\n lines++;\n } else if (ch === 0x5C /* \\ */) {\n pos++;\n if (pos < max && str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n }\n\n if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false; }\n\n // [label]: destination 'title'\n // ^^^ skip optional whitespace here\n for (pos = labelEnd + 2; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^^^^^ parse this\n res = state.md.helpers.parseLinkDestination(str, pos, max);\n if (!res.ok) { return false; }\n\n href = state.md.normalizeLink(res.str);\n if (!state.md.validateLink(href)) { return false; }\n\n pos = res.pos;\n lines += res.lines;\n\n // save cursor state, we could require to rollback later\n destEndPos = pos;\n destEndLineNo = lines;\n\n // [label]: destination 'title'\n // ^^^ skipping those spaces\n start = pos;\n for (; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^ parse this\n res = state.md.helpers.parseLinkTitle(str, pos, max);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n lines += res.lines;\n } else {\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n }\n\n // skip trailing spaces until the rest of the line\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n if (title) {\n // garbage at the end of the line after title,\n // but it could still be a valid reference if we roll back\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n }\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n // garbage at the end of the line\n return false;\n }\n\n label = normalizeReference(str.slice(1, labelEnd));\n if (!label) {\n // CommonMark 0.20 disallows empty labels\n return false;\n }\n\n // Reference can not terminate anything. This check is for safety only.\n /*istanbul ignore if*/\n if (silent) { return true; }\n\n if (typeof state.env.references === 'undefined') {\n state.env.references = {};\n }\n if (typeof state.env.references[label] === 'undefined') {\n state.env.references[label] = { title: title, href: href };\n }\n\n state.parentType = oldParentType;\n\n state.line = startLine + lines + 1;\n return true;\n};\n","// HTML block\n\n'use strict';\n\n\nvar block_names = require('../common/html_blocks');\nvar HTML_OPEN_CLOSE_TAG_RE = require('../common/html_re').HTML_OPEN_CLOSE_TAG_RE;\n\n// An array of opening and corresponding closing sequences for html tags,\n// last argument defines whether it can terminate a paragraph or not\n//\nvar HTML_SEQUENCES = [\n [ /^<(script|pre|style|textarea)(?=(\\s|>|$))/i, /<\\/(script|pre|style|textarea)>/i, true ],\n [ /^<!--/, /-->/, true ],\n [ /^<\\?/, /\\?>/, true ],\n [ /^<![A-Z]/, />/, true ],\n [ /^<!\\[CDATA\\[/, /\\]\\]>/, true ],\n [ new RegExp('^</?(' + block_names.join('|') + ')(?=(\\\\s|/?>|$))', 'i'), /^$/, true ],\n [ new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\\\s*$'), /^$/, false ]\n];\n\n\nmodule.exports = function html_block(state, startLine, endLine, silent) {\n var i, nextLine, token, lineText,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (!state.md.options.html) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n lineText = state.src.slice(pos, max);\n\n for (i = 0; i < HTML_SEQUENCES.length; i++) {\n if (HTML_SEQUENCES[i][0].test(lineText)) { break; }\n }\n\n if (i === HTML_SEQUENCES.length) { return false; }\n\n if (silent) {\n // true if this sequence can be a terminator, false otherwise\n return HTML_SEQUENCES[i][2];\n }\n\n nextLine = startLine + 1;\n\n // If we are here - we detected HTML block.\n // Let's roll down till block end.\n if (!HTML_SEQUENCES[i][1].test(lineText)) {\n for (; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n lineText = state.src.slice(pos, max);\n\n if (HTML_SEQUENCES[i][1].test(lineText)) {\n if (lineText.length !== 0) { nextLine++; }\n break;\n }\n }\n }\n\n state.line = nextLine;\n\n token = state.push('html_block', '', 0);\n token.map = [ startLine, nextLine ];\n token.content = state.getLines(startLine, nextLine, state.blkIndent, true);\n\n return true;\n};\n","// List of valid html blocks names, accorting to commonmark spec\n// http://jgm.github.io/CommonMark/spec.html#html-blocks\n\n'use strict';\n\n\nmodule.exports = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n];\n","// heading (#, ##, ...)\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function heading(state, startLine, endLine, silent) {\n var ch, level, tmp, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x23/* # */ || pos >= max) { return false; }\n\n // count heading level\n level = 1;\n ch = state.src.charCodeAt(++pos);\n while (ch === 0x23/* # */ && pos < max && level <= 6) {\n level++;\n ch = state.src.charCodeAt(++pos);\n }\n\n if (level > 6 || (pos < max && !isSpace(ch))) { return false; }\n\n if (silent) { return true; }\n\n // Let's cut tails like ' ### ' from the end of string\n\n max = state.skipSpacesBack(max, pos);\n tmp = state.skipCharsBack(max, 0x23, pos); // #\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n max = tmp;\n }\n\n state.line = startLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = '########'.slice(0, level);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = state.src.slice(pos, max).trim();\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = '########'.slice(0, level);\n\n return true;\n};\n","// lheading (---, ===)\n\n'use strict';\n\n\nmodule.exports = function lheading(state, startLine, endLine/*, silent*/) {\n var content, terminate, i, l, token, pos, max, level, marker,\n nextLine = startLine + 1, oldParentType,\n terminatorRules = state.md.block.ruler.getRules('paragraph');\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph'; // use paragraph to match terminatorRules\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n //\n // Check for underline in setext header\n //\n if (state.sCount[nextLine] >= state.blkIndent) {\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max) {\n marker = state.src.charCodeAt(pos);\n\n if (marker === 0x2D/* - */ || marker === 0x3D/* = */) {\n pos = state.skipChars(pos, marker);\n pos = state.skipSpaces(pos);\n\n if (pos >= max) {\n level = (marker === 0x3D/* = */ ? 1 : 2);\n break;\n }\n }\n }\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n if (!level) {\n // Didn't find valid underline\n return false;\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = String.fromCharCode(marker);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line - 1 ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = String.fromCharCode(marker);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","// Paragraph\n\n'use strict';\n\n\nmodule.exports = function paragraph(state, startLine/*, endLine*/) {\n var content, terminate, i, l, token, oldParentType,\n nextLine = startLine + 1,\n terminatorRules = state.md.block.ruler.getRules('paragraph'),\n endLine = state.lineMax;\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph';\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine;\n\n token = state.push('paragraph_open', 'p', 1);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('paragraph_close', 'p', -1);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","// Parser state class\n\n'use strict';\n\nvar Token = require('../token');\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction StateBlock(src, md, env, tokens) {\n var ch, s, start, pos, len, indent, offset, indent_found;\n\n this.src = src;\n\n // link to parser instance\n this.md = md;\n\n this.env = env;\n\n //\n // Internal state vartiables\n //\n\n this.tokens = tokens;\n\n this.bMarks = []; // line begin offsets for fast jumps\n this.eMarks = []; // line end offsets for fast jumps\n this.tShift = []; // offsets of the first non-space characters (tabs not expanded)\n this.sCount = []; // indents for each line (tabs expanded)\n\n // An amount of virtual spaces (tabs expanded) between beginning\n // of each line (bMarks) and real beginning of that line.\n //\n // It exists only as a hack because blockquotes override bMarks\n // losing information in the process.\n //\n // It's used only when expanding tabs, you can think about it as\n // an initial tab length, e.g. bsCount=21 applied to string `\\t123`\n // means first tab should be expanded to 4-21%4 === 3 spaces.\n //\n this.bsCount = [];\n\n // block parser variables\n this.blkIndent = 0; // required block content indent (for example, if we are\n // inside a list, it would be positioned after list marker)\n this.line = 0; // line index in src\n this.lineMax = 0; // lines count\n this.tight = false; // loose/tight mode for lists\n this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)\n this.listIndent = -1; // indent of the current list block (-1 if there isn't any)\n\n // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'\n // used in lists to determine if they interrupt a paragraph\n this.parentType = 'root';\n\n this.level = 0;\n\n // renderer\n this.result = '';\n\n // Create caches\n // Generate markers.\n s = this.src;\n indent_found = false;\n\n for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {\n ch = s.charCodeAt(pos);\n\n if (!indent_found) {\n if (isSpace(ch)) {\n indent++;\n\n if (ch === 0x09) {\n offset += 4 - offset % 4;\n } else {\n offset++;\n }\n continue;\n } else {\n indent_found = true;\n }\n }\n\n if (ch === 0x0A || pos === len - 1) {\n if (ch !== 0x0A) { pos++; }\n this.bMarks.push(start);\n this.eMarks.push(pos);\n this.tShift.push(indent);\n this.sCount.push(offset);\n this.bsCount.push(0);\n\n indent_found = false;\n indent = 0;\n offset = 0;\n start = pos + 1;\n }\n }\n\n // Push fake entry to simplify cache bounds checks\n this.bMarks.push(s.length);\n this.eMarks.push(s.length);\n this.tShift.push(0);\n this.sCount.push(0);\n this.bsCount.push(0);\n\n this.lineMax = this.bMarks.length - 1; // don't count last fake line\n}\n\n// Push new token to \"stream\".\n//\nStateBlock.prototype.push = function (type, tag, nesting) {\n var token = new Token(type, tag, nesting);\n token.block = true;\n\n if (nesting < 0) this.level--; // closing tag\n token.level = this.level;\n if (nesting > 0) this.level++; // opening tag\n\n this.tokens.push(token);\n return token;\n};\n\nStateBlock.prototype.isEmpty = function isEmpty(line) {\n return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];\n};\n\nStateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {\n for (var max = this.lineMax; from < max; from++) {\n if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {\n break;\n }\n }\n return from;\n};\n\n// Skip spaces from given position.\nStateBlock.prototype.skipSpaces = function skipSpaces(pos) {\n var ch;\n\n for (var max = this.src.length; pos < max; pos++) {\n ch = this.src.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n }\n return pos;\n};\n\n// Skip spaces from given position in reverse.\nStateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (!isSpace(this.src.charCodeAt(--pos))) { return pos + 1; }\n }\n return pos;\n};\n\n// Skip char codes from given position\nStateBlock.prototype.skipChars = function skipChars(pos, code) {\n for (var max = this.src.length; pos < max; pos++) {\n if (this.src.charCodeAt(pos) !== code) { break; }\n }\n return pos;\n};\n\n// Skip char codes reverse from given position - 1\nStateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (code !== this.src.charCodeAt(--pos)) { return pos + 1; }\n }\n return pos;\n};\n\n// cut lines range from source.\nStateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {\n var i, lineIndent, ch, first, last, queue, lineStart,\n line = begin;\n\n if (begin >= end) {\n return '';\n }\n\n queue = new Array(end - begin);\n\n for (i = 0; line < end; line++, i++) {\n lineIndent = 0;\n lineStart = first = this.bMarks[line];\n\n if (line + 1 < end || keepLastLF) {\n // No need for bounds check because we have fake entry on tail.\n last = this.eMarks[line] + 1;\n } else {\n last = this.eMarks[line];\n }\n\n while (first < last && lineIndent < indent) {\n ch = this.src.charCodeAt(first);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;\n } else {\n lineIndent++;\n }\n } else if (first - lineStart < this.tShift[line]) {\n // patched tShift masked characters to look like spaces (blockquotes, list markers)\n lineIndent++;\n } else {\n break;\n }\n\n first++;\n }\n\n if (lineIndent > indent) {\n // partially expanding tabs in code blocks, e.g '\\t\\tfoobar'\n // with indent=2 becomes ' \\tfoobar'\n queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last);\n } else {\n queue[i] = this.src.slice(first, last);\n }\n }\n\n return queue.join('');\n};\n\n// re-export Token class to use in block rules\nStateBlock.prototype.Token = Token;\n\n\nmodule.exports = StateBlock;\n","/** internal\n * class ParserInline\n *\n * Tokenizes paragraph content.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Parser rules\n\nvar _rules = [\n [ 'text', require('./rules_inline/text') ],\n [ 'linkify', require('./rules_inline/linkify') ],\n [ 'newline', require('./rules_inline/newline') ],\n [ 'escape', require('./rules_inline/escape') ],\n [ 'backticks', require('./rules_inline/backticks') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').tokenize ],\n [ 'emphasis', require('./rules_inline/emphasis').tokenize ],\n [ 'link', require('./rules_inline/link') ],\n [ 'image', require('./rules_inline/image') ],\n [ 'autolink', require('./rules_inline/autolink') ],\n [ 'html_inline', require('./rules_inline/html_inline') ],\n [ 'entity', require('./rules_inline/entity') ]\n];\n\n// `rule2` ruleset was created specifically for emphasis/strikethrough\n// post-processing and may be changed in the future.\n//\n// Don't use this for anything except pairs (plugins working with `balance_pairs`).\n//\nvar _rules2 = [\n [ 'balance_pairs', require('./rules_inline/balance_pairs') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').postProcess ],\n [ 'emphasis', require('./rules_inline/emphasis').postProcess ],\n // rules for pairs separate '**' into its own text tokens, which may be left unused,\n // rule below merges unused segments back with the rest of the text\n [ 'fragments_join', require('./rules_inline/fragments_join') ]\n];\n\n\n/**\n * new ParserInline()\n **/\nfunction ParserInline() {\n var i;\n\n /**\n * ParserInline#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of inline rules.\n **/\n this.ruler = new Ruler();\n\n for (i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n\n /**\n * ParserInline#ruler2 -> Ruler\n *\n * [[Ruler]] instance. Second ruler used for post-processing\n * (e.g. in emphasis-like rules).\n **/\n this.ruler2 = new Ruler();\n\n for (i = 0; i < _rules2.length; i++) {\n this.ruler2.push(_rules2[i][0], _rules2[i][1]);\n }\n}\n\n\n// Skip single token by running all rules in validation mode;\n// returns `true` if any rule reported success\n//\nParserInline.prototype.skipToken = function (state) {\n var ok, i, pos = state.pos,\n rules = this.ruler.getRules(''),\n len = rules.length,\n maxNesting = state.md.options.maxNesting,\n cache = state.cache;\n\n\n if (typeof cache[pos] !== 'undefined') {\n state.pos = cache[pos];\n return;\n }\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n // Increment state.level and decrement it later to limit recursion.\n // It's harmless to do here, because no tokens are created. But ideally,\n // we'd need a separate private state variable for this purpose.\n //\n state.level++;\n ok = rules[i](state, true);\n state.level--;\n\n if (ok) { break; }\n }\n } else {\n // Too much nesting, just skip until the end of the paragraph.\n //\n // NOTE: this will cause links to behave incorrectly in the following case,\n // when an amount of `[` is exactly equal to `maxNesting + 1`:\n //\n // [[[[[[[[[[[[[[[[[[[[[foo]()\n //\n // TODO: remove this workaround when CM standard will allow nested links\n // (we can replace it by preventing links from being parsed in\n // validation mode)\n //\n state.pos = state.posMax;\n }\n\n if (!ok) { state.pos++; }\n cache[pos] = state.pos;\n};\n\n\n// Generate tokens for input range\n//\nParserInline.prototype.tokenize = function (state) {\n var ok, i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n end = state.posMax,\n maxNesting = state.md.options.maxNesting;\n\n while (state.pos < end) {\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.pos`\n // - update `state.tokens`\n // - return true\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n ok = rules[i](state, false);\n if (ok) { break; }\n }\n }\n\n if (ok) {\n if (state.pos >= end) { break; }\n continue;\n }\n\n state.pending += state.src[state.pos++];\n }\n\n if (state.pending) {\n state.pushPending();\n }\n};\n\n\n/**\n * ParserInline.parse(str, md, env, outTokens)\n *\n * Process input string and push inline tokens into `outTokens`\n **/\nParserInline.prototype.parse = function (str, md, env, outTokens) {\n var i, rules, len;\n var state = new this.State(str, md, env, outTokens);\n\n this.tokenize(state);\n\n rules = this.ruler2.getRules('');\n len = rules.length;\n\n for (i = 0; i < len; i++) {\n rules[i](state);\n }\n};\n\n\nParserInline.prototype.State = require('./rules_inline/state_inline');\n\n\nmodule.exports = ParserInline;\n","// Skip text characters for text token, place those to pending buffer\n// and increment current pos\n\n'use strict';\n\n\n// Rule to skip pure text\n// '{}$%@~+=:' reserved for extentions\n\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n\n// !!!! Don't confuse with \"Markdown ASCII Punctuation\" chars\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\nfunction isTerminatorChar(ch) {\n switch (ch) {\n case 0x0A/* \\n */:\n case 0x21/* ! */:\n case 0x23/* # */:\n case 0x24/* $ */:\n case 0x25/* % */:\n case 0x26/* & */:\n case 0x2A/* * */:\n case 0x2B/* + */:\n case 0x2D/* - */:\n case 0x3A/* : */:\n case 0x3C/* < */:\n case 0x3D/* = */:\n case 0x3E/* > */:\n case 0x40/* @ */:\n case 0x5B/* [ */:\n case 0x5C/* \\ */:\n case 0x5D/* ] */:\n case 0x5E/* ^ */:\n case 0x5F/* _ */:\n case 0x60/* ` */:\n case 0x7B/* { */:\n case 0x7D/* } */:\n case 0x7E/* ~ */:\n return true;\n default:\n return false;\n }\n}\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos;\n\n while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {\n pos++;\n }\n\n if (pos === state.pos) { return false; }\n\n if (!silent) { state.pending += state.src.slice(state.pos, pos); }\n\n state.pos = pos;\n\n return true;\n};\n\n// Alternative implementation, for memory.\n//\n// It costs 10% of performance, but allows extend terminators list, if place it\n// to `ParcerInline` property. Probably, will switch to it sometime, such\n// flexibility required.\n\n/*\nvar TERMINATOR_RE = /[\\n!#$%&*+\\-:<=>@[\\\\\\]^_`{}~]/;\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos,\n idx = state.src.slice(pos).search(TERMINATOR_RE);\n\n // first char is terminator -> empty text\n if (idx === 0) { return false; }\n\n // no terminator -> text till end of string\n if (idx < 0) {\n if (!silent) { state.pending += state.src.slice(pos); }\n state.pos = state.src.length;\n return true;\n }\n\n if (!silent) { state.pending += state.src.slice(pos, pos + idx); }\n\n state.pos += idx;\n\n return true;\n};*/\n","// Process links like https://example.org/\n\n'use strict';\n\n\n// RFC3986: scheme = ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\nvar SCHEME_RE = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;\n\n\nmodule.exports = function linkify(state, silent) {\n var pos, max, match, proto, link, url, fullUrl, token;\n\n if (!state.md.options.linkify) return false;\n if (state.linkLevel > 0) return false;\n\n pos = state.pos;\n max = state.posMax;\n\n if (pos + 3 > max) return false;\n if (state.src.charCodeAt(pos) !== 0x3A/* : */) return false;\n if (state.src.charCodeAt(pos + 1) !== 0x2F/* / */) return false;\n if (state.src.charCodeAt(pos + 2) !== 0x2F/* / */) return false;\n\n match = state.pending.match(SCHEME_RE);\n if (!match) return false;\n\n proto = match[1];\n\n link = state.md.linkify.matchAtStart(state.src.slice(pos - proto.length));\n if (!link) return false;\n\n url = link.url;\n\n // disallow '*' at the end of the link (conflicts with emphasis)\n url = url.replace(/\\*+$/, '');\n\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) return false;\n\n if (!silent) {\n state.pending = state.pending.slice(0, -proto.length);\n\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'linkify';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'linkify';\n token.info = 'auto';\n }\n\n state.pos += url.length - proto.length;\n return true;\n};\n","// Proceess '\\n'\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function newline(state, silent) {\n var pmax, max, ws, pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x0A/* \\n */) { return false; }\n\n pmax = state.pending.length - 1;\n max = state.posMax;\n\n // ' \\n' -> hardbreak\n // Lookup in pending chars is bad practice! Don't copy to other rules!\n // Pending string is stored in concat mode, indexed lookups will cause\n // convertion to flat mode.\n if (!silent) {\n if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) {\n if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) {\n // Find whitespaces tail of pending chars.\n ws = pmax - 1;\n while (ws >= 1 && state.pending.charCodeAt(ws - 1) === 0x20) ws--;\n\n state.pending = state.pending.slice(0, ws);\n state.push('hardbreak', 'br', 0);\n } else {\n state.pending = state.pending.slice(0, -1);\n state.push('softbreak', 'br', 0);\n }\n\n } else {\n state.push('softbreak', 'br', 0);\n }\n }\n\n pos++;\n\n // skip heading spaces for next line\n while (pos < max && isSpace(state.src.charCodeAt(pos))) { pos++; }\n\n state.pos = pos;\n return true;\n};\n","// Process escaped chars and hardbreaks\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\nvar ESCAPED = [];\n\nfor (var i = 0; i < 256; i++) { ESCAPED.push(0); }\n\n'\\\\!\"#$%&\\'()*+,./:;<=>?@[]^_`{|}~-'\n .split('').forEach(function (ch) { ESCAPED[ch.charCodeAt(0)] = 1; });\n\n\nmodule.exports = function escape(state, silent) {\n var ch1, ch2, origStr, escapedStr, token, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x5C/* \\ */) return false;\n pos++;\n\n // '\\' at the end of the inline block\n if (pos >= max) return false;\n\n ch1 = state.src.charCodeAt(pos);\n\n if (ch1 === 0x0A) {\n if (!silent) {\n state.push('hardbreak', 'br', 0);\n }\n\n pos++;\n // skip leading whitespaces from next line\n while (pos < max) {\n ch1 = state.src.charCodeAt(pos);\n if (!isSpace(ch1)) break;\n pos++;\n }\n\n state.pos = pos;\n return true;\n }\n\n escapedStr = state.src[pos];\n\n if (ch1 >= 0xD800 && ch1 <= 0xDBFF && pos + 1 < max) {\n ch2 = state.src.charCodeAt(pos + 1);\n\n if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {\n escapedStr += state.src[pos + 1];\n pos++;\n }\n }\n\n origStr = '\\\\' + escapedStr;\n\n if (!silent) {\n token = state.push('text_special', '', 0);\n\n if (ch1 < 256 && ESCAPED[ch1] !== 0) {\n token.content = escapedStr;\n } else {\n token.content = origStr;\n }\n\n token.markup = origStr;\n token.info = 'escape';\n }\n\n state.pos = pos + 1;\n return true;\n};\n","// Parse backticks\n\n'use strict';\n\n\nmodule.exports = function backtick(state, silent) {\n var start, max, marker, token, matchStart, matchEnd, openerLength, closerLength,\n pos = state.pos,\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x60/* ` */) { return false; }\n\n start = pos;\n pos++;\n max = state.posMax;\n\n // scan marker length\n while (pos < max && state.src.charCodeAt(pos) === 0x60/* ` */) { pos++; }\n\n marker = state.src.slice(start, pos);\n openerLength = marker.length;\n\n if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start) {\n if (!silent) state.pending += marker;\n state.pos += openerLength;\n return true;\n }\n\n matchStart = matchEnd = pos;\n\n // Nothing found in the cache, scan until the end of the line (or until marker is found)\n while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {\n matchEnd = matchStart + 1;\n\n // scan marker length\n while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60/* ` */) { matchEnd++; }\n\n closerLength = matchEnd - matchStart;\n\n if (closerLength === openerLength) {\n // Found matching closer length.\n if (!silent) {\n token = state.push('code_inline', 'code', 0);\n token.markup = marker;\n token.content = state.src.slice(pos, matchStart)\n .replace(/\\n/g, ' ')\n .replace(/^ (.+) $/, '$1');\n }\n state.pos = matchEnd;\n return true;\n }\n\n // Some different length found, put it in cache as upper limit of where closer can be found\n state.backticks[closerLength] = matchStart;\n }\n\n // Scanned through the end, didn't find anything\n state.backticksScanned = true;\n\n if (!silent) state.pending += marker;\n state.pos += openerLength;\n return true;\n};\n","// Process [link](<to> \"stuff\")\n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function link(state, silent) {\n var attrs,\n code,\n label,\n labelEnd,\n labelStart,\n pos,\n res,\n ref,\n token,\n href = '',\n title = '',\n oldPos = state.pos,\n max = state.posMax,\n start = state.pos,\n parseReference = true;\n\n if (state.src.charCodeAt(state.pos) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 1;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // might have found a valid shortcut link, disable reference parsing\n parseReference = false;\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( <href> \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( <href> \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n }\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n // parsing a valid shortcut link failed, fallback to reference\n parseReference = true;\n }\n pos++;\n }\n\n if (parseReference) {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n state.pos = labelStart;\n state.posMax = labelEnd;\n\n token = state.push('link_open', 'a', 1);\n token.attrs = attrs = [ [ 'href', href ] ];\n if (title) {\n attrs.push([ 'title', title ]);\n }\n\n state.linkLevel++;\n state.md.inline.tokenize(state);\n state.linkLevel--;\n\n token = state.push('link_close', 'a', -1);\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process \n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function image(state, silent) {\n var attrs,\n code,\n content,\n label,\n labelEnd,\n labelStart,\n pos,\n ref,\n res,\n title,\n token,\n tokens,\n start,\n href = '',\n oldPos = state.pos,\n max = state.posMax;\n\n if (state.src.charCodeAt(state.pos) !== 0x21/* ! */) { return false; }\n if (state.src.charCodeAt(state.pos + 1) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 2;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( <href> \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n }\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( <href> \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( <href> \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n } else {\n title = '';\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n state.pos = oldPos;\n return false;\n }\n pos++;\n } else {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n content = state.src.slice(labelStart, labelEnd);\n\n state.md.inline.parse(\n content,\n state.md,\n state.env,\n tokens = []\n );\n\n token = state.push('image', 'img', 0);\n token.attrs = attrs = [ [ 'src', href ], [ 'alt', '' ] ];\n token.children = tokens;\n token.content = content;\n\n if (title) {\n attrs.push([ 'title', title ]);\n }\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process autolinks '<protocol:...>'\n\n'use strict';\n\n\n/*eslint max-len:0*/\nvar EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;\nvar AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)$/;\n\n\nmodule.exports = function autolink(state, silent) {\n var url, fullUrl, token, ch, start, max,\n pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n start = state.pos;\n max = state.posMax;\n\n for (;;) {\n if (++pos >= max) return false;\n\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x3C /* < */) return false;\n if (ch === 0x3E /* > */) break;\n }\n\n url = state.src.slice(start + 1, pos);\n\n if (AUTOLINK_RE.test(url)) {\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += url.length + 2;\n return true;\n }\n\n if (EMAIL_RE.test(url)) {\n fullUrl = state.md.normalizeLink('mailto:' + url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += url.length + 2;\n return true;\n }\n\n return false;\n};\n","// Process html tags\n\n'use strict';\n\n\nvar HTML_TAG_RE = require('../common/html_re').HTML_TAG_RE;\n\n\nfunction isLinkOpen(str) {\n return /^<a[>\\s]/i.test(str);\n}\nfunction isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n}\n\n\nfunction isLetter(ch) {\n /*eslint no-bitwise:0*/\n var lc = ch | 0x20; // to lower case\n return (lc >= 0x61/* a */) && (lc <= 0x7a/* z */);\n}\n\n\nmodule.exports = function html_inline(state, silent) {\n var ch, match, max, token,\n pos = state.pos;\n\n if (!state.md.options.html) { return false; }\n\n // Check start\n max = state.posMax;\n if (state.src.charCodeAt(pos) !== 0x3C/* < */ ||\n pos + 2 >= max) {\n return false;\n }\n\n // Quick fail on second char\n ch = state.src.charCodeAt(pos + 1);\n if (ch !== 0x21/* ! */ &&\n ch !== 0x3F/* ? */ &&\n ch !== 0x2F/* / */ &&\n !isLetter(ch)) {\n return false;\n }\n\n match = state.src.slice(pos).match(HTML_TAG_RE);\n if (!match) { return false; }\n\n if (!silent) {\n token = state.push('html_inline', '', 0);\n token.content = state.src.slice(pos, pos + match[0].length);\n\n if (isLinkOpen(token.content)) state.linkLevel++;\n if (isLinkClose(token.content)) state.linkLevel--;\n }\n state.pos += match[0].length;\n return true;\n};\n","// Process html entity - {, ¯, ", ...\n\n'use strict';\n\nvar entities = require('../common/entities');\nvar has = require('../common/utils').has;\nvar isValidEntityCode = require('../common/utils').isValidEntityCode;\nvar fromCodePoint = require('../common/utils').fromCodePoint;\n\n\nvar DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;\nvar NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;\n\n\nmodule.exports = function entity(state, silent) {\n var ch, code, match, token, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x26/* & */) return false;\n\n if (pos + 1 >= max) return false;\n\n ch = state.src.charCodeAt(pos + 1);\n\n if (ch === 0x23 /* # */) {\n match = state.src.slice(pos).match(DIGITAL_RE);\n if (match) {\n if (!silent) {\n code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);\n\n token = state.push('text_special', '', 0);\n token.content = isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);\n token.markup = match[0];\n token.info = 'entity';\n }\n state.pos += match[0].length;\n return true;\n }\n } else {\n match = state.src.slice(pos).match(NAMED_RE);\n if (match) {\n if (has(entities, match[1])) {\n if (!silent) {\n token = state.push('text_special', '', 0);\n token.content = entities[match[1]];\n token.markup = match[0];\n token.info = 'entity';\n }\n state.pos += match[0].length;\n return true;\n }\n }\n }\n\n return false;\n};\n","// For each opening emphasis-like marker find a matching closing one\n//\n'use strict';\n\n\nfunction processDelimiters(state, delimiters) {\n var closerIdx, openerIdx, closer, opener, minOpenerIdx, newMinOpenerIdx,\n isOddMatch, lastJump,\n openersBottom = {},\n max = delimiters.length;\n\n if (!max) return;\n\n // headerIdx is the first delimiter of the current (where closer is) delimiter run\n var headerIdx = 0;\n var lastTokenIdx = -2; // needs any value lower than -1\n var jumps = [];\n\n for (closerIdx = 0; closerIdx < max; closerIdx++) {\n closer = delimiters[closerIdx];\n\n jumps.push(0);\n\n // markers belong to same delimiter run if:\n // - they have adjacent tokens\n // - AND markers are the same\n //\n if (delimiters[headerIdx].marker !== closer.marker || lastTokenIdx !== closer.token - 1) {\n headerIdx = closerIdx;\n }\n\n lastTokenIdx = closer.token;\n\n // Length is only used for emphasis-specific \"rule of 3\",\n // if it's not defined (in strikethrough or 3rd party plugins),\n // we can default it to 0 to disable those checks.\n //\n closer.length = closer.length || 0;\n\n if (!closer.close) continue;\n\n // Previously calculated lower bounds (previous fails)\n // for each marker, each delimiter length modulo 3,\n // and for whether this closer can be an opener;\n // https://github.com/commonmark/cmark/commit/34250e12ccebdc6372b8b49c44fab57c72443460\n if (!openersBottom.hasOwnProperty(closer.marker)) {\n openersBottom[closer.marker] = [ -1, -1, -1, -1, -1, -1 ];\n }\n\n minOpenerIdx = openersBottom[closer.marker][(closer.open ? 3 : 0) + (closer.length % 3)];\n\n openerIdx = headerIdx - jumps[headerIdx] - 1;\n\n newMinOpenerIdx = openerIdx;\n\n for (; openerIdx > minOpenerIdx; openerIdx -= jumps[openerIdx] + 1) {\n opener = delimiters[openerIdx];\n\n if (opener.marker !== closer.marker) continue;\n\n if (opener.open && opener.end < 0) {\n\n isOddMatch = false;\n\n // from spec:\n //\n // If one of the delimiters can both open and close emphasis, then the\n // sum of the lengths of the delimiter runs containing the opening and\n // closing delimiters must not be a multiple of 3 unless both lengths\n // are multiples of 3.\n //\n if (opener.close || closer.open) {\n if ((opener.length + closer.length) % 3 === 0) {\n if (opener.length % 3 !== 0 || closer.length % 3 !== 0) {\n isOddMatch = true;\n }\n }\n }\n\n if (!isOddMatch) {\n // If previous delimiter cannot be an opener, we can safely skip\n // the entire sequence in future checks. This is required to make\n // sure algorithm has linear complexity (see *_*_*_*_*_... case).\n //\n lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ?\n jumps[openerIdx - 1] + 1 :\n 0;\n\n jumps[closerIdx] = closerIdx - openerIdx + lastJump;\n jumps[openerIdx] = lastJump;\n\n closer.open = false;\n opener.end = closerIdx;\n opener.close = false;\n newMinOpenerIdx = -1;\n // treat next token as start of run,\n // it optimizes skips in **<...>**a**<...>** pathological case\n lastTokenIdx = -2;\n break;\n }\n }\n }\n\n if (newMinOpenerIdx !== -1) {\n // If match for this delimiter run failed, we want to set lower bound for\n // future lookups. This is required to make sure algorithm has linear\n // complexity.\n //\n // See details here:\n // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442\n //\n openersBottom[closer.marker][(closer.open ? 3 : 0) + ((closer.length || 0) % 3)] = newMinOpenerIdx;\n }\n }\n}\n\n\nmodule.exports = function link_pairs(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n processDelimiters(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n processDelimiters(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Clean up tokens after emphasis and strikethrough postprocessing:\n// merge adjacent text nodes into one and re-calculate all token levels\n//\n// This is necessary because initially emphasis delimiter markers (*, _, ~)\n// are treated as their own separate text tokens. Then emphasis rule either\n// leaves them as text (needed to merge with adjacent text) or turns them\n// into opening/closing tags (which messes up levels inside).\n//\n'use strict';\n\n\nmodule.exports = function fragments_join(state) {\n var curr, last,\n level = 0,\n tokens = state.tokens,\n max = state.tokens.length;\n\n for (curr = last = 0; curr < max; curr++) {\n // re-calculate levels after emphasis/strikethrough turns some text nodes\n // into opening/closing tags\n if (tokens[curr].nesting < 0) level--; // closing tag\n tokens[curr].level = level;\n if (tokens[curr].nesting > 0) level++; // opening tag\n\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) { tokens[last] = tokens[curr]; }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n};\n","// Inline parser state\n\n'use strict';\n\n\nvar Token = require('../token');\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\n\nfunction StateInline(src, md, env, outTokens) {\n this.src = src;\n this.env = env;\n this.md = md;\n this.tokens = outTokens;\n this.tokens_meta = Array(outTokens.length);\n\n this.pos = 0;\n this.posMax = this.src.length;\n this.level = 0;\n this.pending = '';\n this.pendingLevel = 0;\n\n // Stores { start: end } pairs. Useful for backtrack\n // optimization of pairs parse (emphasis, strikes).\n this.cache = {};\n\n // List of emphasis-like delimiters for current tag\n this.delimiters = [];\n\n // Stack of delimiter lists for upper level tags\n this._prev_delimiters = [];\n\n // backtick length => last seen position\n this.backticks = {};\n this.backticksScanned = false;\n\n // Counter used to disable inline linkify-it execution\n // inside <a> and markdown links\n this.linkLevel = 0;\n}\n\n\n// Flush pending text\n//\nStateInline.prototype.pushPending = function () {\n var token = new Token('text', '', 0);\n token.content = this.pending;\n token.level = this.pendingLevel;\n this.tokens.push(token);\n this.pending = '';\n return token;\n};\n\n\n// Push new token to \"stream\".\n// If pending text exists - flush it as text token\n//\nStateInline.prototype.push = function (type, tag, nesting) {\n if (this.pending) {\n this.pushPending();\n }\n\n var token = new Token(type, tag, nesting);\n var token_meta = null;\n\n if (nesting < 0) {\n // closing tag\n this.level--;\n this.delimiters = this._prev_delimiters.pop();\n }\n\n token.level = this.level;\n\n if (nesting > 0) {\n // opening tag\n this.level++;\n this._prev_delimiters.push(this.delimiters);\n this.delimiters = [];\n token_meta = { delimiters: this.delimiters };\n }\n\n this.pendingLevel = this.level;\n this.tokens.push(token);\n this.tokens_meta.push(token_meta);\n return token;\n};\n\n\n// Scan a sequence of emphasis-like markers, and determine whether\n// it can start an emphasis sequence or end an emphasis sequence.\n//\n// - start - position to scan from (it should point at a valid marker);\n// - canSplitWord - determine if these markers can be found inside a word\n//\nStateInline.prototype.scanDelims = function (start, canSplitWord) {\n var pos = start, lastChar, nextChar, count, can_open, can_close,\n isLastWhiteSpace, isLastPunctChar,\n isNextWhiteSpace, isNextPunctChar,\n left_flanking = true,\n right_flanking = true,\n max = this.posMax,\n marker = this.src.charCodeAt(start);\n\n // treat beginning of the line as a whitespace\n lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20;\n\n while (pos < max && this.src.charCodeAt(pos) === marker) { pos++; }\n\n count = pos - start;\n\n // treat end of the line as a whitespace\n nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20;\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n left_flanking = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n left_flanking = false;\n }\n }\n\n if (isLastWhiteSpace) {\n right_flanking = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n right_flanking = false;\n }\n }\n\n if (!canSplitWord) {\n can_open = left_flanking && (!right_flanking || isLastPunctChar);\n can_close = right_flanking && (!left_flanking || isNextPunctChar);\n } else {\n can_open = left_flanking;\n can_close = right_flanking;\n }\n\n return {\n can_open: can_open,\n can_close: can_close,\n length: count\n };\n};\n\n\n// re-export Token class to use in block rules\nStateInline.prototype.Token = Token;\n\n\nmodule.exports = StateInline;\n","'use strict';\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\nfunction isString(obj) { return _class(obj) === '[object String]'; }\nfunction isObject(obj) { return _class(obj) === '[object Object]'; }\nfunction isRegExp(obj) { return _class(obj) === '[object RegExp]'; }\nfunction isFunction(obj) { return _class(obj) === '[object Function]'; }\n\n\nfunction escapeRE(str) { return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&'); }\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar defaultOptions = {\n fuzzyLink: true,\n fuzzyEmail: true,\n fuzzyIP: false\n};\n\n\nfunction isOptionsObj(obj) {\n return Object.keys(obj || {}).reduce(function (acc, k) {\n return acc || defaultOptions.hasOwnProperty(k);\n }, false);\n}\n\n\nvar defaultSchemas = {\n 'http:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.http = new RegExp(\n '^\\\\/\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'\n );\n }\n if (self.re.http.test(tail)) {\n return tail.match(self.re.http)[0].length;\n }\n return 0;\n }\n },\n 'https:': 'http:',\n 'ftp:': 'http:',\n '//': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.no_http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.no_http = new RegExp(\n '^' +\n self.re.src_auth +\n // Don't allow single-level domains, because of false positives like '//test'\n // with code comments\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\.)+' + self.re.src_domain_root + ')' +\n self.re.src_port +\n self.re.src_host_terminator +\n self.re.src_path,\n\n 'i'\n );\n }\n\n if (self.re.no_http.test(tail)) {\n // should not be `://` & `///`, that protects from errors in protocol name\n if (pos >= 3 && text[pos - 3] === ':') { return 0; }\n if (pos >= 3 && text[pos - 3] === '/') { return 0; }\n return tail.match(self.re.no_http)[0].length;\n }\n return 0;\n }\n },\n 'mailto:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.mailto) {\n self.re.mailto = new RegExp(\n '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'\n );\n }\n if (self.re.mailto.test(tail)) {\n return tail.match(self.re.mailto)[0].length;\n }\n return 0;\n }\n }\n};\n\n/*eslint-disable max-len*/\n\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\n\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\n\n/*eslint-enable max-len*/\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction resetScanCache(self) {\n self.__index__ = -1;\n self.__text_cache__ = '';\n}\n\nfunction createValidator(re) {\n return function (text, pos) {\n var tail = text.slice(pos);\n\n if (re.test(tail)) {\n return tail.match(re)[0].length;\n }\n return 0;\n };\n}\n\nfunction createNormalizer() {\n return function (match, self) {\n self.normalize(match);\n };\n}\n\n// Schemas compiler. Build regexps.\n//\nfunction compile(self) {\n\n // Load & clone RE patterns.\n var re = self.re = require('./lib/re')(self.__opts__);\n\n // Define dynamic patterns\n var tlds = self.__tlds__.slice();\n\n self.onCompile();\n\n if (!self.__tlds_replaced__) {\n tlds.push(tlds_2ch_src_re);\n }\n tlds.push(re.src_xn);\n\n re.src_tlds = tlds.join('|');\n\n function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }\n\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\n\n //\n // Compile each schema\n //\n\n var aliases = [];\n\n self.__compiled__ = {}; // Reset compiled data\n\n function schemaError(name, val) {\n throw new Error('(LinkifyIt) Invalid schema \"' + name + '\": ' + val);\n }\n\n Object.keys(self.__schemas__).forEach(function (name) {\n var val = self.__schemas__[name];\n\n // skip disabled methods\n if (val === null) { return; }\n\n var compiled = { validate: null, link: null };\n\n self.__compiled__[name] = compiled;\n\n if (isObject(val)) {\n if (isRegExp(val.validate)) {\n compiled.validate = createValidator(val.validate);\n } else if (isFunction(val.validate)) {\n compiled.validate = val.validate;\n } else {\n schemaError(name, val);\n }\n\n if (isFunction(val.normalize)) {\n compiled.normalize = val.normalize;\n } else if (!val.normalize) {\n compiled.normalize = createNormalizer();\n } else {\n schemaError(name, val);\n }\n\n return;\n }\n\n if (isString(val)) {\n aliases.push(name);\n return;\n }\n\n schemaError(name, val);\n });\n\n //\n // Compile postponed aliases\n //\n\n aliases.forEach(function (alias) {\n if (!self.__compiled__[self.__schemas__[alias]]) {\n // Silently fail on missed schemas to avoid errons on disable.\n // schemaError(alias, self.__schemas__[alias]);\n return;\n }\n\n self.__compiled__[alias].validate =\n self.__compiled__[self.__schemas__[alias]].validate;\n self.__compiled__[alias].normalize =\n self.__compiled__[self.__schemas__[alias]].normalize;\n });\n\n //\n // Fake record for guessed links\n //\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\n\n //\n // Build schema condition\n //\n var slist = Object.keys(self.__compiled__)\n .filter(function (name) {\n // Filter disabled & fake schemas\n return name.length > 0 && self.__compiled__[name];\n })\n .map(escapeRE)\n .join('|');\n // (?!_) cause 1.5x slowdown\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\n self.re.schema_at_start = RegExp('^' + self.re.schema_search.source, 'i');\n\n self.re.pretest = RegExp(\n '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',\n 'i'\n );\n\n //\n // Cleanup\n //\n\n resetScanCache(self);\n}\n\n/**\n * class Match\n *\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\n **/\nfunction Match(self, shift) {\n var start = self.__index__,\n end = self.__last_index__,\n text = self.__text_cache__.slice(start, end);\n\n /**\n * Match#schema -> String\n *\n * Prefix (protocol) for matched string.\n **/\n this.schema = self.__schema__.toLowerCase();\n /**\n * Match#index -> Number\n *\n * First position of matched string.\n **/\n this.index = start + shift;\n /**\n * Match#lastIndex -> Number\n *\n * Next position after matched string.\n **/\n this.lastIndex = end + shift;\n /**\n * Match#raw -> String\n *\n * Matched string.\n **/\n this.raw = text;\n /**\n * Match#text -> String\n *\n * Notmalized text of matched string.\n **/\n this.text = text;\n /**\n * Match#url -> String\n *\n * Normalized url of matched string.\n **/\n this.url = text;\n}\n\nfunction createMatch(self, shift) {\n var match = new Match(self, shift);\n\n self.__compiled__[match.schema].normalize(match, self);\n\n return match;\n}\n\n\n/**\n * class LinkifyIt\n **/\n\n/**\n * new LinkifyIt(schemas, options)\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Creates new linkifier instance with optional additional schemas.\n * Can be called without `new` keyword for convenience.\n *\n * By default understands:\n *\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\n * - \"fuzzy\" links and emails (example.com, foo@bar.com).\n *\n * `schemas` is an object, where each key/value describes protocol/rule:\n *\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\n * for example). `linkify-it` makes shure that prefix is not preceeded with\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\n * - __value__ - rule to check tail after link prefix\n * - _String_ - just alias to existing rule\n * - _Object_\n * - _validate_ - validator function (should return matched length on success),\n * or `RegExp`.\n * - _normalize_ - optional function to normalize text & url of matched result\n * (for example, for @twitter mentions).\n *\n * `options`:\n *\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\n * like version numbers. Default `false`.\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\n *\n **/\nfunction LinkifyIt(schemas, options) {\n if (!(this instanceof LinkifyIt)) {\n return new LinkifyIt(schemas, options);\n }\n\n if (!options) {\n if (isOptionsObj(schemas)) {\n options = schemas;\n schemas = {};\n }\n }\n\n this.__opts__ = assign({}, defaultOptions, options);\n\n // Cache last tested result. Used to skip repeating steps on next `match` call.\n this.__index__ = -1;\n this.__last_index__ = -1; // Next scan position\n this.__schema__ = '';\n this.__text_cache__ = '';\n\n this.__schemas__ = assign({}, defaultSchemas, schemas);\n this.__compiled__ = {};\n\n this.__tlds__ = tlds_default;\n this.__tlds_replaced__ = false;\n\n this.re = {};\n\n compile(this);\n}\n\n\n/** chainable\n * LinkifyIt#add(schema, definition)\n * - schema (String): rule name (fixed pattern prefix)\n * - definition (String|RegExp|Object): schema definition\n *\n * Add new rule definition. See constructor description for details.\n **/\nLinkifyIt.prototype.add = function add(schema, definition) {\n this.__schemas__[schema] = definition;\n compile(this);\n return this;\n};\n\n\n/** chainable\n * LinkifyIt#set(options)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Set recognition options for links without schema.\n **/\nLinkifyIt.prototype.set = function set(options) {\n this.__opts__ = assign(this.__opts__, options);\n return this;\n};\n\n\n/**\n * LinkifyIt#test(text) -> Boolean\n *\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\n **/\nLinkifyIt.prototype.test = function test(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) { return false; }\n\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\n\n // try to scan for link with schema - that's the most simple rule\n if (this.re.schema_test.test(text)) {\n re = this.re.schema_search;\n re.lastIndex = 0;\n while ((m = re.exec(text)) !== null) {\n len = this.testSchemaAt(text, m[2], re.lastIndex);\n if (len) {\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n break;\n }\n }\n }\n\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\n // guess schemaless links\n tld_pos = text.search(this.re.host_fuzzy_test);\n if (tld_pos >= 0) {\n // if tld is located after found link - no need to check fuzzy pattern\n if (this.__index__ < 0 || tld_pos < this.__index__) {\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\n\n shift = ml.index + ml[1].length;\n\n if (this.__index__ < 0 || shift < this.__index__) {\n this.__schema__ = '';\n this.__index__ = shift;\n this.__last_index__ = ml.index + ml[0].length;\n }\n }\n }\n }\n }\n\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\n // guess schemaless emails\n at_pos = text.indexOf('@');\n if (at_pos >= 0) {\n // We can't skip this check, because this cases are possible:\n // 192.168.1.1@gmail.com, my.in@example.com\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\n\n shift = me.index + me[1].length;\n next = me.index + me[0].length;\n\n if (this.__index__ < 0 || shift < this.__index__ ||\n (shift === this.__index__ && next > this.__last_index__)) {\n this.__schema__ = 'mailto:';\n this.__index__ = shift;\n this.__last_index__ = next;\n }\n }\n }\n }\n\n return this.__index__ >= 0;\n};\n\n\n/**\n * LinkifyIt#pretest(text) -> Boolean\n *\n * Very quick check, that can give false positives. Returns true if link MAY BE\n * can exists. Can be used for speed optimization, when you need to check that\n * link NOT exists.\n **/\nLinkifyIt.prototype.pretest = function pretest(text) {\n return this.re.pretest.test(text);\n};\n\n\n/**\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\n * - text (String): text to scan\n * - name (String): rule (schema) name\n * - position (Number): text offset to check from\n *\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\n * at given position. Returns length of found pattern (0 on fail).\n **/\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\n // If not supported schema check requested - terminate\n if (!this.__compiled__[schema.toLowerCase()]) {\n return 0;\n }\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\n};\n\n\n/**\n * LinkifyIt#match(text) -> Array|null\n *\n * Returns array of found link descriptions or `null` on fail. We strongly\n * recommend to use [[LinkifyIt#test]] first, for best speed.\n *\n * ##### Result match description\n *\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\n * protocol-neutral links.\n * - __index__ - offset of matched text\n * - __lastIndex__ - index of next char after mathch end\n * - __raw__ - matched text\n * - __text__ - normalized text\n * - __url__ - link, generated from matched text\n **/\nLinkifyIt.prototype.match = function match(text) {\n var shift = 0, result = [];\n\n // Try to take previous element from cache, if .test() called before\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\n result.push(createMatch(this, shift));\n shift = this.__last_index__;\n }\n\n // Cut head if cache was used\n var tail = shift ? text.slice(shift) : text;\n\n // Scan string until end reached\n while (this.test(tail)) {\n result.push(createMatch(this, shift));\n\n tail = tail.slice(this.__last_index__);\n shift += this.__last_index__;\n }\n\n if (result.length) {\n return result;\n }\n\n return null;\n};\n\n\n/**\n * LinkifyIt#matchAtStart(text) -> Match|null\n *\n * Returns fully-formed (not fuzzy) link if it starts at the beginning\n * of the string, and null otherwise.\n **/\nLinkifyIt.prototype.matchAtStart = function matchAtStart(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) return null;\n\n var m = this.re.schema_at_start.exec(text);\n if (!m) return null;\n\n var len = this.testSchemaAt(text, m[2], m[0].length);\n if (!len) return null;\n\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n\n return createMatch(this, 0);\n};\n\n\n/** chainable\n * LinkifyIt#tlds(list [, keepOld]) -> this\n * - list (Array): list of tlds\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\n *\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\n * to avoid false positives. By default this algorythm used:\n *\n * - hostname with any 2-letter root zones are ok.\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\n * are ok.\n * - encoded (`xn--...`) root zones are ok.\n *\n * If list is replaced, then exact match for 2-chars root zones will be checked.\n **/\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\n list = Array.isArray(list) ? list : [ list ];\n\n if (!keepOld) {\n this.__tlds__ = list.slice();\n this.__tlds_replaced__ = true;\n compile(this);\n return this;\n }\n\n this.__tlds__ = this.__tlds__.concat(list)\n .sort()\n .filter(function (el, idx, arr) {\n return el !== arr[idx - 1];\n })\n .reverse();\n\n compile(this);\n return this;\n};\n\n/**\n * LinkifyIt#normalize(match)\n *\n * Default normalizer (if schema does not define it's own).\n **/\nLinkifyIt.prototype.normalize = function normalize(match) {\n\n // Do minimal possible changes by default. Need to collect feedback prior\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\n\n if (!match.schema) { match.url = 'http://' + match.url; }\n\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\n match.url = 'mailto:' + match.url;\n }\n};\n\n\n/**\n * LinkifyIt#onCompile()\n *\n * Override to modify basic RegExp-s.\n **/\nLinkifyIt.prototype.onCompile = function onCompile() {\n};\n\n\nmodule.exports = LinkifyIt;\n","'use strict';\n\n\nmodule.exports = function (opts) {\n var re = {};\n opts = opts || {};\n\n // Use direct extract instead of `regenerate` to reduse browserified size\n re.src_Any = require('uc.micro/properties/Any/regex').source;\n re.src_Cc = require('uc.micro/categories/Cc/regex').source;\n re.src_Z = require('uc.micro/categories/Z/regex').source;\n re.src_P = require('uc.micro/categories/P/regex').source;\n\n // \\p{\\Z\\P\\Cc\\CF} (white spaces + control + format + punctuation)\n re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');\n\n // \\p{\\Z\\Cc} (white spaces + control)\n re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');\n\n // Experimental. List of chars, completely prohibited in links\n // because can separate it from other part of text\n var text_separators = '[><\\uff5c]';\n\n // All possible word characters (everything without punctuation, spaces & controls)\n // Defined via punctuation & spaces to save space\n // Should be something like \\p{\\L\\N\\S\\M} (\\w but without `_`)\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\n // The same as abothe but without [0-9]\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\n\n ////////////////////////////////////////////////////////////////////////////////\n\n re.src_ip4 =\n\n '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\n\n // Prohibit any of \"@/[]()\" in user/pass to avoid wrong domain fetch.\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\[\\\\]()]).)+@)?';\n\n re.src_port =\n\n '(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?';\n\n re.src_host_terminator =\n\n '(?=$|' + text_separators + '|' + re.src_ZPCc + ')' +\n '(?!' + (opts['---'] ? '-(?!--)|' : '-|') + '_|:\\\\d|\\\\.-|\\\\.(?!$|' + re.src_ZPCc + '))';\n\n re.src_path =\n\n '(?:' +\n '[/?#]' +\n '(?:' +\n '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\]{}.,\"\\'?!\\\\-;]).|' +\n '\\\\[(?:(?!' + re.src_ZCc + '|\\\\]).)*\\\\]|' +\n '\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\)|' +\n '\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\}|' +\n '\\\\\"(?:(?!' + re.src_ZCc + '|[\"]).)+\\\\\"|' +\n \"\\\\'(?:(?!\" + re.src_ZCc + \"|[']).)+\\\\'|\" +\n \"\\\\'(?=\" + re.src_pseudo_letter + '|[-])|' + // allow `I'm_king` if no pair found\n '\\\\.{2,}[a-zA-Z0-9%/&]|' + // google has many dots in \"google search\" links (#66, #81).\n // github has ... in commit range links,\n // Restrict to\n // - english\n // - percent-encoded\n // - parts of file path\n // - params separator\n // until more examples found.\n '\\\\.(?!' + re.src_ZCc + '|[.]|$)|' +\n (opts['---'] ?\n '\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\n :\n '\\\\-+|'\n ) +\n ',(?!' + re.src_ZCc + '|$)|' + // allow `,,,` in paths\n ';(?!' + re.src_ZCc + '|$)|' + // allow `;` if not followed by space-like char\n '\\\\!+(?!' + re.src_ZCc + '|[!]|$)|' + // allow `!!!` in paths, but not at the end\n '\\\\?(?!' + re.src_ZCc + '|[?]|$)' +\n ')+' +\n '|\\\\/' +\n ')?';\n\n // Allow anything in markdown spec, forbid quote (\") at the first position\n // because emails enclosed in quotes are far more common\n re.src_email_name =\n\n '[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*';\n\n re.src_xn =\n\n 'xn--[a-z0-9\\\\-]{1,59}';\n\n // More to read about domain names\n // http://serverfault.com/questions/638260/\n\n re.src_domain_root =\n\n // Allow letters & digits (http://test1)\n '(?:' +\n re.src_xn +\n '|' +\n re.src_pseudo_letter + '{1,63}' +\n ')';\n\n re.src_domain =\n\n '(?:' +\n re.src_xn +\n '|' +\n '(?:' + re.src_pseudo_letter + ')' +\n '|' +\n '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +\n ')';\n\n re.src_host =\n\n '(?:' +\n // Don't need IP check, because digits are already allowed in normal domain names\n // src_ip4 +\n // '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)*' + re.src_domain/*_root*/ + ')' +\n ')';\n\n re.tpl_host_fuzzy =\n\n '(?:' +\n re.src_ip4 +\n '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))' +\n ')';\n\n re.tpl_host_no_ip_fuzzy =\n\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))';\n\n re.src_host_strict =\n\n re.src_host + re.src_host_terminator;\n\n re.tpl_host_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_host_terminator;\n\n re.src_host_port_strict =\n\n re.src_host + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_no_ip_fuzzy_strict =\n\n re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\n\n\n ////////////////////////////////////////////////////////////////////////////////\n // Main rules\n\n // Rude test fuzzy links by host, for quick deny\n re.tpl_host_fuzzy_test =\n\n 'localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\n\n re.tpl_email_fuzzy =\n\n '(^|' + text_separators + '|\"|\\\\(|' + re.src_ZCc + ')' +\n '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\n\n re.tpl_link_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\n\n re.tpl_link_no_ip_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\n\n return re;\n};\n","// markdown-it default options\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: false, // Enable HTML tags in source\n xhtmlOut: false, // Use '/' to close single tags (<br />)\n breaks: false, // Convert '\\n' in paragraphs into <br>\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “â€â€˜â€™ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with <pre... internal wrapper is skipped.\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n\n maxNesting: 100 // Internal protection, recursion limit\n },\n\n components: {\n\n core: {},\n block: {},\n inline: {}\n }\n};\n","// \"Zero\" preset, with nothing enabled. Useful for manual configuring of simple\n// modes. For example, to parse bold/italic only.\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: false, // Enable HTML tags in source\n xhtmlOut: false, // Use '/' to close single tags (<br />)\n breaks: false, // Convert '\\n' in paragraphs into <br>\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “â€â€˜â€™ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with <pre... internal wrapper is skipped.\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n\n maxNesting: 20 // Internal protection, recursion limit\n },\n\n components: {\n\n core: {\n rules: [\n 'normalize',\n 'block',\n 'inline',\n 'text_join'\n ]\n },\n\n block: {\n rules: [\n 'paragraph'\n ]\n },\n\n inline: {\n rules: [\n 'text'\n ],\n rules2: [\n 'balance_pairs',\n 'fragments_join'\n ]\n }\n }\n};\n","// Commonmark default options\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: true, // Enable HTML tags in source\n xhtmlOut: true, // Use '/' to close single tags (<br />)\n breaks: false, // Convert '\\n' in paragraphs into <br>\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “â€â€˜â€™ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with <pre... internal wrapper is skipped.\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n\n maxNesting: 20 // Internal protection, recursion limit\n },\n\n components: {\n\n core: {\n rules: [\n 'normalize',\n 'block',\n 'inline',\n 'text_join'\n ]\n },\n\n block: {\n rules: [\n 'blockquote',\n 'code',\n 'fence',\n 'heading',\n 'hr',\n 'html_block',\n 'lheading',\n 'list',\n 'reference',\n 'paragraph'\n ]\n },\n\n inline: {\n rules: [\n 'autolink',\n 'backticks',\n 'emphasis',\n 'entity',\n 'escape',\n 'html_inline',\n 'image',\n 'link',\n 'newline',\n 'text'\n ],\n rules2: [\n 'balance_pairs',\n 'emphasis',\n 'fragments_join'\n ]\n }\n }\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import { hooks } from 'botframework-webchat-api';\nimport React, { useMemo } from 'react';\n\nimport type { ActivityComponentFactory } from 'botframework-webchat-api';\nimport type { FC, PropsWithChildren } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nimport { ActivityWithRenderer, ReadonlyActivityTree } from './private/types';\nimport ActivityTreeContext from './private/Context';\nimport useActivitiesWithRenderer from './private/useActivitiesWithRenderer';\nimport useActivityTreeContext from './private/useContext';\nimport useActivityTreeWithRenderer from './private/useActivityTreeWithRenderer';\nimport useMemoWithPrevious from '../../hooks/internal/useMemoWithPrevious';\n\nimport type { ActivityTreeContextType } from './private/Context';\n\ntype ActivityTreeComposerProps = PropsWithChildren<{}>;\n\nconst { useActivities, useCreateActivityRenderer } = hooks;\n\nconst ActivityTreeComposer: FC<ActivityTreeComposerProps> = ({ children }) => {\n const existingContext = useActivityTreeContext(false);\n\n if (existingContext) {\n throw new Error('botframework-webchat internal: <ActivityTreeComposer> should not be nested.');\n }\n\n const [activities]: [WebChatActivity[]] = useActivities();\n const createActivityRenderer: ActivityComponentFactory = useCreateActivityRenderer();\n\n const activitiesWithRenderer = useActivitiesWithRenderer(activities, createActivityRenderer);\n\n const activityTreeWithRenderer = useActivityTreeWithRenderer(activitiesWithRenderer);\n\n const flattenedActivityTreeWithRenderer = useMemoWithPrevious<Readonly<ActivityWithRenderer[]>>(\n prevFlattenedActivityTree => {\n const nextFlattenedActivityTree = Object.freeze(\n activityTreeWithRenderer.reduce<ActivityWithRenderer[]>(\n (intermediate, entriesWithSameSender) =>\n entriesWithSameSender.reduce<ActivityWithRenderer[]>(\n (intermediate, entriesWithSameSenderAndStatus) =>\n entriesWithSameSenderAndStatus.reduce<ActivityWithRenderer[]>((intermediate, entry) => {\n intermediate.push(entry);\n\n return intermediate;\n }, intermediate),\n intermediate\n ),\n []\n )\n );\n\n return nextFlattenedActivityTree.length === prevFlattenedActivityTree?.length &&\n nextFlattenedActivityTree.every((item, index) => item === prevFlattenedActivityTree[+index])\n ? prevFlattenedActivityTree\n : nextFlattenedActivityTree;\n },\n [activityTreeWithRenderer]\n );\n\n const contextValue: ActivityTreeContextType = useMemo(\n () => ({\n activityTreeWithRendererState: Object.freeze([activityTreeWithRenderer]) as readonly [ReadonlyActivityTree],\n flattenedActivityTreeWithRendererState: Object.freeze([flattenedActivityTreeWithRenderer]) as readonly [\n readonly ActivityWithRenderer[]\n ]\n }),\n [activityTreeWithRenderer, flattenedActivityTreeWithRenderer]\n );\n\n return <ActivityTreeContext.Provider value={contextValue}>{children}</ActivityTreeContext.Provider>;\n};\n\nexport default ActivityTreeComposer;\n","import { useCallback, useRef } from 'react';\nimport type { WebChatActivity } from 'botframework-webchat-core';\n\nimport useMemoize from '../../../hooks/internal/useMemoize';\nimport type { ActivityWithRenderer } from './types';\n\nexport default function useActivitiesWithRenderer(\n activities: readonly WebChatActivity[],\n createActivityRenderer\n): readonly ActivityWithRenderer[] {\n const createActivityRendererWithLiteralArgs = useCallback(\n (activity: WebChatActivity, nextVisibleActivity: WebChatActivity) =>\n createActivityRenderer({ activity, nextVisibleActivity }),\n [createActivityRenderer]\n );\n\n // Create a memoized context of the createActivityRenderer function.\n // TODO: [P2] Rename useMemoize to useMemoAll\n const entries = useMemoize(\n createActivityRendererWithLiteralArgs,\n createActivityRendererWithLiteralArgsMemoized => {\n // All calls to createActivityRendererWithLiteralArgsMemoized() in this function will be memoized (LRU = 1).\n // In the next render cycle, calls to createActivityRendererWithLiteralArgsMemoized() might return the memoized result instead.\n // This is an improvement to React useMemo(), because it only allows 1 memoization.\n // useMemoize() allows any number of memoization.\n\n const activitiesWithRenderer: ActivityWithRenderer[] = [];\n let nextVisibleActivity: WebChatActivity;\n\n for (let index = activities.length - 1; index >= 0; index--) {\n const activity = activities[+index];\n const renderActivity = createActivityRendererWithLiteralArgsMemoized(activity, nextVisibleActivity);\n\n if (renderActivity) {\n activitiesWithRenderer.splice(0, 0, {\n activity,\n renderActivity\n });\n\n nextVisibleActivity = activity;\n }\n }\n\n return Object.freeze(activitiesWithRenderer);\n },\n [activities]\n );\n\n const prevEntriesRef = useRef<readonly ActivityWithRenderer[]>([]);\n const { current: prevEntries } = prevEntriesRef;\n\n if (\n prevEntries.length !== entries.length ||\n prevEntries.some((prevEntry, index) => {\n const entry = entries[+index];\n\n return entry.activity !== prevEntry.activity || entry.renderActivity !== prevEntry.renderActivity;\n })\n ) {\n prevEntriesRef.current = entries;\n }\n\n return prevEntriesRef.current;\n}\n","import { DependencyList, useMemo } from 'react';\n\ntype Cache<TArgs, TResult> = { args: TArgs[]; result: TResult };\ntype Fn<TArgs, TResult> = (...args: TArgs[]) => TResult;\n\n/**\n * `useMemoize` will memoize multiple calls to the same memoize function.\n *\n * This is similar to `useMemo`. But instead of calling it once, `useMemoize` enables multiple calls while the `callback` function is executed.\n *\n * @param {Fn<TArgs, TIntermediate>} fn - The function to be memoized.\n * @param {(fn: Fn<TArgs, TIntermediate>) => TFinal} callback - When called, this function should execute the memoizing function.\n * @param {DependencyList[]} deps - Dependencies to detect for chagnes.\n */\nexport default function useMemoize<TIntermediate, TFinal>(\n fn: Fn<unknown, TIntermediate>,\n callback: (fn: Fn<unknown, TIntermediate>) => TFinal,\n deps: DependencyList[]\n): TFinal {\n if (typeof fn !== 'function') {\n throw new Error('The first argument must be a function.');\n } else if (typeof callback !== 'function') {\n throw new Error('The second argument must be a function.');\n } else if (!Array.isArray(deps)) {\n throw new Error('The third argument must be an array.');\n }\n\n const memoizedFn = useMemo(() => {\n let cache: Cache<unknown, TIntermediate>[] = [];\n\n return (run: (fn: Fn<unknown, TIntermediate>) => TFinal) => {\n const nextCache: Cache<unknown, TIntermediate>[] = [];\n const result = run((...args) => {\n const { result } = [...cache, ...nextCache].find(\n ({ args: cachedArgs }) =>\n args.length === cachedArgs.length && args.every((arg, index) => Object.is(arg, cachedArgs[+index]))\n ) || { result: fn(...args) };\n\n nextCache.push({ args, result });\n\n return result;\n });\n\n cache = nextCache;\n\n return result;\n };\n // We are manually creating the deps here. The \"callback\" arg is also designed not to be impact deps, similar to useEffect(fn), where \"fn\" is not in deps.\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [fn, ...deps]);\n\n return memoizedFn(callback);\n}\n","import { hooks } from 'botframework-webchat-api';\nimport { useMemo } from 'react';\n\nimport intersectionOf from '../../../Utils/intersectionOf';\nimport removeInline from '../../../Utils/removeInline';\nimport type { ActivityWithRenderer, ReadonlyActivityTree } from './types';\n\nconst { useGroupActivities } = hooks;\n\nfunction validateAllEntriesTagged<T>(entries: readonly T[], bins: readonly (readonly T[])[]): boolean {\n return entries.every(entry => bins.some(bin => bin.includes(entry)));\n}\n\n// Activity tree is a multidimensional array, while activities is a 1D array.\n// - The first dimension of the array contains activities with same sender;\n// - The second dimension of the array contains activities with same status.\n\n// [\n// [\n// // Both messages are from bot and is sent as a batch, we will group them as an array.\n// 'Bot: Hello!'\n// 'Bot: What can I help today?'\n// ],\n// [\n// 'User: What is the weather?'\n// ],\n// [\n// 'Bot: Let me look it up... hold on.'\n// ],\n// [\n// // This message is in a different group because it is more than a few seconds apart from the previous message.\n// 'Bot: Here is the weather forecast.'\n// ]\n// ]\n\nfunction useActivityTreeWithRenderer(entries: readonly ActivityWithRenderer[]): ReadonlyActivityTree {\n const groupActivities = useGroupActivities();\n\n // We bin activities in 2 different ways:\n // - `activitiesBySender` is a 2D array containing activities with same sender\n // - `activitiesByStatus` is a 2D array containing activities with same status\n // Both arrays should contains all activities.\n\n const { entriesBySender, entriesByStatus } = useMemo<{\n entriesBySender: readonly (readonly ActivityWithRenderer[])[];\n entriesByStatus: readonly (readonly ActivityWithRenderer[])[];\n }>(() => {\n const visibleActivities = entries.map(({ activity }) => activity);\n\n const groupActivitiesResult = groupActivities({ activities: visibleActivities });\n\n const activitiesBySender = groupActivitiesResult?.sender || [];\n const activitiesByStatus = groupActivitiesResult?.status || [];\n\n const [entriesBySender, entriesByStatus] = [activitiesBySender, activitiesByStatus].map(bins =>\n bins.map(bin => bin.map(activity => entries.find(entry => entry.activity === activity)))\n );\n\n if (!validateAllEntriesTagged(visibleActivities, activitiesBySender)) {\n console.warn(\n 'botframework-webchat: Not every activities are grouped in the \"sender\" property. Please fix \"groupActivitiesMiddleware\" and group every activities.'\n );\n }\n\n if (!validateAllEntriesTagged(visibleActivities, activitiesByStatus)) {\n console.warn(\n 'botframework-webchat: Not every activities are grouped in the \"status\" property. Please fix \"groupActivitiesMiddleware\" and group every activities.'\n );\n }\n\n return {\n entriesBySender,\n entriesByStatus\n };\n }, [entries, groupActivities]);\n\n // Create a tree of activities with 2 dimensions: sender, followed by status.\n\n const activityTree: ReadonlyActivityTree = useMemo(() => {\n const entriesPendingGrouping = [...entries];\n const activityTree: (readonly (readonly ActivityWithRenderer[])[])[] = [];\n\n while (entriesPendingGrouping.length) {\n let found: boolean;\n const entriesWithSameSender = entriesBySender.find(bin => bin.includes(entriesPendingGrouping[0]));\n const senderTree: (readonly ActivityWithRenderer[])[] = [];\n\n entriesWithSameSender?.forEach(entry => {\n const entriesWithSameStatus = entriesByStatus.find(bin => bin.includes(entry));\n\n const entriesWithSameSenderAndStatus = intersectionOf<ActivityWithRenderer>(\n entriesPendingGrouping,\n entriesWithSameSender,\n entriesWithSameStatus\n );\n\n if (entriesWithSameSenderAndStatus.length) {\n senderTree.push(Object.freeze(entriesWithSameSenderAndStatus));\n removeInline(entriesPendingGrouping, ...entriesWithSameSenderAndStatus);\n\n found = true;\n }\n });\n\n // If the entry is not grouped by the middleware, just put the entry in its own bin.\n found || senderTree.push(Object.freeze([entriesPendingGrouping.shift()]));\n\n activityTree.push(Object.freeze(senderTree));\n }\n\n // Assertion: All entries must be assigned to the activityTree.\n if (\n !entries.every(activity =>\n activityTree.some(activitiesWithSameSender =>\n activitiesWithSameSender.some(activitiesWithSameSenderAndStatus =>\n activitiesWithSameSenderAndStatus.includes(activity)\n )\n )\n )\n ) {\n console.warn('botframework-webchat internal: Not all visible activities are grouped in the activityTree.', {\n entries,\n activityTree\n });\n }\n\n return Object.freeze(activityTree);\n }, [entriesBySender, entriesByStatus, entries]);\n\n return activityTree;\n}\n\nexport type { ActivityWithRenderer };\n\nexport default useActivityTreeWithRenderer;\n","/**\n * Intersects 2 or more arrays and return an array of values which are common to all of them.\n */\nexport default function intersectionOf<T>(arg0: readonly T[], ...args: readonly (readonly T[])[]): T[] {\n return args.reduce<T[]>(\n (interim: T[], arg: readonly T[]) =>\n interim.reduce((intersection: T[], item: T) => {\n arg.includes(item) && intersection.push(item);\n\n return intersection;\n }, []),\n [...arg0]\n );\n}\n","import { useEffect, useMemo, useRef } from 'react';\n\nimport type { DependencyList } from 'react';\n\nexport default function useMemoWithPrevious<T>(factory: (prevValue: T) => T, deps: DependencyList): T {\n const prevValueRef = useRef<T>();\n // We are building a `useMemo`-like hook, `deps` is passed as-is and `factory` is not one fo the dependencies.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = useMemo<T>(() => factory(prevValueRef.current), deps);\n\n useEffect(() => {\n prevValueRef.current = value;\n });\n\n return value;\n}\n","import updateMarkdownAttrs from './updateMarkdownAttrs';\nimport walkMarkdownTokens from './walkMarkdownTokens';\n\nexport default function addTargetBlankToHyperlinksMarkdown(tokens) {\n return walkMarkdownTokens(tokens, token => {\n switch (token.type) {\n case 'link_open':\n token = updateMarkdownAttrs(token, attrs =>\n // Adds only for external links, e.g. https://, data:\n // Don't add for internal links, e.g. #ref-1, ?q=doc\n /^\\w/u.test(attrs.href)\n ? {\n ...attrs,\n rel: 'noopener noreferrer',\n target: '_blank'\n }\n : attrs\n );\n\n break;\n\n default:\n break;\n }\n\n return token;\n });\n}\n","import updateIn from 'simple-update-in';\n\nexport default function updateMarkdownItAttrs(token, updater) {\n return updateIn(token, ['attrs'], attrs => {\n const map = Object.fromEntries(attrs);\n const nextMap = updater(map);\n\n return Object.entries(nextMap);\n });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 2, 5, 26, 65] }] */\n\nimport random from 'math-random';\n\nexport default function useCSSKey() {\n return random()\n .toString(26)\n .substr(2, 5)\n .replace(/\\d/gu, value => String.fromCharCode(value.charCodeAt(0) + 65));\n}\n","var _Array$isArray = require(\"@babel/runtime-corejs3/core-js/array/is-array\");\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"core-js-pure/features/array/is-array\");","var parent = require('../../actual/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../stable/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\nvar _getIteratorMethod = require(\"@babel/runtime-corejs3/core-js/get-iterator-method\");\nfunction _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof _Symbol && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata-key');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.metadata');\nrequire('../../modules/esnext.symbol.pattern-match');\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","var parent = require('../../stable/symbol');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n","var defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\ndefineWellKnownSymbol('replaceAll');\n","module.exports = require(\"core-js-pure/features/get-iterator-method\");","var parent = require('../actual/get-iterator-method');\n\nmodule.exports = parent;\n","var parent = require('../stable/get-iterator-method');\n\nmodule.exports = parent;\n","var parent = require('../es/get-iterator-method');\nrequire('../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../modules/es.array.iterator');\nrequire('../modules/es.string.iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = getIteratorMethod;\n","var _sliceInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/slice\");\nvar _Array$from = require(\"@babel/runtime-corejs3/core-js/array/from\");\nvar arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n var _context;\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var parent = require('../../actual/instance/slice');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/slice');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;\n};\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","module.exports = require(\"core-js-pure/features/array/from\");","var parent = require('../../actual/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../stable/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var parent = require('../../es/instance/map');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/map');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.map;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.map) ? method : own;\n};\n","require('../../../modules/es.array.map');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').map;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../../es/instance/fill');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/fill');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.fill;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.fill) ? method : own;\n};\n","require('../../../modules/es.array.fill');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').fill;\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = require(\"core-js-pure/features/object/keys\");","module.exports = require('../../full/object/keys');\n","var parent = require('../../actual/object/keys');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/keys');\n\nmodule.exports = parent;\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","module.exports = require(\"core-js-pure/features/object/get-own-property-symbols\");","module.exports = require('../../full/object/get-own-property-symbols');\n","var parent = require('../../actual/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","require('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","module.exports = require(\"core-js-pure/features/instance/filter\");","module.exports = require('../../full/instance/filter');\n","var parent = require('../../actual/instance/filter');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/filter');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.filter) ? method : own;\n};\n","require('../../../modules/es.array.filter');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').filter;\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","module.exports = require(\"core-js-pure/features/object/get-own-property-descriptor\");","module.exports = require('../../full/object/get-own-property-descriptor');\n","var parent = require('../../actual/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","module.exports = require('../../full/instance/for-each');\n","var parent = require('../../actual/instance/for-each');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/for-each');\n\nmodule.exports = parent;\n","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.for-each');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","module.exports = require(\"core-js-pure/features/object/get-own-property-descriptors\");","module.exports = require('../../full/object/get-own-property-descriptors');\n","var parent = require('../../actual/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","module.exports = require(\"core-js-pure/features/object/define-properties\");","module.exports = require('../../full/object/define-properties');\n","var parent = require('../../actual/object/define-properties');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/define-properties');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) defineProperties.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","module.exports = require('../../full/object/define-property');\n","var parent = require('../../actual/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/define-property');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"core-js-pure/features/symbol/iterator\");","var parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n","var parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol/iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","var _Symbol$toPrimitive = require(\"@babel/runtime-corejs3/core-js/symbol/to-primitive\");\nvar _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[_Symbol$toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"core-js-pure/features/symbol/to-primitive\");","module.exports = require('../../full/symbol/to-primitive');\n","var parent = require('../../actual/symbol/to-primitive');\n\nmodule.exports = parent;\n","var parent = require('../../stable/symbol/to-primitive');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol/to-primitive');\n\nmodule.exports = parent;\n","require('../../modules/es.date.to-primitive');\nrequire('../../modules/es.symbol.to-primitive');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('toPrimitive');\n","var parent = require('../es/parse-float');\n\nmodule.exports = parent;\n","require('../modules/es.parse-float');\nvar path = require('../internals/path');\n\nmodule.exports = path.parseFloat;\n","var $ = require('../internals/export');\nvar $parseFloat = require('../internals/number-parse-float');\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\n$({ global: true, forced: parseFloat != $parseFloat }, {\n parseFloat: $parseFloat\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar $parseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : $parseFloat;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var parent = require('../../es/object/from-entries');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.from-entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.fromEntries;\n","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","var parent = require('../../es/object/entries');\n\nmodule.exports = parent;\n","require('../../modules/es.object.entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.entries;\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","require('../modules/web.timers');\nvar path = require('../internals/path');\n\nmodule.exports = path.setTimeout;\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/web.set-interval');\nrequire('../modules/web.set-timeout');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setInterval = require('../internals/schedulers-fix').setInterval;\n\n// ie9- setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n$({ global: true, bind: true, forced: global.setInterval !== setInterval }, {\n setInterval: setInterval\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setTimeout = require('../internals/schedulers-fix').setTimeout;\n\n// ie9- setTimeout additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n$({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, {\n setTimeout: setTimeout\n});\n","var parent = require('../../es/instance/reduce');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/reduce');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.reduce;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.reduce) ? method : own;\n};\n","require('../../../modules/es.array.reduce');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').reduce;\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw $TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var parent = require('../../es/math/sign');\n\nmodule.exports = parent;\n","require('../../modules/es.math.sign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.sign;\n","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n == 0 || n != n ? n : n < 0 ? -1 : 1;\n};\n","var parent = require('../../es/date/now');\n\nmodule.exports = parent;\n","require('../../modules/es.date.now');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Date.now;\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Date = Date;\nvar thisTimeValue = uncurryThis($Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return thisTimeValue(new $Date());\n }\n});\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/index-of');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.indexOf;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.indexOf) ? method : own;\n};\n","require('../../../modules/es.array.index-of');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').indexOf;\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = uncurryThis([].indexOf);\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n var fromIndex = arguments.length > 1 ? arguments[1] : undefined;\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf(this, searchElement, fromIndex) || 0\n : $indexOf(this, searchElement, fromIndex);\n }\n});\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/splice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.splice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.splice) ? method : own;\n};\n","require('../../../modules/es.array.splice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').splice;\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","module.exports = require(\"core-js-pure/features/object/create\");","module.exports = require('../../full/object/create');\n","var parent = require('../../actual/object/create');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/create');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/create');\n\nmodule.exports = parent;\n","require('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n return Object.create(P, D);\n};\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","module.exports = require(\"core-js-pure/features/object/get-prototype-of\");","module.exports = require('../../full/object/get-prototype-of');\n","var parent = require('../../actual/object/get-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-prototype-of');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getPrototypeOf;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","module.exports = require(\"core-js-pure/features/object/set-prototype-of\");","module.exports = require('../../full/object/set-prototype-of');\n","var parent = require('../../actual/object/set-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/set-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/set-prototype-of');\n\nmodule.exports = parent;\n","require('../../modules/es.object.set-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.setPrototypeOf;\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","module.exports = require('../../full/promise');\n","var parent = require('../../actual/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","var parent = require('../../stable/promise');\n\nmodule.exports = parent;\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.aggregate-error');\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.all-settled.js');\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true, forced: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.any');\n","module.exports = require(\"core-js-pure/features/instance/reverse\");","module.exports = require('../../full/instance/reverse');\n","var parent = require('../../actual/instance/reverse');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/reverse');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/reverse');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/reverse');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.reverse;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.reverse) ? method : own;\n};\n","require('../../../modules/es.array.reverse');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').reverse;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = uncurryThis([].reverse);\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign -- dirty hack\n if (isArray(this)) this.length = this.length;\n return nativeReverse(this);\n }\n});\n","/* eslint complexity: [\"error\", 30] */\n\nimport { hooks } from 'botframework-webchat-api';\nimport { useItemContainerCallbackRef, useScrollableCallbackRef } from 'react-film';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Bubble from './Bubble';\nimport CarouselFilmStripAttachment from './CarouselFilmStripAttachment';\nimport connectToWebChat from '../connectToWebChat';\nimport isZeroOrPositive from '../Utils/isZeroOrPositive';\nimport ScreenReaderText from '../ScreenReaderText';\nimport textFormatToContentType from '../Utils/textFormatToContentType';\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst { useAvatarForBot, useAvatarForUser, useDirection, useLocalizer, useStyleOptions } = hooks;\n\nconst ROOT_STYLE = {\n '&.webchat__carousel-filmstrip': {\n display: 'flex',\n flexDirection: 'column',\n MsOverflowStyle: 'none',\n overflowX: 'scroll',\n overflowY: 'hidden',\n position: 'relative', // This is to keep screen reader text in the destinated area.\n touchAction: 'manipulation',\n WebkitOverflowScrolling: 'touch',\n\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n\n '& .webchat__carousel-filmstrip__alignment-pad': {\n flexShrink: 0\n },\n\n '& .webchat__carousel-filmstrip-attachment': {\n flex: 1\n },\n\n '& .webchat__carousel-filmstrip__attachments': {\n display: 'flex',\n listStyleType: 'none',\n margin: 0,\n padding: 0\n },\n\n '& .webchat__carousel-filmstrip__avatar': {\n flexShrink: 0\n },\n\n '& .webchat__carousel-filmstrip__avatar-gutter': {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0\n },\n\n '& .webchat__carousel-filmstrip__complimentary': {\n display: 'flex'\n },\n\n '& .webchat__carousel-filmstrip__complimentary-content': {\n display: 'flex',\n flexGrow: 1,\n flexDirection: 'column'\n },\n\n '& .webchat__carousel-filmstrip__content': {\n display: 'flex',\n flexGrow: 1,\n flexDirection: 'column'\n },\n\n '& .webchat__carousel-filmstrip__filler': {\n flexGrow: 10000,\n flexShrink: 1\n },\n\n '& .webchat__carousel-filmstrip__main': {\n display: 'flex'\n },\n\n '& .webchat__carousel-filmstrip__message': {\n display: 'flex'\n },\n\n '& .webchat__carousel-filmstrip__nub-pad': {\n flexShrink: 0\n },\n\n '& .webchat__carousel-filmstrip__status': {\n display: 'flex'\n }\n }\n};\n\nconst connectCarouselFilmStrip = (...selectors) =>\n connectToWebChat(\n (\n {\n language,\n styleSet: {\n options: { botAvatarInitials, userAvatarInitials }\n }\n },\n { activity: { from: { role } = {} } = {} }\n ) => ({\n avatarInitials: role === 'user' ? userAvatarInitials : botAvatarInitials,\n language\n }),\n ...selectors\n );\n\nconst CarouselFilmStrip = ({\n activity,\n className,\n hideTimestamp,\n renderActivityStatus,\n renderAttachment,\n renderAvatar,\n showCallout\n}) => {\n const [{ bubbleNubOffset, bubbleNubSize, bubbleFromUserNubOffset, bubbleFromUserNubSize }] = useStyleOptions();\n const [{ carouselFilmStrip: carouselFilmStripStyleSet }] = useStyleSet();\n const [{ initials: botInitials }] = useAvatarForBot();\n const [{ initials: userInitials }] = useAvatarForUser();\n const [direction] = useDirection();\n const localize = useLocalizer();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n const showActivityStatus = typeof renderActivityStatus === 'function';\n\n const itemContainerCallbackRef = useItemContainerCallbackRef();\n const scrollableCallbackRef = useScrollableCallbackRef();\n\n const {\n attachments = [],\n channelData: { messageBack: { displayText: messageBackDisplayText } = {} } = {},\n from: { role } = {},\n text,\n textFormat\n } = activity;\n\n const activityDisplayText = messageBackDisplayText || text;\n const fromUser = role === 'user';\n\n const greetingAlt = (\n fromUser ? localize('ACTIVITY_YOU_SAID_ALT') : localize('ACTIVITY_BOT_SAID_ALT', botInitials || '')\n ).replace(/\\s{2,}/gu, ' ');\n\n const initials = fromUser ? userInitials : botInitials;\n const nubOffset = fromUser ? bubbleFromUserNubOffset : bubbleNubOffset;\n const nubSize = fromUser ? bubbleFromUserNubSize : bubbleNubSize;\n const otherInitials = fromUser ? botInitials : userInitials;\n const otherNubSize = fromUser ? bubbleNubSize : bubbleFromUserNubSize;\n\n const hasAvatar = initials || typeof initials === 'string';\n const hasOtherAvatar = otherInitials || typeof otherInitials === 'string';\n const hasNub = typeof nubSize === 'number';\n const hasOtherNub = typeof otherNubSize === 'number';\n const topAlignedCallout = isZeroOrPositive(nubOffset);\n\n const extraTrailing = !hasOtherAvatar && hasOtherNub; // This is for bot message with user nub and no user avatar. And vice versa.\n\n const showAvatar = showCallout && hasAvatar && !!renderAvatar;\n const showNub = showCallout && hasNub && (topAlignedCallout || !attachments.length);\n\n const hideNub = hasNub && !showNub;\n\n return (\n <div\n className={classNames(\n 'webchat__carousel-filmstrip',\n {\n 'webchat__carousel-filmstrip--extra-trailing': extraTrailing,\n 'webchat__carousel-filmstrip--hide-avatar': hasAvatar && !showAvatar,\n 'webchat__carousel-filmstrip--hide-nub': hideNub,\n 'webchat__carousel-filmstrip--no-message': !activityDisplayText,\n 'webchat__carousel-filmstrip--rtl': direction === 'rtl',\n 'webchat__carousel-filmstrip--show-avatar': showAvatar,\n 'webchat__carousel-filmstrip--show-nub': showNub,\n 'webchat__carousel-filmstrip--top-callout': topAlignedCallout\n },\n 'react-film__filmstrip',\n rootClassName,\n carouselFilmStripStyleSet + '',\n (className || '') + ''\n )}\n ref={scrollableCallbackRef}\n >\n <div className=\"webchat__carousel-filmstrip__main\">\n <div className=\"webchat__carousel-filmstrip__avatar-gutter\">{showAvatar && renderAvatar({ activity })}</div>\n <div className=\"webchat__carousel-filmstrip__content\">\n {!!activityDisplayText && (\n <div aria-roledescription=\"message\" className=\"webchat__carousel-filmstrip__message\" role=\"group\">\n <ScreenReaderText text={greetingAlt} />\n <Bubble\n className=\"webchat__carousel-filmstrip__bubble\"\n fromUser={fromUser}\n nub={showNub || ((hasAvatar || hasNub) && 'hidden')}\n >\n {renderAttachment({\n activity,\n attachment: {\n content: activityDisplayText,\n contentType: textFormatToContentType(textFormat)\n }\n })}\n </Bubble>\n <div className=\"webchat__carousel-filmstrip__filler\" />\n </div>\n )}\n <div className=\"webchat__carousel-filmstrip__complimentary\">\n <div className=\"webchat__carousel-filmstrip__nub-pad\" />\n <div className=\"webchat__carousel-filmstrip__complimentary-content c\">\n <ul\n className=\"webchat__carousel-filmstrip__attachments react-film__filmstrip__list\"\n ref={itemContainerCallbackRef}\n >\n {attachments.map((attachment, index) => (\n <CarouselFilmStripAttachment\n activity={activity}\n attachment={attachment}\n fromUser={fromUser}\n hasAvatar={hasAvatar}\n hideNub={hideNub}\n index={index}\n /* Attachments do not have an ID; it is always indexed by number */\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n renderAttachment={renderAttachment}\n showAvatar={showAvatar}\n showNub={showNub}\n />\n ))}\n </ul>\n </div>\n </div>\n </div>\n <div className=\"webchat__carousel-filmstrip__alignment-pad\" />\n </div>\n {showActivityStatus && (\n <div className=\"webchat__carousel-filmstrip__status\">\n <div className=\"webchat__carousel-filmstrip__avatar-gutter\" />\n <div className=\"webchat__carousel-filmstrip__nub-pad\" />\n {renderActivityStatus({ hideTimestamp })}\n </div>\n )}\n </div>\n );\n};\n\nCarouselFilmStrip.defaultProps = {\n className: '',\n hideTimestamp: false,\n renderActivityStatus: false,\n renderAvatar: false,\n showCallout: false\n};\n\nCarouselFilmStrip.propTypes = {\n activity: PropTypes.shape({\n attachments: PropTypes.array,\n channelData: PropTypes.shape({\n messageBack: PropTypes.shape({\n displayText: PropTypes.string\n })\n }),\n from: PropTypes.shape({\n role: PropTypes.string.isRequired\n }).isRequired,\n text: PropTypes.string,\n textFormat: PropTypes.string,\n timestamp: PropTypes.string\n }).isRequired,\n className: PropTypes.string,\n hideTimestamp: PropTypes.bool,\n renderActivityStatus: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.func]),\n renderAttachment: PropTypes.func.isRequired,\n renderAvatar: PropTypes.oneOfType([PropTypes.oneOf([false]), PropTypes.func]),\n showCallout: PropTypes.bool\n};\n\nexport default CarouselFilmStrip;\n\nexport { connectCarouselFilmStrip };\n","import { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Bubble from './Bubble';\nimport ScreenReaderText from '../ScreenReaderText';\nimport useStyleSet from '../hooks/useStyleSet';\n\nconst { useDirection, useLocalizer } = hooks;\n\nconst CarouselFilmStripAttachment = ({\n activity,\n attachment,\n className,\n fromUser,\n hasAvatar,\n hideNub,\n index,\n renderAttachment,\n showAvatar,\n showNub\n}) => {\n const [direction] = useDirection();\n const localize = useLocalizer();\n const [{ carouselFilmStripAttachment: carouselFilmStripAttachmentStyleSet }] = useStyleSet();\n\n const attachedAlt = localize(fromUser ? 'ACTIVITY_YOU_ATTACHED_ALT' : 'ACTIVITY_BOT_ATTACHED_ALT');\n\n return (\n <li\n aria-roledescription=\"attachment\"\n className={classNames(\n 'webchat__carousel-filmstrip-attachment',\n {\n 'webchat__carousel-filmstrip-attachment--hide-avatar': hasAvatar && !showAvatar,\n 'webchat__carousel-filmstrip-attachment--hide-nub': hideNub,\n 'webchat__carousel-filmstrip-attachment--rtl': direction === 'rtl',\n 'webchat__carousel-filmstrip-attachment--show-avatar': showAvatar,\n 'webchat__carousel-filmstrip-attachment--show-nub': showNub\n },\n 'react-film__filmstrip__item',\n carouselFilmStripAttachmentStyleSet + '',\n (className || '') + ''\n )}\n role=\"listitem\"\n tabIndex={0}\n >\n <ScreenReaderText text={attachedAlt} />\n <Bubble fromUser={fromUser} key={index} nub={false}>\n {renderAttachment({ activity, attachment })}\n <div className=\"webchat__carousel-filmstrip-attachment--focus\" />\n </Bubble>\n </li>\n );\n};\n\nCarouselFilmStripAttachment.defaultProps = {\n className: ''\n};\n\nCarouselFilmStripAttachment.propTypes = {\n activity: PropTypes.shape({\n attachments: PropTypes.array,\n from: PropTypes.shape({\n role: PropTypes.string.isRequired\n }).isRequired,\n text: PropTypes.string,\n textFormat: PropTypes.string,\n timestamp: PropTypes.string\n }).isRequired,\n attachment: PropTypes.shape({\n content: PropTypes.any\n }).isRequired,\n className: PropTypes.string,\n fromUser: PropTypes.any.isRequired,\n hasAvatar: PropTypes.any.isRequired,\n hideNub: PropTypes.bool.isRequired,\n index: PropTypes.number.isRequired,\n renderAttachment: PropTypes.func.isRequired,\n showAvatar: PropTypes.bool.isRequired,\n showNub: PropTypes.bool.isRequired\n};\n\nexport default CarouselFilmStripAttachment;\n","import { ActivityStatusMiddleware } from 'botframework-webchat-api';\nimport React from 'react';\n\nimport { SENDING, SEND_FAILED } from '../../types/internal/SendStatus';\nimport SendStatus from './SendStatus/SendStatus';\n\nexport default function createSendStatusMiddleware(): ActivityStatusMiddleware {\n return () =>\n next =>\n // This is not a React component.\n // eslint-disable-next-line react/prop-types\n ({ activity, sendState, ...args }) => {\n switch (sendState) {\n case SENDING:\n case SEND_FAILED:\n return <SendStatus activity={activity} sendStatus={sendState} />;\n\n default:\n return next({ activity, sendState, ...args });\n }\n };\n}\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React, { useCallback } from 'react';\n\nimport InlineMarkdown from '../../../Utils/InlineMarkdown';\n\nconst { useLocalizer } = hooks;\n\nconst MARKDOWN_REFERENCES = ['RETRY'];\n\nconst SendFailedRetry = ({ onRetryClick }) => {\n const handleReference = useCallback(({ data }) => data === 'RETRY' && onRetryClick(), [onRetryClick]);\n const localize = useLocalizer();\n\n const sendFailedText = localize('ACTIVITY_STATUS_SEND_FAILED_RETRY');\n\n return (\n <InlineMarkdown onReference={handleReference} references={MARKDOWN_REFERENCES}>\n {sendFailedText}\n </InlineMarkdown>\n );\n};\n\nSendFailedRetry.propTypes = {\n onRetryClick: PropTypes.func.isRequired\n};\n\nexport default SendFailedRetry;\n","/* eslint react/no-danger: \"off\" */\n\nimport { hooks } from 'botframework-webchat-api';\nimport { isForbiddenPropertyName } from 'botframework-webchat-core';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useMemo } from 'react';\nimport updateIn from 'simple-update-in';\n\nimport createCustomEvent from './createCustomEvent';\nimport randomId from './randomId';\nimport useInternalMarkdownIt from '../hooks/internal/useInternalMarkdownIt';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\nimport walkMarkdownTokens from './walkMarkdownTokens';\n\nconst { useStyleOptions } = hooks;\n\nfunction replaceAnchorWithButton(markdownTokens) {\n return walkMarkdownTokens(markdownTokens, markdownToken => {\n markdownToken = { ...markdownToken };\n\n switch (markdownToken.type) {\n case 'link_open':\n markdownToken.tag = 'button';\n markdownToken.attrs = [\n ...updateIn(\n markdownToken.attrs,\n [([name, value]) => name === 'href' && value.startsWith('#')],\n ([, value]) => ['data-markdown-href', value.substr(1)]\n ),\n ['type', 'button']\n ];\n break;\n\n case 'link_close':\n markdownToken.tag = 'button';\n break;\n\n default:\n break;\n }\n\n return markdownToken;\n });\n}\n\nconst InlineMarkdown = ({ children, onReference, references }) => {\n if (typeof children !== 'string') {\n console.warn('botframework-webchat: \"children\" prop passed to <InlineMarkdown> must be of type string.');\n children = '';\n }\n\n const [markdownIt] = useInternalMarkdownIt();\n const [{ accent }] = useStyleOptions();\n const styleToClassName = useStyleToEmotionObject();\n\n // We inlined the style here because this style is:\n // 1. Internal to Web Chat\n // 2. Not customizable from developers (other than setting `styleOptions.accent`)\n const className = useMemo(\n () =>\n styleToClassName({\n '& button[data-markdown-href]': {\n appearance: 'none',\n backgroundColor: 'transparent',\n border: 0,\n color: accent,\n cursor: 'pointer',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n padding: 0\n },\n '@media screen and (forced-colors: active)': {\n '& button[data-markdown-href]': {\n color: 'LinkText',\n textDecoration: 'underline'\n }\n }\n }) + '',\n [accent, styleToClassName]\n );\n\n // Markdown-It only support references in uppercase.\n references = references.map(reference => reference.toUpperCase());\n\n const { hrefToRef, refToHref } = references.reduce(\n ({ hrefToRef, refToHref }, ref) => {\n const href = randomId();\n\n return {\n hrefToRef: { ...hrefToRef, [href]: ref },\n refToHref: { ...refToHref, [ref]: href }\n };\n },\n { hrefToRef: {}, refToHref: {} }\n );\n\n const html = useMemo(() => {\n const tree = markdownIt.parseInline(children, {\n references: references.reduce(\n (references, key) =>\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n isForbiddenPropertyName(key) ? references : { ...references, [key]: { href: `#${refToHref[key]}` } },\n {}\n )\n });\n\n // Turn \"<a href=\"#retry\">Retry</a>\" into \"<button data-ref=\"retry\" type=\"button\">Retry</button>\"\n const updatedTree = replaceAnchorWithButton(tree);\n\n return { __html: markdownIt.renderer.render(updatedTree) };\n }, [children, refToHref, markdownIt, references]);\n\n const handleClick = useCallback(\n event => {\n event.stopPropagation();\n\n const href = event.target.getAttribute('data-markdown-href');\n\n href &&\n onReference &&\n onReference(\n createCustomEvent(\n 'reference',\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n isForbiddenPropertyName(href) ? {} : { data: hrefToRef[href] }\n )\n );\n },\n [hrefToRef, onReference]\n );\n\n return <span className={className} dangerouslySetInnerHTML={html} onClick={handleClick} />;\n};\n\nInlineMarkdown.defaultProps = {\n children: '',\n onReference: undefined,\n references: []\n};\n\nInlineMarkdown.propTypes = {\n children: PropTypes.string,\n onReference: PropTypes.func,\n references: PropTypes.arrayOf(PropTypes.string)\n};\n\nexport default InlineMarkdown;\n","import { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nexport default function createCustomEvent(name, eventInitDict) {\n let event;\n\n if (typeof CustomEvent === 'function') {\n event = new CustomEvent(name);\n } else {\n event = document.createEvent('Event');\n\n event.initEvent(name, true, true);\n }\n\n Object.entries(eventInitDict).forEach(([key, value]) => {\n if (!isForbiddenPropertyName(key)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n event[key] = value;\n }\n });\n\n return event;\n}\n","import useWebChatUIContext from './useWebChatUIContext';\n\nfunction useInternalMarkdownIt() {\n return useWebChatUIContext().internalMarkdownItState;\n}\n\nexport default useInternalMarkdownIt;\n","import { ActivityStatusMiddleware } from 'botframework-webchat-api';\nimport React, { Fragment } from 'react';\n\nimport AbsoluteTime from './AbsoluteTime';\nimport Timestamp from './Timestamp';\n\nexport default function createTimestampMiddleware(): ActivityStatusMiddleware {\n return () =>\n () =>\n (...args) => {\n const [{ activity, hideTimestamp }] = args;\n\n if (typeof activity.timestamp === 'undefined') {\n // ActivityStatusMiddleware is using a legacy UI middleware pattern which does not supports returning `false`.\n // If the activity is sent and there is no timestamp, probably we will just not displaying the timestamp.\n // Or we somehow enforce all activities must have timestamp.\n return <Fragment />;\n } else if (hideTimestamp) {\n // If \"hideTimestamp\" is set, we will not render the visual timestamp. But continue to render the screen reader only version.\n return <AbsoluteTime hide={true} value={activity.timestamp} />;\n }\n\n return <Timestamp activity={activity} />;\n };\n}\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport ScreenReaderText from '../../ScreenReaderText';\nimport useForceRenderAtInterval from '../../hooks/internal/useForceRenderAtInterval';\n\nconst { useDateFormatter, useLocalizer, useRelativeTimeFormatter } = hooks;\n\nconst TIMER_INTERVAL = 60000;\n\nconst RelativeTime = ({ value }) => {\n const formatDate = useDateFormatter();\n const formatRelativeTime = useRelativeTimeFormatter();\n const localize = useLocalizer();\n\n useForceRenderAtInterval(value, TIMER_INTERVAL);\n\n return (\n <React.Fragment>\n <ScreenReaderText text={localize('ACTIVITY_STATUS_SEND_STATUS_ALT_SENT_AT', formatDate(value))} />\n <span aria-hidden={true}>{formatRelativeTime(value)}</span>\n </React.Fragment>\n );\n};\n\nRelativeTime.propTypes = {\n value: PropTypes.string.isRequired\n};\n\nexport default RelativeTime;\n","import { hooks } from 'botframework-webchat-api';\nimport { useCallback, useState } from 'react';\nimport random from 'math-random';\n\nimport useTimer from './useTimer';\n\nimport type { Dispatch, SetStateAction } from 'react';\nimport type { GlobalScopePonyfill } from 'botframework-webchat-core';\n\nconst { usePonyfill } = hooks;\n\n// The `nextTimer` function calculates the next absolute time that the timer should be fired based on the origin (original time received), interval, and current time.\n// If the origin is t=260, and we are currently at t=1000, nextTimer must return t=60260.\n// If the origin is t=260, and we are currently at t=60260 (exact landing), we must return t=120260, not t=60260.\n// This is for fixing bug #2103: https://github.com/microsoft/BotFramework-WebChat/issues/2103.\n\n// False positive: we are using `Date` as a type.\n// eslint-disable-next-line no-restricted-globals\nfunction nextTimer(origin: Date | number | string, interval: number, { Date }: GlobalScopePonyfill): number {\n const time = new Date(origin).getTime();\n const now = Date.now();\n\n return time > now ? time : now + interval - ((now - time) % interval);\n}\n\nexport default function useForceRenderAtInterval(\n // False positive: we are using `Date` as a type.\n // eslint-disable-next-line no-restricted-globals\n origin: Date | number | string,\n interval: number,\n fn: () => void\n): [number, Dispatch<SetStateAction<number>>] {\n const [ponyfill] = usePonyfill();\n const [timer, setTimer] = useState<number>(nextTimer(origin, interval, ponyfill));\n const handler = useCallback<() => void>(() => {\n fn && fn();\n\n // Chrome may fire the setTimeout callback 1 ms before its original schedule.\n // Thus, when we calculate the \"next\" value, it will have the same value as before.\n // Sending the same value to useTimer(), it will not do another schedule because the value did not change.\n // So, we are adding a bit randomness, so useTimer() should pick up the newer scheduled time.\n\n setTimer(nextTimer(origin, interval, ponyfill) + random());\n }, [fn, origin, interval, ponyfill]);\n\n useTimer(timer, handler);\n\n return [timer, setTimer];\n}\n","import { AttachmentForScreenReaderMiddleware } from 'botframework-webchat-api';\nimport React from 'react';\n\nimport AudioAttachment from './AudioAttachment';\nimport FileAttachment from './FileAttachment';\nimport ImageAttachment from './ImageAttachment';\nimport TextAttachment from './TextAttachment';\nimport VideoAttachment from './VideoAttachment';\n\nexport default function createCoreMiddleware(): AttachmentForScreenReaderMiddleware[] {\n return [\n () =>\n next =>\n (...args) => {\n const [\n {\n activity: { from: { role = undefined } = {} } = {},\n attachment,\n attachment: { contentType = undefined, contentUrl = undefined, thumbnailUrl = undefined } = {}\n }\n ] = args;\n\n const isText = /^text\\//u.test(contentType);\n\n return (isText ? !attachment.content : role === 'user' && !thumbnailUrl)\n ? () => <FileAttachment attachment={attachment} />\n : /^audio\\//u.test(contentType)\n ? () => <AudioAttachment />\n : /^image\\//u.test(contentType)\n ? () => <ImageAttachment />\n : /^video\\//u.test(contentType)\n ? () => <VideoAttachment />\n : contentUrl || contentType === 'application/octet-stream'\n ? () => <FileAttachment attachment={attachment} />\n : isText\n ? () => <TextAttachment attachment={attachment} />\n : next(...args);\n }\n ];\n}\n","import { hooks } from 'botframework-webchat-api';\nimport React from 'react';\n\nconst { useLocalizer } = hooks;\n\nconst AudioAttachment = () => {\n const localize = useLocalizer();\n\n const label = localize('ATTACHMENT_AUDIO');\n\n return <article>{label}</article>;\n};\n\nexport default AudioAttachment;\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst { useLocalizer } = hooks;\n\nconst FileAttachment = ({ attachment: { name = '' } = {} }) => {\n const localize = useLocalizer();\n\n const label = localize('ATTACHMENT_FILE', name);\n\n return <article>{label}</article>;\n};\n\nFileAttachment.propTypes = {\n attachment: PropTypes.shape({\n name: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default FileAttachment;\n","import { hooks } from 'botframework-webchat-api';\nimport React from 'react';\n\nconst { useLocalizer } = hooks;\n\nconst ImageAttachment = () => {\n const localize = useLocalizer();\n\n const label = localize('ATTACHMENT_IMAGE');\n\n return <article>{label}</article>;\n};\n\nexport default ImageAttachment;\n","import { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst { useLocalizer } = hooks;\n\nconst TextAttachment = ({ attachment: { content = '' } = {} }) => {\n const localize = useLocalizer();\n\n const label = localize('ATTACHMENT_TEXT', content);\n\n return <article>{label}</article>;\n};\n\nTextAttachment.propTypes = {\n attachment: PropTypes.shape({\n content: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default TextAttachment;\n","import { hooks } from 'botframework-webchat-api';\nimport React from 'react';\n\nconst { useLocalizer } = hooks;\n\nconst VideoAttachment = () => {\n const localize = useLocalizer();\n\n const label = localize('ATTACHMENT_VIDEO');\n\n return <article>{label}</article>;\n};\n\nexport default VideoAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport AudioContent from './AudioContent';\nimport useStyleSet from '../hooks/useStyleSet';\n\nconst AudioAttachment = ({ attachment }) => {\n const [{ audioAttachment: audioAttachmentStyleSet }] = useStyleSet();\n\n return (\n <div className={audioAttachmentStyleSet}>\n <AudioContent alt={attachment.name} src={attachment.contentUrl} />\n </div>\n );\n};\n\nAudioAttachment.propTypes = {\n attachment: PropTypes.shape({\n contentUrl: PropTypes.string.isRequired,\n name: PropTypes.string\n }).isRequired\n};\n\nexport default AudioAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport FileContent from './FileContent';\n\nconst FileAttachment = ({\n activity: { attachments = [], channelData: { attachmentSizes = [] } = {} } = {},\n attachment\n}) => {\n const attachmentIndex = attachments.indexOf(attachment);\n const size = attachmentSizes[+attachmentIndex];\n\n return <FileContent fileName={attachment.name} href={attachment.contentUrl} size={size} />;\n};\n\nFileAttachment.propTypes = {\n activity: PropTypes.shape({\n attachment: PropTypes.array,\n channelData: PropTypes.shape({\n attachmentSizes: PropTypes.arrayOf(PropTypes.number)\n })\n }).isRequired,\n attachment: PropTypes.shape({\n contentUrl: PropTypes.string,\n name: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default FileAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst ICON_SIZE_FACTOR = 22;\n\nconst DownloadIcon = ({ className, size }) => (\n <svg\n className={className}\n focusable={false}\n height={ICON_SIZE_FACTOR * size}\n role=\"presentation\"\n viewBox=\"0 0 31.8 46\"\n width={ICON_SIZE_FACTOR * size}\n >\n <path d=\"M26.8,23.8l-10.9,11L5,23.8l1.6-1.6l8.2,8.3V5H17v25.5l8.2-8.3L26.8,23.8z M5.8,41v-2.2H26V41H5.8z\" />\n </svg>\n);\n\nDownloadIcon.defaultProps = {\n className: '',\n size: 1\n};\n\nDownloadIcon.propTypes = {\n className: PropTypes.string,\n size: PropTypes.number\n};\n\nexport default DownloadIcon;\n","import { toByteArray } from 'base64-js';\n\nconst PATTERN = /^data:([^,]*?)(;(base64)){0,1},([A-Za-z0-9+/=]+)/u;\n\nconst DEFAULT_CONTENT_TYPE = 'text/plain;charset=US-ASCII';\n\nexport function parse(dataURI) {\n const match = PATTERN.exec(dataURI);\n\n if (!match) {\n return;\n }\n\n const [, contentType, , encoding, base64] = match;\n\n if (encoding !== 'base64') {\n return;\n }\n\n return { base64, contentType: contentType || DEFAULT_CONTENT_TYPE, encoding };\n}\n\nexport default function readDataURIToBlob(dataURI) {\n const parsed = parse(dataURI);\n\n if (!parsed) {\n return;\n }\n\n return new Blob([toByteArray(parsed.base64)], { type: parsed.contentType });\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport TextContent from './TextContent';\n\nconst TextAttachment = ({ attachment: { content = '', contentType } = {} }) => (\n <TextContent contentType={contentType} text={content} />\n);\n\nTextAttachment.propTypes = {\n attachment: PropTypes.shape({\n content: PropTypes.string,\n contentType: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default TextAttachment;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\nimport VideoContent from './VideoContent';\n\nconst ROOT_STYLE = {\n display: 'flex',\n flexDirection: 'column'\n};\n\nconst VideoAttachment = ({ attachment }) => {\n const [{ videoAttachment: videoAttachmentStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n return (\n <div className={classNames(rootClassName, videoAttachmentStyleSet + '')}>\n <VideoContent alt={attachment.name} src={attachment.contentUrl} />\n </div>\n );\n};\n\nVideoAttachment.propTypes = {\n attachment: PropTypes.shape({\n contentUrl: PropTypes.string.isRequired,\n name: PropTypes.string\n }).isRequired\n};\n\nexport default VideoAttachment;\n","import { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport CroppedImage from '../Utils/CroppedImage';\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst { useAvatarForBot, useAvatarForUser } = hooks;\n\nconst ROOT_STYLE = {\n '& .webchat__imageAvatar__image': {\n width: '100%'\n }\n};\n\nconst ImageAvatar = ({ fromUser }) => {\n const [{ image: avatarImageForBot }] = useAvatarForBot();\n const [{ image: avatarImageForUser }] = useAvatarForUser();\n const [{ imageAvatar: imageAvatarStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n const avatarImage = fromUser ? avatarImageForUser : avatarImageForBot;\n\n return (\n !!avatarImage && (\n <div className={classNames('webchat__imageAvatar', rootClassName, imageAvatarStyleSet + '')}>\n <CroppedImage\n alt=\"\"\n className=\"webchat__imageAvatar__image\"\n height=\"100%\"\n src={fromUser ? avatarImageForUser : avatarImageForBot}\n width=\"100%\"\n />\n </div>\n )\n );\n};\n\nImageAvatar.defaultProps = {\n fromUser: false\n};\n\nImageAvatar.propTypes = {\n fromUser: PropTypes.bool\n};\n\nexport default ImageAvatar;\n","import { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport useStyleSet from '../hooks/useStyleSet';\nimport useStyleToEmotionObject from '../hooks/internal/useStyleToEmotionObject';\n\nconst { useAvatarForBot, useAvatarForUser } = hooks;\n\nconst ROOT_STYLE = {\n alignItems: 'center',\n display: 'flex',\n\n '& .webchat__initialsAvatar__initials': {\n justifyContent: 'center'\n }\n};\n\nconst InitialsAvatar = ({ fromUser }) => {\n const [{ initials: avatarInitialsForBot }] = useAvatarForBot();\n const [{ initials: avatarInitialsForUser }] = useAvatarForUser();\n const [{ initialsAvatar: initialsAvatarStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n return (\n <div\n className={classNames(\n 'webchat__initialsAvatar',\n {\n 'webchat__initialsAvatar--fromUser': fromUser\n },\n rootClassName,\n initialsAvatarStyleSet + ''\n )}\n >\n <div className=\"webchat__initialsAvatar__initials\">{fromUser ? avatarInitialsForUser : avatarInitialsForBot}</div>\n </div>\n );\n};\n\nInitialsAvatar.defaultProps = {\n fromUser: false\n};\n\nInitialsAvatar.propTypes = {\n fromUser: PropTypes.bool\n};\n\nexport default InitialsAvatar;\n","import { ie11 } from '../../Utils/detectBrowser';\n\n// This code is adopted from sanitize-html/naughtyScheme.\n// sanitize-html is a dependency of Web Chat but the naughtScheme function is neither exposed nor reusable.\n// https://github.com/apostrophecms/sanitize-html/\nfunction getScheme(href) {\n // Browsers ignore character codes of 32 (space) and below in a surprising\n // number of situations. Start reading here:\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Embedded_tab\n\n /* eslint-disable-next-line no-control-regex */\n href = href.replace(/[\\x00-\\x20]+/gu, '');\n\n // Clobber any comments in URLs, which the browser might\n // interpret inside an XML data island, allowing\n // a javascript: URL to be snuck through\n href = href.replace(/<!--.*?-->/gu, '');\n\n // Case insensitive so we don't get faked out by JAVASCRIPT #1\n const matches = href.match(/^([a-zA-Z]+):/u);\n\n if (!matches) {\n // Protocol-relative URL or no scheme\n return;\n }\n\n return matches[1].toLowerCase();\n}\n\nconst ALLOWED_SCHEMES = ['data', 'http', 'https', 'ftp', 'mailto', 'sip', 'tel'];\n\nexport default function createDefaultCardActionMiddleware() {\n return [\n () =>\n next =>\n (...args) => {\n const [\n {\n cardAction: { type, value },\n getSignInUrl\n }\n ] = args;\n\n switch (type) {\n case 'call':\n case 'downloadFile':\n case 'openUrl':\n case 'playAudio':\n case 'playVideo':\n case 'showImage':\n if (ALLOWED_SCHEMES.includes(getScheme(value))) {\n if (ie11) {\n const newWindow = window.open();\n newWindow.opener = null;\n newWindow.location = value;\n } else {\n window.open(value, '_blank', 'noopener noreferrer');\n }\n } else {\n console.warn('botframework-webchat: Cannot open URL with disallowed schemes.', value);\n }\n\n break;\n\n case 'signin': {\n /**\n * @todo TODO: [P3] We should prime the URL into the OAuthCard directly, instead of calling getSessionId on-demand\n * This is to eliminate the delay between window.open() and location.href call\n */\n\n (async function () {\n const popup = window.open();\n const url = await getSignInUrl();\n\n if (['http', 'https'].includes(getScheme(url))) {\n popup.location.href = url;\n } else {\n console.warn('botframework-webchat: Cannot open URL with disallowed schemes.', url);\n\n popup.close();\n }\n })();\n\n break;\n }\n\n default:\n return next(...args);\n }\n }\n ];\n}\n","import { ScrollToEndButtonMiddleware } from 'botframework-webchat-api';\n\nimport ScrollToEndButton from './ScrollToEndButton';\n\nexport default function createScrollToEndButtonMiddleware(): ScrollToEndButtonMiddleware[] {\n return [\n () =>\n () =>\n ({ atEnd, styleOptions: { scrollToEndButtonBehavior }, unread }) =>\n !scrollToEndButtonBehavior\n ? // Don't show the button when it is set to false.\n false\n : scrollToEndButtonBehavior === 'any'\n ? // Show when the scroll view is not at the end, regardless of number of unread activities.\n !atEnd && ScrollToEndButton\n : // Show when the scroll view is not at the end of the transcript, and there are new/unread activities.\n !atEnd && unread && ScrollToEndButton\n ];\n}\n","import { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport useStyleSet from '../../hooks/useStyleSet';\n\nconst { useDirection, useLocalizer, useStyleOptions } = hooks;\n\nconst ScrollToEndButton = ({ onClick }) => {\n const [{ scrollToEndButton: scrollToEndButtonStyleSet }] = useStyleSet();\n const [{ scrollToEndButtonBehavior }] = useStyleOptions();\n const [direction] = useDirection();\n const localize = useLocalizer();\n\n const text = localize(scrollToEndButtonBehavior === 'any' ? 'TRANSCRIPT_MORE_MESSAGES' : 'TRANSCRIPT_NEW_MESSAGES');\n\n return (\n <button\n aria-label={text}\n className={classNames(\n 'webchat__scroll-to-end-button',\n scrollToEndButtonStyleSet + '',\n direction === 'rtl' ? 'webchat__scroll-to-end-button--rtl' : ''\n )}\n onClick={onClick}\n tabIndex={0}\n type=\"button\"\n >\n {text}\n </button>\n );\n};\n\nScrollToEndButton.defaultProps = {\n onClick: undefined\n};\n\nScrollToEndButton.displayName = 'ScrollToEndButton';\n\nScrollToEndButton.propTypes = {\n onClick: PropTypes.func\n};\n\nexport default ScrollToEndButton;\n","import { ToastMiddleware } from 'botframework-webchat-api';\n\nimport createToastMiddleware from '../../Toast/createToastMiddleware';\n\nfunction createCoreMiddleware(): ToastMiddleware[] {\n return [\n () =>\n next =>\n (...args) => {\n const [\n {\n notification: { id }\n }\n ] = args;\n\n // We are ignoring \"connectivitystatus\" notifications, we will render it using <BasicConnectivityStatus> instead.\n // If devs want to render it, they can add a middleware.\n return id !== 'connectivitystatus' && next(...args);\n },\n createToastMiddleware()\n ];\n}\n\nexport default createCoreMiddleware;\n","/* eslint react/prop-types: \"off\" */\n\nimport { ToastMiddleware } from 'botframework-webchat-api';\nimport React from 'react';\n\nimport BasicToast from '../BasicToast';\n\nfunction createToastMiddleware(): ToastMiddleware {\n return () =>\n () =>\n ({ notification }) =>\n <BasicToast notification={notification} />;\n}\n\nexport default createToastMiddleware;\n","/* eslint react/forbid-dom-props: \"off\" */\n/* eslint react/no-danger: \"off\" */\n\nimport { hooks } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useMemo } from 'react';\n\nimport DismissIcon from './Toast/DismissIcon';\nimport NotificationIcon from './Toast/NotificationIcon';\nimport randomId from './Utils/randomId';\nimport ScreenReaderText from './ScreenReaderText';\nimport useInternalRenderMarkdownInline from './hooks/internal/useInternalRenderMarkdownInline';\nimport useStyleSet from './hooks/useStyleSet';\nimport useStyleToEmotionObject from './hooks/internal/useStyleToEmotionObject';\n\nconst { useDismissNotification, useLocalizer } = hooks;\n\nconst ROOT_STYLE = {\n display: 'flex',\n\n '& .webchat__toast__text': {\n flex: 1\n }\n};\n\nconst BasicToast = ({ notification: { alt, id, level, message = '' } }) => {\n const [{ toast: toastStyleSet }] = useStyleSet();\n const contentId = useMemo(() => `webchat__toast__${randomId()}`, []);\n const localize = useLocalizer();\n const dismissNotification = useDismissNotification();\n const renderMarkdownInline = useInternalRenderMarkdownInline();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n const handleDismiss = useCallback(() => dismissNotification(id), [dismissNotification, id]);\n const html = useMemo(() => ({ __html: renderMarkdownInline(message) }), [message, renderMarkdownInline]);\n\n return (\n <div\n aria-describedby={contentId}\n aria-label={localize('TOAST_TITLE_ALT')}\n className={classNames(\n 'webchat__toast',\n {\n 'webchat__toast--error': level === 'error',\n 'webchat__toast--info': level === 'info',\n 'webchat__toast--success': level === 'success',\n 'webchat__toast--warn': level === 'warn'\n },\n rootClassName,\n toastStyleSet + ''\n )}\n role=\"dialog\"\n >\n <div className=\"webchat__toast__iconBox\">\n <NotificationIcon className=\"webchat__toast__icon\" level={level} />\n </div>\n {!!alt && <ScreenReaderText text={alt} />}\n <div aria-hidden={!!alt} className=\"webchat__toast__text\" dangerouslySetInnerHTML={html} id={contentId} />\n <button\n aria-label={localize('TOAST_DISMISS_BUTTON')}\n className=\"webchat__toast__dismissButton\"\n onClick={handleDismiss}\n type=\"button\"\n >\n <div aria-hidden={true} className=\"webchat__toast__dismissButtonFocus\">\n <DismissIcon />\n </div>\n </button>\n </div>\n );\n};\n\nBasicToast.propTypes = {\n notification: PropTypes.shape({\n alt: PropTypes.string,\n id: PropTypes.string.isRequired,\n level: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default BasicToast;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst DismissIcon = ({ className }) => (\n <svg\n className={(className || '') + ''}\n focusable={false}\n height=\"14\"\n role=\"presentation\"\n viewBox=\"0 0 14 14\"\n width=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M7.71094 7L13.1016 12.3984L12.3984 13.1016L7 7.71094L1.60156 13.1016L0.898438 12.3984L6.28906 7L0.898438 1.60156L1.60156 0.898438L7 6.28906L12.3984 0.898438L13.1016 1.60156L7.71094 7Z\" />\n </svg>\n);\n\nDismissIcon.defaultProps = {\n className: undefined\n};\n\nDismissIcon.propTypes = {\n className: PropTypes.string\n};\n\nexport default DismissIcon;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst CheckMarkIcon = ({ 'aria-label': ariaLabel, className }) => (\n <svg\n aria-label={ariaLabel}\n className={(className || '') + ''}\n fill=\"none\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.5605 5.81055L15.4395 6.68945L8.125 14.0039L4.56055 10.4395L5.43945 9.56055L8.125 12.2461L14.5605 5.81055ZM10 0C10.918 0 11.8034 0.120443 12.6562 0.361328C13.5091 0.595703 14.3066 0.93099 15.0488 1.36719C15.791 1.79688 16.4648 2.31771 17.0703 2.92969C17.6823 3.53516 18.2031 4.20898 18.6328 4.95117C19.069 5.69336 19.4043 6.49089 19.6387 7.34375C19.8796 8.19661 20 9.08203 20 10C20 10.918 19.8796 11.8034 19.6387 12.6562C19.4043 13.5091 19.069 14.3066 18.6328 15.0488C18.2031 15.791 17.6823 16.4681 17.0703 17.0801C16.4648 17.6855 15.791 18.2064 15.0488 18.6426C14.3066 19.0723 13.5091 19.4076 12.6562 19.6484C11.8034 19.8828 10.918 20 10 20C9.08203 20 8.19661 19.8828 7.34375 19.6484C6.49089 19.4076 5.69336 19.0723 4.95117 18.6426C4.20898 18.2064 3.5319 17.6855 2.91992 17.0801C2.31445 16.4681 1.79362 15.791 1.35742 15.0488C0.927734 14.3066 0.592448 13.5124 0.351562 12.666C0.117188 11.8132 0 10.9245 0 10C0 9.08203 0.117188 8.19661 0.351562 7.34375C0.592448 6.49089 0.927734 5.69336 1.35742 4.95117C1.79362 4.20898 2.31445 3.53516 2.91992 2.92969C3.5319 2.31771 4.20898 1.79688 4.95117 1.36719C5.69336 0.93099 6.48763 0.595703 7.33398 0.361328C8.18685 0.120443 9.07552 0 10 0ZM10 18.75C10.8008 18.75 11.5723 18.6458 12.3145 18.4375C13.0632 18.2292 13.7598 17.9362 14.4043 17.5586C15.0553 17.1745 15.6478 16.7155 16.1816 16.1816C16.7155 15.6478 17.1712 15.0586 17.5488 14.4141C17.9329 13.763 18.2292 13.0664 18.4375 12.3242C18.6458 11.582 18.75 10.8073 18.75 10C18.75 9.19922 18.6458 8.42773 18.4375 7.68555C18.2292 6.93685 17.9329 6.24023 17.5488 5.5957C17.1712 4.94466 16.7155 4.35221 16.1816 3.81836C15.6478 3.28451 15.0553 2.82878 14.4043 2.45117C13.7598 2.06706 13.0632 1.77083 12.3145 1.5625C11.5723 1.35417 10.8008 1.25 10 1.25C9.19922 1.25 8.42448 1.35417 7.67578 1.5625C6.93359 1.77083 6.23698 2.06706 5.58594 2.45117C4.94141 2.82878 4.35221 3.28451 3.81836 3.81836C3.28451 4.35221 2.82552 4.94466 2.44141 5.5957C2.0638 6.24023 1.77083 6.93685 1.5625 7.68555C1.35417 8.42773 1.25 9.19922 1.25 10C1.25 10.8008 1.35417 11.5755 1.5625 12.3242C1.77083 13.0664 2.0638 13.763 2.44141 14.4141C2.82552 15.0586 3.28451 15.6478 3.81836 16.1816C4.35221 16.7155 4.94141 17.1745 5.58594 17.5586C6.23698 17.9362 6.93359 18.2292 7.67578 18.4375C8.41797 18.6458 9.19271 18.75 10 18.75Z\"\n fill=\"#107C10\"\n />\n </svg>\n);\n\nCheckMarkIcon.defaultProps = {\n 'aria-label': undefined,\n className: undefined\n};\n\nCheckMarkIcon.propTypes = {\n 'aria-label': PropTypes.string,\n className: PropTypes.string\n};\n\nexport default CheckMarkIcon;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst ExclamationMarkIcon = ({ 'aria-label': ariaLabel, className }) => (\n <svg\n aria-label={ariaLabel}\n className={(className || '') + ''}\n height=\"19\"\n viewBox=\"0 0 19 19\"\n width=\"19\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M9.375 0C10.2409 0 11.071 0.110677 11.8652 0.332031C12.666 0.553385 13.4147 0.869141 14.1113 1.2793C14.8079 1.68294 15.4395 2.17122 16.0059 2.74414C16.5788 3.31055 17.0671 3.94206 17.4707 4.63867C17.8809 5.33529 18.1966 6.08398 18.418 6.88477C18.6393 7.67904 18.75 8.50911 18.75 9.375C18.75 10.2409 18.6393 11.0742 18.418 11.875C18.1966 12.6693 17.8809 13.4147 17.4707 14.1113C17.0671 14.8079 16.5788 15.4427 16.0059 16.0156C15.4395 16.582 14.8079 17.0703 14.1113 17.4805C13.4147 17.8841 12.666 18.1966 11.8652 18.418C11.071 18.6393 10.2409 18.75 9.375 18.75C8.50911 18.75 7.67578 18.6393 6.875 18.418C6.08073 18.1966 5.33529 17.8841 4.63867 17.4805C3.94206 17.0703 3.30729 16.582 2.73438 16.0156C2.16797 15.4427 1.67969 14.8079 1.26953 14.1113C0.865885 13.4147 0.553385 12.6693 0.332031 11.875C0.110677 11.0742 0 10.2409 0 9.375C0 8.50911 0.110677 7.67904 0.332031 6.88477C0.553385 6.08398 0.865885 5.33529 1.26953 4.63867C1.67969 3.94206 2.16797 3.31055 2.73438 2.74414C3.30729 2.17122 3.94206 1.68294 4.63867 1.2793C5.33529 0.869141 6.08073 0.553385 6.875 0.332031C7.67578 0.110677 8.50911 0 9.375 0ZM9.375 17.5C10.1172 17.5 10.8333 17.4023 11.5234 17.207C12.2201 17.0117 12.8678 16.7383 13.4668 16.3867C14.0723 16.0352 14.6224 15.612 15.1172 15.1172C15.612 14.6224 16.0352 14.0755 16.3867 13.4766C16.7383 12.8711 17.0117 12.2233 17.207 11.5332C17.4023 10.8431 17.5 10.1237 17.5 9.375C17.5 8.63281 17.4023 7.91667 17.207 7.22656C17.0117 6.52995 16.7383 5.88216 16.3867 5.2832C16.0352 4.67773 15.612 4.1276 15.1172 3.63281C14.6224 3.13802 14.0723 2.71484 13.4668 2.36328C12.8678 2.01172 12.2201 1.73828 11.5234 1.54297C10.8333 1.34766 10.1172 1.25 9.375 1.25C8.6263 1.25 7.9069 1.34766 7.2168 1.54297C6.52669 1.73828 5.87891 2.01172 5.27344 2.36328C4.67448 2.71484 4.1276 3.13802 3.63281 3.63281C3.13802 4.1276 2.71484 4.67773 2.36328 5.2832C2.01172 5.88216 1.73828 6.52995 1.54297 7.22656C1.34766 7.91667 1.25 8.63281 1.25 9.375C1.25 10.1172 1.34766 10.8366 1.54297 11.5332C1.73828 12.2233 2.01172 12.8711 2.36328 13.4766C2.71484 14.0755 3.13802 14.6224 3.63281 15.1172C4.1276 15.612 4.67448 16.0352 5.27344 16.3867C5.87891 16.7383 6.52669 17.0117 7.2168 17.207C7.9069 17.4023 8.6263 17.5 9.375 17.5ZM8.75 5H10V11.25H8.75V5ZM8.75 12.5H10V13.75H8.75V12.5Z\" />\n </svg>\n);\n\nExclamationMarkIcon.defaultProps = {\n 'aria-label': undefined,\n className: undefined\n};\n\nExclamationMarkIcon.propTypes = {\n 'aria-label': PropTypes.string,\n className: PropTypes.string\n};\n\nexport default ExclamationMarkIcon;\n","import useWebChatUIContext from './useWebChatUIContext';\n\nfunction useInternalRenderMarkdownInline() {\n const { internalRenderMarkdownInline } = useWebChatUIContext();\n\n return internalRenderMarkdownInline;\n}\n\nexport default useInternalRenderMarkdownInline;\n","import { hooks, TypingIndicatorMiddleware } from 'botframework-webchat-api';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport TypingAnimation from '../../Assets/TypingAnimation';\nimport useStyleSet from '../../hooks/useStyleSet';\n\nconst { useDirection, useLocalizer } = hooks;\n\nconst DotIndicator = () => {\n const [{ typingIndicator: typingIndicatorStyleSet }] = useStyleSet();\n const [direction] = useDirection();\n const localize = useLocalizer();\n\n return (\n <div className={classNames(typingIndicatorStyleSet + '', direction === 'rtl' && 'webchat__typingIndicator--rtl')}>\n <TypingAnimation aria-label={localize('TYPING_INDICATOR_ALT')} />\n </div>\n );\n};\n\n// TODO: [P4] Rename this file or the whole middleware, it looks either too simple or too comprehensive now\nexport default function createCoreMiddleware(): TypingIndicatorMiddleware[] {\n return [\n () =>\n () =>\n // This is not a React component.\n // eslint-disable-next-line react/prop-types\n ({ visible }) =>\n visible && <DotIndicator />\n ];\n}\n","import { Composer as DictateComposer } from 'react-dictate-button';\nimport { Constants } from 'botframework-webchat-core';\nimport { hooks } from 'botframework-webchat-api';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo } from 'react';\n\nimport useResumeAudioContext from './hooks/internal/useResumeAudioContext';\nimport useSettableDictateAbortable from './hooks/internal/useSettableDictateAbortable';\nimport useWebSpeechPonyfill from './hooks/useWebSpeechPonyfill';\n\n// TODO: [P1] #3350 No /lib/, we need to move setDictateState from bf-wc-core (Redux) to React Context.\nimport useSetDictateState from 'botframework-webchat-api/lib/hooks/internal/useSetDictateState';\n\nconst {\n useActivities,\n useDictateInterims,\n useDictateState,\n useDisabled,\n useEmitTypingIndicator,\n useLanguage,\n useSendBoxValue,\n useSendTypingIndicator,\n useShouldSpeakIncomingActivity,\n useStopDictate,\n useSubmitSendBox\n} = hooks;\n\nconst {\n DictateState: { DICTATING, IDLE, STARTING }\n} = Constants;\n\nconst Dictation = ({ onError }) => {\n const [, setDictateAbortable] = useSettableDictateAbortable();\n const [, setDictateInterims] = useDictateInterims();\n const [, setSendBox] = useSendBoxValue();\n const [, setShouldSpeakIncomingActivity] = useShouldSpeakIncomingActivity();\n const [{ SpeechGrammarList, SpeechRecognition } = {}] = useWebSpeechPonyfill();\n const [activities] = useActivities();\n const [dictateState] = useDictateState();\n const [disabled] = useDisabled();\n const [sendTypingIndicator] = useSendTypingIndicator();\n const [speechLanguage] = useLanguage('speech');\n const emitTypingIndicator = useEmitTypingIndicator();\n const resumeAudioContext = useResumeAudioContext();\n const setDictateState = useSetDictateState();\n const stopDictate = useStopDictate();\n const submitSendBox = useSubmitSendBox();\n\n const numSpeakingActivities = useMemo(\n () => activities.filter(({ channelData: { speak } = {} }) => speak).length,\n [activities]\n );\n\n const handleDictate = useCallback(\n ({ result: { confidence, transcript } = {} }) => {\n if (dictateState === DICTATING || dictateState === STARTING) {\n setDictateInterims([]);\n setDictateState(IDLE);\n stopDictate();\n\n if (transcript) {\n setSendBox(transcript);\n submitSendBox('speech', { channelData: { speech: { alternatives: [{ confidence, transcript }] } } });\n setShouldSpeakIncomingActivity(true);\n }\n }\n },\n [\n dictateState,\n setDictateInterims,\n setDictateState,\n stopDictate,\n setSendBox,\n submitSendBox,\n setShouldSpeakIncomingActivity\n ]\n );\n\n const handleDictating = useCallback(\n ({ abortable, results = [] }) => {\n if (dictateState === DICTATING || dictateState === STARTING) {\n const interims = results.map(({ transcript }) => transcript);\n\n setDictateAbortable(abortable);\n setDictateInterims(interims);\n setDictateState(DICTATING);\n sendTypingIndicator && emitTypingIndicator();\n }\n },\n [dictateState, emitTypingIndicator, sendTypingIndicator, setDictateAbortable, setDictateInterims, setDictateState]\n );\n\n const handleError = useCallback(\n event => {\n dictateState !== IDLE && setDictateState(IDLE);\n (dictateState === DICTATING || dictateState === STARTING) && stopDictate();\n\n onError && onError(event);\n },\n [dictateState, onError, setDictateState, stopDictate]\n );\n\n useEffect(() => {\n window.addEventListener('pointerdown', resumeAudioContext);\n\n return () => window.removeEventListener('pointerdown', resumeAudioContext);\n }, [resumeAudioContext]);\n\n return (\n <DictateComposer\n lang={speechLanguage}\n onDictate={handleDictate}\n onError={handleError}\n onProgress={handleDictating}\n speechGrammarList={SpeechGrammarList}\n speechRecognition={SpeechRecognition}\n started={!disabled && (dictateState === STARTING || dictateState === DICTATING) && !numSpeakingActivities}\n />\n );\n};\n\nDictation.defaultProps = {\n onError: undefined\n};\n\nDictation.propTypes = {\n onError: PropTypes.func\n};\n\nexport default Dictation;\n","var _Array$isArray = require(\"@babel/runtime-corejs3/core-js/array/is-array\");\n\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"core-js-pure/features/array/is-array\");","var parent = require('../../stable/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\n\nvar _getIteratorMethod = require(\"@babel/runtime-corejs3/core-js/get-iterator-method\");\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof _Symbol !== \"undefined\" && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"core-js-pure/features/symbol\");","var parent = require('../../stable/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.pattern-match');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar arraySlice = require('../internals/array-slice');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n redefine(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!SymbolPrototype[TO_PRIMITIVE]) {\n var valueOf = SymbolPrototype.valueOf;\n // eslint-disable-next-line no-unused-vars -- required for .length\n redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n // TODO: improve hint logic\n return call(valueOf, this);\n });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","module.exports = function () { /* empty */ };\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n","module.exports = require(\"core-js-pure/features/get-iterator-method\");","var parent = require('../stable/get-iterator-method');\n\nmodule.exports = parent;\n","var parent = require('../es/get-iterator-method');\nrequire('../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../modules/es.array.iterator');\nrequire('../modules/es.string.iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = getIteratorMethod;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var _sliceInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/slice\");\n\nvar _Array$from = require(\"@babel/runtime-corejs3/core-js/array/from\");\n\nvar arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"core-js-pure/features/instance/slice\");","var parent = require('../../stable/instance/slice');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;\n};\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","module.exports = require(\"core-js-pure/features/array/from\");","var parent = require('../../stable/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","require('../../modules/web.dom-collections.iterator');\nvar classof = require('../../internals/classof');\nvar hasOwn = require('../../internals/has-own-property');\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/for-each');\n\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.forEach;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.forEach)\n || hasOwn(DOMIterables, classof(it)) ? method : own;\n};\n","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.for-each');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var parent = require('../../es/instance/map');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/map');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.map;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.map) ? method : own;\n};\n","require('../../../modules/es.array.map');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').map;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../../es/object/entries');\n\nmodule.exports = parent;\n","require('../../modules/es.object.entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.entries;\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","import useWebSpeechPonyfill from '../useWebSpeechPonyfill';\n\nexport default function useResumeAudioContext(): () => Promise<void> {\n const [{ resumeAudioContext }] = useWebSpeechPonyfill();\n\n return () => resumeAudioContext && resumeAudioContext();\n}\n","import useWebChatAPIContext from './useWebChatAPIContext';\n\nexport default function useSetDictateState() {\n return useWebChatAPIContext().setDictateState;\n}\n","function keepAspectRatio(width, height, maxWidth, maxHeight) {\n if (width < maxWidth && height < maxHeight) {\n // Photo is smaller than both maximum dimensions, take it as-is\n return {\n height,\n width\n };\n }\n\n const aspectRatio = width / height;\n\n if (aspectRatio > maxWidth / maxHeight) {\n // Photo is wider than maximum dimension, downscale it based on maxWidth.\n return {\n height: maxWidth / aspectRatio,\n width: maxWidth\n };\n }\n\n // Photo is taller than maximum dimension, downscale it based on maxHeight.\n return {\n height: maxHeight,\n width: maxHeight * aspectRatio\n };\n}\n\nfunction createCanvas(width, height) {\n const canvas = document.createElement('canvas');\n\n canvas.height = height;\n canvas.width = width;\n\n return canvas;\n}\n\nfunction loadImageFromBlob(blob) {\n const blobURL = URL.createObjectURL(blob);\n\n return new Promise((resolve, reject) => {\n const image = document.createElement('img');\n\n image.addEventListener('error', ({ error }) => reject(error));\n image.addEventListener('load', () => resolve(image));\n image.setAttribute('src', blobURL);\n }).finally(() => {\n URL.revokeObjectURL(blobURL);\n });\n}\n\nexport default async function downscaleImageToDataURLUsingBrowser(blob, maxWidth, maxHeight, type, quality) {\n const image = await loadImageFromBlob(blob);\n const { height, width } = keepAspectRatio(image.width, image.height, maxWidth, maxHeight);\n const canvas = createCanvas(width, height);\n const context = canvas.getContext('2d');\n\n context.drawImage(image, 0, 0, width, height);\n\n return canvas.toDataURL(type, quality);\n}\n","export default function blobToArrayBuffer(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onerror = ({ error, message }) => reject(error || new Error(message));\n reader.onloadend = () => resolve(reader.result);\n reader.readAsArrayBuffer(file);\n });\n}\n","/* eslint object-shorthand: \"off\" */\n/* eslint prefer-destructuring: \"off\" */\n/* eslint prefer-arrow-callback: \"off\" */\n\n// This file is the entrypoint of Web Worker and is minimally transpiled through Babel.\n// Do not include any dependencies here because they will not be bundled.\n\n// This file will also get loaded by IE11, please make sure you hand-transpile it correctly.\n\nexport default function () {\n function blobToDataURL(blob) {\n return new Promise(function (resolve, reject) {\n const reader = new FileReader();\n\n reader.onerror = function (event) {\n reject(event.error || new Error(event.message));\n };\n\n reader.onloadend = function () {\n resolve(reader.result);\n };\n\n reader.readAsDataURL(blob);\n });\n }\n\n function keepAspectRatio(width, height, maxWidth, maxHeight) {\n if (width < maxWidth && height < maxHeight) {\n // Photo is smaller than both maximum dimensions, take it as-is\n return {\n height: height,\n width: width\n };\n }\n\n const aspectRatio = width / height;\n\n if (aspectRatio > maxWidth / maxHeight) {\n // Photo is wider than maximum dimension, downscale it based on maxWidth.\n return {\n height: maxWidth / aspectRatio,\n width: maxWidth\n };\n }\n\n // Photo is taller than maximum dimension, downscale it based on maxHeight.\n return {\n height: maxHeight,\n width: maxHeight * aspectRatio\n };\n }\n\n onmessage = function (event) {\n const data = event.data;\n const arrayBuffer = data.arrayBuffer;\n const maxHeight = data.maxHeight;\n const maxWidth = data.maxWidth;\n const type = data.type;\n const quality = data.quality;\n const port = event.ports[0];\n\n return Promise.resolve()\n .then(function () {\n return createImageBitmap(new Blob([arrayBuffer], { resizeQuality: 'high' }));\n })\n .then(function (imageBitmap) {\n const dimension = keepAspectRatio(imageBitmap.width, imageBitmap.height, maxWidth, maxHeight);\n const height = dimension.height;\n const width = dimension.width;\n const offscreenCanvas = new OffscreenCanvas(width, height);\n const context = offscreenCanvas.getContext('2d');\n\n context.drawImage(imageBitmap, 0, 0, width, height);\n\n // Firefox quirks: 68.0.1 call named OffscreenCanvas.convertToBlob as OffscreenCanvas.toBlob.\n const convertToBlob = (offscreenCanvas.convertToBlob || offscreenCanvas.toBlob).bind(offscreenCanvas);\n\n return convertToBlob({ type: type, quality: quality });\n })\n .then(function (blob) {\n return blobToDataURL(blob);\n })\n .then(function (dataURL) {\n return port.postMessage({ result: dataURL });\n })\n .catch(function (err) {\n console.error(err);\n\n port.postMessage({\n error: {\n message: err.message,\n stack: err.stack\n }\n });\n });\n };\n\n postMessage('ready');\n}\n","import { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nexport default function mapMap(map, mapper) {\n return Object.entries(map).reduce((result, [key, value]) => {\n if (!isForbiddenPropertyName(key)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n result[key] = mapper(value, key);\n }\n\n return result;\n }, {});\n}\n","import { hooks } from 'botframework-webchat-api';\nimport { useRefFrom } from 'use-ref-from';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport SendBoxContext from './private/Context';\nimport useFocus from '../../../hooks/useFocus';\nimport useScrollToEnd from '../../../hooks/useScrollToEnd';\nimport useStyleToEmotionObject from '../../../hooks/internal/useStyleToEmotionObject';\nimport useUniqueId from '../../../hooks/internal/useUniqueId';\n\nimport type { ContextType, SendError } from './private/types';\nimport type { PropsWithChildren } from 'react';\n\nconst { useConnectivityStatus, useLocalizer, usePonyfill, useSendBoxValue, useSubmitSendBox } = hooks;\n\nconst SUBMIT_ERROR_MESSAGE_STYLE = {\n '&.webchat__submit-error-message': {\n // .sr-only - This component is intended to be invisible to the visual Web Chat user, but read by the AT when using a screen reader\n color: 'transparent',\n height: 1,\n overflow: 'hidden',\n position: 'absolute',\n // We need to set top: 0, otherwise, it will repro:\n // - Run NVDA\n // - Make the transcript long enough to show the scrollbar\n // - Press SHIFT-TAB, focus on upload button\n // - Press up arrow multiple times\n top: 0,\n whiteSpace: 'nowrap',\n width: 1\n }\n};\n\n// False positive: we are using `setTimeout` as a type.\n// eslint-disable-next-line no-restricted-globals\ntype Timeout = ReturnType<typeof setTimeout>;\n\nconst TIME_TO_QUEUE_ERROR_MESSAGE = 500;\nconst TIME_TO_RESET_ERROR_MESSAGE = 50;\n\n// This component is marked as internal because it is not fully implemented and is not ready to be consumed publicly.\n// When it is done, it should provide and replace all the functionalities we did in Redux, including but not limited to:\n\n// - Speech interims\n// - Maintain text box value\n// - Multiple <SendBoxComposer> in a single Web Chat instance\n// - Web devs should be able to put an individual send box instance into an activity\n// - The send box instance in the activity, should be separated from the bottommost send box\n// - The valued typed inside the activity, should be separated from the value typed into the bottommost send box\n\n// In the old days, we use Redux to keep the send box state.\n// However, when web devs put 2 send box on their page, it makes things complex because both send boxes will interact with each other.\n// We would rather have them separate. If web devs want them to interact with each other, they will do the wiring themselves.\n\ntype ErrorMessageStringMap = ReadonlyMap<SendError, string>;\n\n// TODO: [P2] Complete this component.\nconst SendBoxComposer = ({ children }: PropsWithChildren<{}>) => {\n const [{ clearTimeout, setTimeout }] = usePonyfill();\n const [connectivityStatus] = useConnectivityStatus();\n const [error, setError] = useState<SendError | false>(false);\n const [sendBoxValue] = useSendBoxValue();\n const apiSubmitSendBox = useSubmitSendBox();\n const focus = useFocus();\n const localize = useLocalizer();\n const scrollToEnd = useScrollToEnd();\n const styleToEmotionObject = useStyleToEmotionObject();\n const submitErrorMessageId = useUniqueId('webchat__send-box__error-message-id');\n const timeoutRef = useRef<readonly [Timeout, Timeout] | undefined>(undefined);\n\n const errorMessageStringMap = useMemo<ErrorMessageStringMap>(\n () =>\n Object.freeze(\n new Map<SendError, string>()\n .set('empty', localize('SEND_BOX_IS_EMPTY_TOOLTIP_ALT'))\n // TODO: [P0] We should add a new string for \"Cannot send message while offline.\"\n .set('offline', localize('CONNECTIVITY_STATUS_ALT_FATAL'))\n ),\n [localize]\n );\n const focusRef = useRefFrom(focus);\n const scrollToEndRef = useRefFrom(scrollToEnd);\n const setErrorRef = useRef<typeof setError | undefined>(setError);\n const submitErrorMessageClassName = styleToEmotionObject(SUBMIT_ERROR_MESSAGE_STYLE) + '';\n const submitErrorMessageIdState = useMemo<readonly [string | undefined]>(\n () => Object.freeze([error ? submitErrorMessageId : undefined]) as readonly [string | undefined],\n [error, submitErrorMessageId]\n );\n\n setErrorRef.current = setError;\n\n const submitErrorRef = useRefFrom<'empty' | 'offline' | undefined>(\n connectivityStatus !== 'connected' && connectivityStatus !== 'reconnected'\n ? 'offline'\n : !sendBoxValue\n ? 'empty'\n : undefined\n );\n\n const submit = useCallback<ContextType['submit']>(\n ({ setFocus } = {}) => {\n (setFocus === 'main' || setFocus === 'sendBox' || setFocus === 'sendBoxWithoutKeyboard') &&\n focusRef.current?.(setFocus === 'main' || setFocus === 'sendBox' ? setFocus : 'sendBoxWithoutKeyboard');\n\n const { current: submitError } = submitErrorRef;\n\n if (submitError) {\n timeoutRef.current && timeoutRef.current.forEach(clearTimeout);\n\n setErrorRef.current?.(false);\n\n timeoutRef.current = Object.freeze([\n setTimeout(() => setErrorRef.current?.(submitError), TIME_TO_RESET_ERROR_MESSAGE),\n setTimeout(() => setErrorRef.current?.(false), TIME_TO_QUEUE_ERROR_MESSAGE)\n ]) as readonly [Timeout, Timeout];\n } else {\n scrollToEndRef.current?.();\n apiSubmitSendBox();\n }\n },\n [apiSubmitSendBox, clearTimeout, focusRef, scrollToEndRef, setErrorRef, setTimeout, submitErrorRef, timeoutRef]\n );\n\n useEffect(\n // Prevent `setTimeout()` from firing after unmount.\n () => () => {\n setErrorRef.current = undefined;\n },\n [setErrorRef]\n );\n\n const context = useMemo(\n () => ({\n submit,\n submitErrorMessageIdState\n }),\n [submit, submitErrorMessageIdState]\n );\n\n return (\n <SendBoxContext.Provider value={context}>\n {children}\n <span\n className={classNames('webchat__submit-error-message', submitErrorMessageClassName)}\n // \"id\" is required for \"aria-errormessage\" as IDREF.\n // eslint-disable-next-line react/forbid-dom-props\n id={submitErrorMessageId}\n role=\"alert\"\n >\n {error ? errorMessageStringMap.get(error) : ''}\n </span>\n </SendBoxContext.Provider>\n );\n};\n\nexport default SendBoxComposer;\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","module.exports = true;\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","import { useMemo, useRef } from 'react';\nimport type { RefObject } from 'react';\n\nexport default function useRefFrom<T>(value: T): RefObject<T> & { get current(): T } {\n const ref = useRef<T>();\n\n const readOnlyRef = useMemo(() => Object.create({}, { current: { get: () => ref.current } }), [ref]);\n\n ref.current = value;\n\n return readOnlyRef;\n}\n","module.exports = require(\"core-js-pure/stable/object/create\");","var parent = require('../../es/object/create');\n\nmodule.exports = parent;\n","require('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n return Object.create(P, D);\n};\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","import { hooks } from 'botframework-webchat-api';\nimport { useEffect } from 'react';\n\nimport { checkSupport as supportWorker } from '../../Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker';\nimport { speechSynthesis } from './BypassSpeechSynthesisPonyfill';\nimport useWebSpeechPonyfill from '../useWebSpeechPonyfill';\n\nconst { useTrackDimension } = hooks;\n\nconst Tracker = () => {\n const [webSpeechPonyfill] = useWebSpeechPonyfill();\n const trackDimension = useTrackDimension();\n\n const speechRecognitionCapability = !!webSpeechPonyfill.SpeechRecognition;\n const speechSynthesisCapability =\n webSpeechPonyfill.speechSynthesis && webSpeechPonyfill.speechSynthesis !== speechSynthesis;\n\n useEffect(() => {\n trackDimension('capability:downscaleImage:workerType', supportWorker() ? 'web worker' : 'main');\n trackDimension('capability:renderer', 'html');\n\n // TODO: [P2] #2937 Differentiate between Cognitive Services and browser speech\n trackDimension('prop:speechRecognition', !!speechRecognitionCapability + '');\n trackDimension('prop:speechSynthesis', !!speechSynthesisCapability + '');\n }, [trackDimension, speechRecognitionCapability, speechSynthesisCapability]);\n\n return false;\n};\n\nexport default Tracker;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertReactSVGDOMProperty = convertReactSVGDOMProperty;\nexports.startsWith = startsWith;\nexports.serializeAttrs = serializeAttrs;\nexports.getSVGFromSource = getSVGFromSource;\nexports.extractSVGProps = extractSVGProps;\n// Transform DOM prop/attr names applicable to `<svg>` element but react-limited\n\nfunction convertReactSVGDOMProperty(str) {\n return str.replace(/[-|:]([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nfunction startsWith(str, substring) {\n return str.indexOf(substring) === 0;\n}\n\nvar DataPropPrefix = 'data-';\n// Serialize `Attr` objects in `NamedNodeMap`\nfunction serializeAttrs(map) {\n var ret = {};\n for (var prop, i = 0; i < map.length; i++) {\n var key = map[i].name;\n if (key == \"class\") {\n prop = \"className\";\n } else if (!startsWith(key, DataPropPrefix)) {\n prop = convertReactSVGDOMProperty(key);\n } else {\n prop = key;\n }\n\n ret[prop] = map[i].value;\n }\n return ret;\n}\n\nfunction getSVGFromSource(src) {\n var svgContainer = document.createElement('div');\n svgContainer.innerHTML = src;\n var svg = svgContainer.firstElementChild;\n svg.remove ? svg.remove() : svgContainer.removeChild(svg); // deref from parent element\n return svg;\n}\n\n// get <svg /> element props\nfunction extractSVGProps(src) {\n var map = getSVGFromSource(src).attributes;\n return map.length > 0 ? serializeAttrs(map) : null;\n}","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\n\nvar Event = /** @class */ (function () {\r\n function Event(type, target) {\r\n this.target = target;\r\n this.type = type;\r\n }\r\n return Event;\r\n}());\r\nvar ErrorEvent = /** @class */ (function (_super) {\r\n __extends(ErrorEvent, _super);\r\n function ErrorEvent(error, target) {\r\n var _this = _super.call(this, 'error', target) || this;\r\n _this.message = error.message;\r\n _this.error = error;\r\n return _this;\r\n }\r\n return ErrorEvent;\r\n}(Event));\r\nvar CloseEvent = /** @class */ (function (_super) {\r\n __extends(CloseEvent, _super);\r\n function CloseEvent(code, reason, target) {\r\n if (code === void 0) { code = 1000; }\r\n if (reason === void 0) { reason = ''; }\r\n var _this = _super.call(this, 'close', target) || this;\r\n _this.wasClean = true;\r\n _this.code = code;\r\n _this.reason = reason;\r\n return _this;\r\n }\r\n return CloseEvent;\r\n}(Event));\n\nvar getGlobalWebSocket = function () {\r\n if (typeof WebSocket !== 'undefined') {\r\n // @ts-ignore\r\n return WebSocket;\r\n }\r\n};\r\n/**\r\n * Returns true if given argument looks like a WebSocket class\r\n */\r\nvar isWebSocket = function (w) { return typeof w !== 'undefined' && !!w && w.CLOSING === 2; };\r\nvar DEFAULT = {\r\n maxReconnectionDelay: 10000,\r\n minReconnectionDelay: 1000 + Math.random() * 4000,\r\n minUptime: 5000,\r\n reconnectionDelayGrowFactor: 1.3,\r\n connectionTimeout: 4000,\r\n maxRetries: Infinity,\r\n maxEnqueuedMessages: Infinity,\r\n startClosed: false,\r\n debug: false,\r\n};\r\nvar ReconnectingWebSocket = /** @class */ (function () {\r\n function ReconnectingWebSocket(url, protocols, options) {\r\n var _this = this;\r\n if (options === void 0) { options = {}; }\r\n this._listeners = {\r\n error: [],\r\n message: [],\r\n open: [],\r\n close: [],\r\n };\r\n this._retryCount = -1;\r\n this._shouldReconnect = true;\r\n this._connectLock = false;\r\n this._binaryType = 'blob';\r\n this._closeCalled = false;\r\n this._messageQueue = [];\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED\r\n */\r\n this.onclose = undefined;\r\n /**\r\n * An event listener to be called when an error occurs\r\n */\r\n this.onerror = undefined;\r\n /**\r\n * An event listener to be called when a message is received from the server\r\n */\r\n this.onmessage = undefined;\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN;\r\n * this indicates that the connection is ready to send and receive data\r\n */\r\n this.onopen = undefined;\r\n this._handleOpen = function (event) {\r\n _this._debug('open event');\r\n var _a = _this._options.minUptime, minUptime = _a === void 0 ? DEFAULT.minUptime : _a;\r\n clearTimeout(_this._connectTimeout);\r\n _this._uptimeTimeout = setTimeout(function () { return _this._acceptOpen(); }, minUptime);\r\n // @ts-ignore\r\n _this._ws.binaryType = _this._binaryType;\r\n // send enqueued messages (messages sent before websocket open event)\r\n _this._messageQueue.forEach(function (message) { return _this._ws.send(message); });\r\n _this._messageQueue = [];\r\n if (_this.onopen) {\r\n _this.onopen(event);\r\n }\r\n _this._listeners.open.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleMessage = function (event) {\r\n _this._debug('message event');\r\n if (_this.onmessage) {\r\n _this.onmessage(event);\r\n }\r\n _this._listeners.message.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleError = function (event) {\r\n _this._debug('error event', event.message);\r\n _this._disconnect(undefined, event.message === 'TIMEOUT' ? 'timeout' : undefined);\r\n if (_this.onerror) {\r\n _this.onerror(event);\r\n }\r\n _this._debug('exec error listeners');\r\n _this._listeners.error.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n _this._connect();\r\n };\r\n this._handleClose = function (event) {\r\n _this._debug('close event');\r\n _this._clearTimeouts();\r\n if (_this._shouldReconnect) {\r\n _this._connect();\r\n }\r\n if (_this.onclose) {\r\n _this.onclose(event);\r\n }\r\n _this._listeners.close.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._url = url;\r\n this._protocols = protocols;\r\n this._options = options;\r\n if (this._options.startClosed) {\r\n this._shouldReconnect = false;\r\n }\r\n this._connect();\r\n }\r\n Object.defineProperty(ReconnectingWebSocket, \"CONNECTING\", {\r\n get: function () {\r\n return 0;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"OPEN\", {\r\n get: function () {\r\n return 1;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSING\", {\r\n get: function () {\r\n return 2;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSED\", {\r\n get: function () {\r\n return 3;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CONNECTING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"OPEN\", {\r\n get: function () {\r\n return ReconnectingWebSocket.OPEN;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSED\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSED;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"binaryType\", {\r\n get: function () {\r\n return this._ws ? this._ws.binaryType : this._binaryType;\r\n },\r\n set: function (value) {\r\n this._binaryType = value;\r\n if (this._ws) {\r\n // @ts-ignore\r\n this._ws.binaryType = value;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"retryCount\", {\r\n /**\r\n * Returns the number or connection retries\r\n */\r\n get: function () {\r\n return Math.max(this._retryCount, 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"bufferedAmount\", {\r\n /**\r\n * The number of bytes of data that have been queued using calls to send() but not yet\r\n * transmitted to the network. This value resets to zero once all queued data has been sent.\r\n * This value does not reset to zero when the connection is closed; if you keep calling send(),\r\n * this will continue to climb. Read only\r\n */\r\n get: function () {\r\n var bytes = this._messageQueue.reduce(function (acc, message) {\r\n if (typeof message === 'string') {\r\n acc += message.length; // not byte size\r\n }\r\n else if (message instanceof Blob) {\r\n acc += message.size;\r\n }\r\n else {\r\n acc += message.byteLength;\r\n }\r\n return acc;\r\n }, 0);\r\n return bytes + (this._ws ? this._ws.bufferedAmount : 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"extensions\", {\r\n /**\r\n * The extensions selected by the server. This is currently only the empty string or a list of\r\n * extensions as negotiated by the connection\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.extensions : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"protocol\", {\r\n /**\r\n * A string indicating the name of the sub-protocol the server selected;\r\n * this will be one of the strings specified in the protocols parameter when creating the\r\n * WebSocket object\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.protocol : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"readyState\", {\r\n /**\r\n * The current state of the connection; this is one of the Ready state constants\r\n */\r\n get: function () {\r\n if (this._ws) {\r\n return this._ws.readyState;\r\n }\r\n return this._options.startClosed\r\n ? ReconnectingWebSocket.CLOSED\r\n : ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"url\", {\r\n /**\r\n * The URL as resolved by the constructor\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.url : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Closes the WebSocket connection or connection attempt, if any. If the connection is already\r\n * CLOSED, this method does nothing\r\n */\r\n ReconnectingWebSocket.prototype.close = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._closeCalled = true;\r\n this._shouldReconnect = false;\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n this._debug('close enqueued: no ws instance');\r\n return;\r\n }\r\n if (this._ws.readyState === this.CLOSED) {\r\n this._debug('close: already closed');\r\n return;\r\n }\r\n this._ws.close(code, reason);\r\n };\r\n /**\r\n * Closes the WebSocket connection or connection attempt and connects again.\r\n * Resets retry counter;\r\n */\r\n ReconnectingWebSocket.prototype.reconnect = function (code, reason) {\r\n this._shouldReconnect = true;\r\n this._closeCalled = false;\r\n this._retryCount = -1;\r\n if (!this._ws || this._ws.readyState === this.CLOSED) {\r\n this._connect();\r\n }\r\n else {\r\n this._disconnect(code, reason);\r\n this._connect();\r\n }\r\n };\r\n /**\r\n * Enqueue specified data to be transmitted to the server over the WebSocket connection\r\n */\r\n ReconnectingWebSocket.prototype.send = function (data) {\r\n if (this._ws && this._ws.readyState === this.OPEN) {\r\n this._debug('send', data);\r\n this._ws.send(data);\r\n }\r\n else {\r\n var _a = this._options.maxEnqueuedMessages, maxEnqueuedMessages = _a === void 0 ? DEFAULT.maxEnqueuedMessages : _a;\r\n if (this._messageQueue.length < maxEnqueuedMessages) {\r\n this._debug('enqueue', data);\r\n this._messageQueue.push(data);\r\n }\r\n }\r\n };\r\n /**\r\n * Register an event handler of a specific event type\r\n */\r\n ReconnectingWebSocket.prototype.addEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type].push(listener);\r\n }\r\n };\r\n /**\r\n * Removes an event listener\r\n */\r\n ReconnectingWebSocket.prototype.removeEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type] = this._listeners[type].filter(function (l) { return l !== listener; });\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._debug = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (this._options.debug) {\r\n // not using spread because compiled version uses Symbols\r\n // tslint:disable-next-line\r\n console.log.apply(console, __spread(['RWS>'], args));\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._getNextDelay = function () {\r\n var _a = this._options, _b = _a.reconnectionDelayGrowFactor, reconnectionDelayGrowFactor = _b === void 0 ? DEFAULT.reconnectionDelayGrowFactor : _b, _c = _a.minReconnectionDelay, minReconnectionDelay = _c === void 0 ? DEFAULT.minReconnectionDelay : _c, _d = _a.maxReconnectionDelay, maxReconnectionDelay = _d === void 0 ? DEFAULT.maxReconnectionDelay : _d;\r\n var delay = 0;\r\n if (this._retryCount > 0) {\r\n delay =\r\n minReconnectionDelay * Math.pow(reconnectionDelayGrowFactor, this._retryCount - 1);\r\n if (delay > maxReconnectionDelay) {\r\n delay = maxReconnectionDelay;\r\n }\r\n }\r\n this._debug('next delay', delay);\r\n return delay;\r\n };\r\n ReconnectingWebSocket.prototype._wait = function () {\r\n var _this = this;\r\n return new Promise(function (resolve) {\r\n setTimeout(resolve, _this._getNextDelay());\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._getNextUrl = function (urlProvider) {\r\n if (typeof urlProvider === 'string') {\r\n return Promise.resolve(urlProvider);\r\n }\r\n if (typeof urlProvider === 'function') {\r\n var url = urlProvider();\r\n if (typeof url === 'string') {\r\n return Promise.resolve(url);\r\n }\r\n if (url.then) {\r\n return url;\r\n }\r\n }\r\n throw Error('Invalid URL');\r\n };\r\n ReconnectingWebSocket.prototype._connect = function () {\r\n var _this = this;\r\n if (this._connectLock || !this._shouldReconnect) {\r\n return;\r\n }\r\n this._connectLock = true;\r\n var _a = this._options, _b = _a.maxRetries, maxRetries = _b === void 0 ? DEFAULT.maxRetries : _b, _c = _a.connectionTimeout, connectionTimeout = _c === void 0 ? DEFAULT.connectionTimeout : _c, _d = _a.WebSocket, WebSocket = _d === void 0 ? getGlobalWebSocket() : _d;\r\n if (this._retryCount >= maxRetries) {\r\n this._debug('max retries reached', this._retryCount, '>=', maxRetries);\r\n return;\r\n }\r\n this._retryCount++;\r\n this._debug('connect', this._retryCount);\r\n this._removeListeners();\r\n if (!isWebSocket(WebSocket)) {\r\n throw Error('No valid WebSocket class provided');\r\n }\r\n this._wait()\r\n .then(function () { return _this._getNextUrl(_this._url); })\r\n .then(function (url) {\r\n // close could be called before creating the ws\r\n if (_this._closeCalled) {\r\n return;\r\n }\r\n _this._debug('connect', { url: url, protocols: _this._protocols });\r\n _this._ws = _this._protocols\r\n ? new WebSocket(url, _this._protocols)\r\n : new WebSocket(url);\r\n // @ts-ignore\r\n _this._ws.binaryType = _this._binaryType;\r\n _this._connectLock = false;\r\n _this._addListeners();\r\n _this._connectTimeout = setTimeout(function () { return _this._handleTimeout(); }, connectionTimeout);\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._handleTimeout = function () {\r\n this._debug('timeout event');\r\n this._handleError(new ErrorEvent(Error('TIMEOUT'), this));\r\n };\r\n ReconnectingWebSocket.prototype._disconnect = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._removeListeners();\r\n try {\r\n this._ws.close(code, reason);\r\n this._handleClose(new CloseEvent(code, reason, this));\r\n }\r\n catch (error) {\r\n // ignore\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._acceptOpen = function () {\r\n this._debug('accept open');\r\n this._retryCount = 0;\r\n };\r\n ReconnectingWebSocket.prototype._callEventListener = function (event, listener) {\r\n if ('handleEvent' in listener) {\r\n // @ts-ignore\r\n listener.handleEvent(event);\r\n }\r\n else {\r\n // @ts-ignore\r\n listener(event);\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._removeListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('removeListeners');\r\n this._ws.removeEventListener('open', this._handleOpen);\r\n this._ws.removeEventListener('close', this._handleClose);\r\n this._ws.removeEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.removeEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._addListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('addListeners');\r\n this._ws.addEventListener('open', this._handleOpen);\r\n this._ws.addEventListener('close', this._handleClose);\r\n this._ws.addEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.addEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._clearTimeouts = function () {\r\n clearTimeout(this._connectTimeout);\r\n clearTimeout(this._uptimeTimeout);\r\n };\r\n return ReconnectingWebSocket;\r\n}());\n\nexport default ReconnectingWebSocket;\n","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { PartialObserver, empty as emptyObserver } from '../Observer';\n\nexport function toSubscriber<T>(\n nextOrObserver?: PartialObserver<T> | ((value: T) => void),\n error?: (error: any) => void,\n complete?: () => void): Subscriber<T> {\n\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return (<Subscriber<T>> nextOrObserver);\n }\n\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n\n return new Subscriber(nextOrObserver, error, complete);\n}\n","import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class QueueAction<T> extends AsyncAction<T> {\n\n constructor(protected scheduler: QueueScheduler,\n protected work: (this: QueueAction<T>, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return (delay > 0 || this.closed) ?\n super.execute(state, delay) :\n this._execute(state, delay) ;\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: any, delay: number = 0): any {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Otherwise flush the scheduler starting with this action.\n return scheduler.flush(this);\n }\n}\n","import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\n\n/**\n * A unit of work to be executed in a {@link Scheduler}. An action is typically\n * created from within a Scheduler and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action<T> extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action<T>\n */\nexport class Action<T> extends Subscription {\n constructor(scheduler: Scheduler, work: (this: Action<T>, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent Scheduler for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n","import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\n\nexport interface IScheduler {\n now(): number;\n schedule<T>(work: (this: Action<T>, state?: T) => void, delay?: number, state?: T): Subscription;\n}\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an {@link Action}.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n */\nexport class Scheduler implements IScheduler {\n\n public static now: () => number = Date.now ? Date.now : () => +new Date();\n\n constructor(private SchedulerAction: typeof Action,\n now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule<T>(work: (this: Action<T>, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.SchedulerAction<T>(this, work).schedule(state, delay);\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated using the NSwag toolchain v13.1.6.0 (NJsonSchema v10.0.28.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport moment from 'moment';\n\nexport class ServiceProxy {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {\n this.http = http ? http : <any>window;\n this.baseUrl = baseUrl ? baseUrl : \"\";\n }\n\n /**\n * Sets the status of a message (e.g.: delivered, read, etc.)\n * @param input (optional) MarkMessageStatusInput\n * @return Success\n */\n markMessageStatuses(input: MarkMessageStatusInput | null | undefined): Promise<void> {\n let url_ = this.baseUrl + \"/MarkMessageStatuses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(input);\n\n let options_ = <RequestInit>{\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processMarkMessageStatuses(_response);\n });\n }\n\n protected processMarkMessageStatuses(response: Response): Promise<void> {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status === 500) {\n return response.text().then((_responseText) => {\n let result500: any = null;\n let resultData500 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result500 = ErrorDetails.fromJS(resultData500);\n return throwException(\"Server Error\", status, _responseText, _headers, result500);\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve<void>(<any>null);\n }\n\n /**\n * Adds a sender action (e.g.: typing on, typing off, etc.)\n * @param input (optional) MarkSenderActionInput\n * @return Success\n */\n markSenderActions(input: MarkSenderActionInput | null | undefined): Promise<void> {\n let url_ = this.baseUrl + \"/MarkSenderActions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(input);\n\n let options_ = <RequestInit>{\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processMarkSenderActions(_response);\n });\n }\n\n protected processMarkSenderActions(response: Response): Promise<void> {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status === 500) {\n return response.text().then((_responseText) => {\n let result500: any = null;\n let resultData500 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result500 = ErrorDetails.fromJS(resultData500);\n return throwException(\"Server Error\", status, _responseText, _headers, result500);\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve<void>(<any>null);\n }\n\n /**\n * Returns the status of a conversation\n * @param conversationId (optional)\n * @param watermark (optional)\n * @param forActivities (optional)\n * @return Success\n */\n getStatus(conversationId: string | null | undefined, watermark: number | null | undefined, forActivities: string[] | null | undefined): Promise<ConversationStatus> {\n let url_ = this.baseUrl + \"/GetStatus?\";\n if (conversationId !== undefined)\n url_ += \"ConversationId=\" + encodeURIComponent(\"\" + conversationId) + \"&\";\n if (watermark !== undefined)\n url_ += \"Watermark=\" + encodeURIComponent(\"\" + watermark) + \"&\";\n if (forActivities !== undefined)\n forActivities && forActivities.forEach(item => { url_ += \"ForActivities=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <RequestInit>{\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetStatus(_response);\n });\n }\n\n protected processGetStatus(response: Response): Promise<ConversationStatus> {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ConversationStatus.fromJS(resultData200);\n return result200;\n });\n } else if (status === 500) {\n return response.text().then((_responseText) => {\n let result500: any = null;\n let resultData500 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result500 = ErrorDetails.fromJS(resultData500);\n return throwException(\"Server Error\", status, _responseText, _headers, result500);\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve<ConversationStatus>(<any>null);\n }\n\n /**\n * Connects two conversations\n * @param input (optional)\n * @return Success\n */\n connectConversations(input: ConnectConversationsInput | null | undefined): Promise<void> {\n let url_ = this.baseUrl + \"/ConnectConversations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(input);\n\n let options_ = <RequestInit>{\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processConnectConversations(_response);\n });\n }\n\n protected processConnectConversations(response: Response): Promise<void> {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve<void>(<any>null);\n }\n\n /**\n * Disconnects two conversations\n * @param input (optional)\n * @return Success\n */\n disconnectConversations(input: DisconnectConversationsInput | null | undefined): Promise<void> {\n let url_ = this.baseUrl + \"/DisconnectConversations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(input);\n\n let options_ = <RequestInit>{\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDisconnectConversations(_response);\n });\n }\n\n protected processDisconnectConversations(response: Response): Promise<void> {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve<void>(<any>null);\n }\n}\n\n\nexport class MarkMessageStatusInput implements IMarkMessageStatusInput {\n conversationId: string | undefined;\n isFromBot: boolean;\n messageStatuses: MessageStatusInputDto[] | undefined;\n\n constructor(data?: IMarkMessageStatusInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.conversationId = _data[\"conversationId\"];\n this.isFromBot = _data[\"isFromBot\"];\n if (Array.isArray(_data[\"messageStatuses\"])) {\n this.messageStatuses = [] as any;\n for (let item of _data[\"messageStatuses\"])\n this.messageStatuses.push(MessageStatusInputDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): MarkMessageStatusInput {\n data = typeof data === 'object' ? data : {};\n let result = new MarkMessageStatusInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"conversationId\"] = this.conversationId;\n data[\"isFromBot\"] = this.isFromBot;\n if (Array.isArray(this.messageStatuses)) {\n data[\"messageStatuses\"] = [];\n for (let item of this.messageStatuses)\n data[\"messageStatuses\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IMarkMessageStatusInput {\n conversationId: string | undefined;\n isFromBot: boolean;\n messageStatuses: MessageStatusInputDto[] | undefined;\n}\n\n\nexport class MessageStatusInputDto implements IMessageStatusInputDto {\n activityId: string | undefined;\n routedActivityId: string | undefined;\n sourceMessageId: string | undefined;\n dateTimeUtc: moment.Moment | undefined;\n status: MessageStatusInputDtoStatus | undefined;\n correlationId: string | undefined;\n isPreviousStatusSkipped: boolean | undefined;\n constructor(data?: IMessageStatusInputDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.routedActivityId = _data[\"routedActivityId\"];\n this.sourceMessageId = _data[\"sourceMessageId\"];\n this.dateTimeUtc = _data[\"dateTimeUtc\"] ? moment(_data[\"dateTimeUtc\"].toString()) : <any>undefined;\n this.status = _data[\"status\"];\n this.correlationId = _data[\"correlationId\"];\n this.isPreviousStatusSkipped = _data[\"isPreviousStatusSkipped\"];\n }\n }\n\n static fromJS(data: any): MessageStatusInputDto {\n data = typeof data === 'object' ? data : {};\n let result = new MessageStatusInputDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"routedActivityId\"] = this.routedActivityId;\n data[\"sourceMessageId\"] = this.sourceMessageId;\n data[\"dateTimeUtc\"] = this.dateTimeUtc ? this.dateTimeUtc.toISOString() : <any>undefined;\n data[\"status\"] = this.status;\n data[\"correlationId\"] = this.correlationId;\n data[\"isPreviousStatusSkipped\"] = this.isPreviousStatusSkipped;\n return data;\n }\n}\n\nexport interface IMessageStatusInputDto {\n activityId: string | undefined;\n routedActivityId: string | undefined;\n sourceMessageId: string | undefined;\n dateTimeUtc: moment.Moment | undefined;\n status: MessageStatusInputDtoStatus | undefined;\n correlationId: string | undefined;\n isPreviousStatusSkipped: boolean | undefined;\n}\n\nexport class ErrorDetails implements IErrorDetails {\n statusCode: number | undefined;\n message: string | undefined;\n stackTrace: string | undefined;\n\n constructor(data?: IErrorDetails) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.statusCode = _data[\"statusCode\"];\n this.message = _data[\"message\"];\n this.stackTrace = _data[\"stackTrace\"];\n }\n }\n\n static fromJS(data: any): ErrorDetails {\n data = typeof data === 'object' ? data : {};\n let result = new ErrorDetails();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"statusCode\"] = this.statusCode;\n data[\"message\"] = this.message;\n data[\"stackTrace\"] = this.stackTrace;\n return data;\n }\n}\n\nexport interface IErrorDetails {\n statusCode: number | undefined;\n message: string | undefined;\n stackTrace: string | undefined;\n}\n\nexport class MarkSenderActionInput implements IMarkSenderActionInput {\n conversationId: string | undefined;\n isFromBot: boolean;\n senderAction: SenderAction;\n\n constructor(data?: IMarkSenderActionInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.conversationId = _data[\"conversationId\"];\n this.isFromBot = _data[\"isFromBot\"];\n this.senderAction = _data[\"senderAction\"] ? SenderAction.fromJS(_data[\"senderAction\"]) : <any>undefined;\n }\n }\n\n static fromJS(data: any): MarkSenderActionInput {\n data = typeof data === 'object' ? data : {};\n let result = new MarkSenderActionInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"conversationId\"] = this.conversationId;\n data[\"isFromBot\"] = this.isFromBot;\n data[\"senderAction\"] = this.senderAction ? this.senderAction.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IMarkSenderActionInput {\n conversationId: string | undefined;\n isFromBot: boolean;\n senderAction: SenderAction;\n}\n\nexport class SenderAction implements ISenderAction {\n dateTimeUtc: moment.Moment | undefined;\n action: SenderActionAction | undefined;\n\n constructor(data?: ISenderAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dateTimeUtc = _data[\"dateTimeUtc\"] ? moment(_data[\"dateTimeUtc\"].toString()) : <any>undefined;\n this.action = _data[\"action\"];\n }\n }\n\n static fromJS(data: any): SenderAction {\n data = typeof data === 'object' ? data : {};\n let result = new SenderAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dateTimeUtc\"] = this.dateTimeUtc ? this.dateTimeUtc.toISOString() : <any>undefined;\n data[\"action\"] = this.action;\n return data;\n }\n}\n\nexport interface ISenderAction {\n dateTimeUtc: moment.Moment | undefined;\n action: SenderActionAction | undefined;\n}\n\nexport class ConversationStatus implements IConversationStatus {\n messageStatuses: MessageStatusOutputDto[] | undefined;\n botAction: SenderAction | undefined;\n\n constructor(data?: IConversationStatus) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"messageStatuses\"])) {\n this.messageStatuses = [] as any;\n for (let item of _data[\"messageStatuses\"])\n this.messageStatuses.push(MessageStatusOutputDto.fromJS(item));\n }\n this.botAction = _data[\"botAction\"] ? SenderAction.fromJS(_data[\"botAction\"]) : <any>undefined;\n }\n }\n\n static fromJS(data: any): ConversationStatus {\n data = typeof data === 'object' ? data : {};\n let result = new ConversationStatus();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.messageStatuses)) {\n data[\"messageStatuses\"] = [];\n for (let item of this.messageStatuses)\n data[\"messageStatuses\"].push(item.toJSON());\n }\n data[\"botAction\"] = this.botAction ? this.botAction.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IConversationStatus {\n messageStatuses: MessageStatusOutputDto[] | undefined;\n botAction: SenderAction | undefined;\n}\n\nexport class MessageStatusOutputDto implements IMessageStatusOutputDto {\n activityId: string | undefined;\n status: MessageStatusOutputDtoStatus | undefined;\n\n constructor(data?: IMessageStatusOutputDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.status = _data[\"status\"];\n }\n }\n\n static fromJS(data: any): MessageStatusOutputDto {\n data = typeof data === 'object' ? data : {};\n let result = new MessageStatusOutputDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"status\"] = this.status;\n return data;\n }\n}\n\nexport interface IMessageStatusOutputDto {\n activityId: string | undefined;\n status: MessageStatusOutputDtoStatus | undefined;\n}\n\nexport class ConnectConversationsInput implements IConnectConversationsInput {\n conversationId1: string | undefined;\n conversationId2: string | undefined;\n\n constructor(data?: IConnectConversationsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.conversationId1 = _data[\"conversationId1\"];\n this.conversationId2 = _data[\"conversationId2\"];\n }\n }\n\n static fromJS(data: any): ConnectConversationsInput {\n data = typeof data === 'object' ? data : {};\n let result = new ConnectConversationsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"conversationId1\"] = this.conversationId1;\n data[\"conversationId2\"] = this.conversationId2;\n return data;\n }\n}\n\nexport interface IConnectConversationsInput {\n conversationId1: string | undefined;\n conversationId2: string | undefined;\n}\n\nexport class DisconnectConversationsInput implements IDisconnectConversationsInput {\n conversationId1: string | undefined;\n conversationId2: string | undefined;\n\n constructor(data?: IDisconnectConversationsInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.conversationId1 = _data[\"conversationId1\"];\n this.conversationId2 = _data[\"conversationId2\"];\n }\n }\n\n static fromJS(data: any): DisconnectConversationsInput {\n data = typeof data === 'object' ? data : {};\n let result = new DisconnectConversationsInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"conversationId1\"] = this.conversationId1;\n data[\"conversationId2\"] = this.conversationId2;\n return data;\n }\n}\n\nexport interface IDisconnectConversationsInput {\n conversationId1: string | undefined;\n conversationId2: string | undefined;\n}\n\nexport enum MessageStatusInputDtoStatus {\n _0 = 0,\n _1 = 1,\n _2 = 2,\n _3 = 3,\n}\n\nexport enum SenderActionAction {\n _0 = 0,\n _1 = 1,\n}\n\nexport enum MessageStatusOutputDtoStatus {\n _0 = 0,\n _1 = 1,\n _2 = 2,\n _3 = 3,\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\nimport { Observable, ObservableInput } from '../Observable';\nimport { catchError as higherOrder } from '../operators/catchError';\n\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n *\n * <img src=\"./img/catch.png\" width=\"100%\">\n *\n * @example <caption>Continues with a different Observable when there's an error</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n == 4) {\n * \t throw 'four!';\n * }\n *\t return n;\n * })\n * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V'))\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, I, II, III, IV, V\n *\n * @example <caption>Retries the caught source Observable again in case of error, similar to retry() operator</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n === 4) {\n * \t throw 'four!';\n * }\n * \t return n;\n * })\n * .catch((err, caught) => caught)\n * .take(30)\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, 1, 2, 3, ...\n *\n * @example <caption>Throws a new error when the source Observable throws an error</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * if (n == 4) {\n * throw 'four!';\n * }\n * return n;\n * })\n * .catch(err => {\n * throw 'error in source. Details: ' + err;\n * })\n * .subscribe(\n * x => console.log(x),\n * err => console.log(err)\n * );\n * // 1, 2, 3, error in source. Details: four!\n *\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n * is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n * is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} An observable that originates from either the source or the observable returned by the\n * catch `selector` function.\n * @method catch\n * @name catch\n * @owner Observable\n */\nexport function _catch<T, R>(this: Observable<T>, selector: (err: any, caught: Observable<T>) => ObservableInput<R>): Observable<T | R> {\n return higherOrder(selector)(this);\n}\n","import { Subscriber } from './Subscriber';\nimport { OuterSubscriber } from './OuterSubscriber';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class InnerSubscriber<T, R> extends Subscriber<R> {\n private index: number = 0;\n\n constructor(private parent: OuterSubscriber<T, R>, private outerValue: T, private outerIndex: number) {\n super();\n }\n\n protected _next(value: R): void {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n\n protected _error(error: any): void {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n\n protected _complete(): void {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n","import { Observable, ObservableInput } from '../Observable';\nimport { combineLatest as higherOrder } from '../operators/combineLatest';\n\n/* tslint:disable:max-line-length */\nexport function combineLatest<T, R>(this: Observable<T>, project: (v1: T) => R): Observable<R>;\nexport function combineLatest<T, T2, R>(this: Observable<T>, v2: ObservableInput<T2>, project: (v1: T, v2: T2) => R): Observable<R>;\nexport function combineLatest<T, T2, T3, R>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, project: (v1: T, v2: T2, v3: T3) => R): Observable<R>;\nexport function combineLatest<T, T2, T3, T4, R>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, project: (v1: T, v2: T2, v3: T3, v4: T4) => R): Observable<R>;\nexport function combineLatest<T, T2, T3, T4, T5, R>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => R): Observable<R>;\nexport function combineLatest<T, T2, T3, T4, T5, T6, R>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => R): Observable<R> ;\nexport function combineLatest<T, T2>(this: Observable<T>, v2: ObservableInput<T2>): Observable<[T, T2]>;\nexport function combineLatest<T, T2, T3>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>): Observable<[T, T2, T3]>;\nexport function combineLatest<T, T2, T3, T4>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>): Observable<[T, T2, T3, T4]>;\nexport function combineLatest<T, T2, T3, T4, T5>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>): Observable<[T, T2, T3, T4, T5]>;\nexport function combineLatest<T, T2, T3, T4, T5, T6>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>): Observable<[T, T2, T3, T4, T5, T6]> ;\nexport function combineLatest<T, R>(this: Observable<T>, ...observables: Array<ObservableInput<T> | ((...values: Array<T>) => R)>): Observable<R>;\nexport function combineLatest<T, R>(this: Observable<T>, array: ObservableInput<T>[]): Observable<Array<T>>;\nexport function combineLatest<T, TOther, R>(this: Observable<T>, array: ObservableInput<TOther>[], project: (v1: T, ...values: Array<TOther>) => R): Observable<R>;\n/* tslint:enable:max-line-length */\n\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nexport function combineLatest<T, R>(this: Observable<T>, ...observables: Array<ObservableInput<any> |\n Array<ObservableInput<any>> |\n ((...values: Array<any>) => R)>): Observable<R> {\n return higherOrder(...observables)(this);\n}","import { Observable } from '../Observable';\nimport { count as higherOrder } from '../operators/count';\n\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nexport function count<T>(this: Observable<T>, predicate?: (value: T, index: number, source: Observable<T>) => boolean): Observable<number> {\n return higherOrder(predicate)(this);\n}\n","import { async } from '../scheduler/async';\nimport { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { delay as higherOrder } from '../operators/delay';\n\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * <span class=\"informal\">Time shifts each item by some specified amount of\n * milliseconds.</span>\n *\n * <img src=\"./img/delay.png\" width=\"100%\">\n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example <caption>Delay each click by one second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example <caption>Delay all clicks until a future date happens</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nexport function delay<T>(this: Observable<T>, delay: number|Date,\n scheduler: IScheduler = async): Observable<T> {\n return higherOrder<T>(delay, scheduler)(this);\n}\n","\nimport { Observable } from '../Observable';\nimport { PartialObserver } from '../Observer';\nimport { tap as higherOrder } from '../operators/tap';\n\n/* tslint:disable:max-line-length */\nexport function _do<T>(this: Observable<T>, next: (x: T) => void, error?: (e: any) => void, complete?: () => void): Observable<T>;\nexport function _do<T>(this: Observable<T>, observer: PartialObserver<T>): Observable<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Perform a side effect for every emission on the source Observable, but return\n * an Observable that is identical to the source.\n *\n * <span class=\"informal\">Intercepts each emission on the source and runs a\n * function, but returns an output which is identical to the source as long as errors don't occur.</span>\n *\n * <img src=\"./img/do.png\" width=\"100%\">\n *\n * Returns a mirrored Observable of the source Observable, but modified so that\n * the provided Observer is called to perform a side effect for every value,\n * error, and completion emitted by the source. Any errors that are thrown in\n * the aforementioned Observer or handlers are safely sent down the error path\n * of the output Observable.\n *\n * This operator is useful for debugging your Observables for the correct values\n * or performing other side effects.\n *\n * Note: this is different to a `subscribe` on the Observable. If the Observable\n * returned by `do` is not subscribed, the side effects specified by the\n * Observer will never happen. `do` therefore simply spies on existing\n * execution, it does not trigger an execution to happen like `subscribe` does.\n *\n * @example <caption>Map every click to the clientX position of that click, while also logging the click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks\n * .do(ev => console.log(ev))\n * .map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link map}\n * @see {@link subscribe}\n *\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\n * callback for `next`.\n * @param {function} [error] Callback for errors in the source.\n * @param {function} [complete] Callback for the completion of the source.\n * @return {Observable} An Observable identical to the source, but runs the\n * specified Observer or callback(s) for each item.\n * @method do\n * @name do\n * @owner Observable\n */\nexport function _do<T>(this: Observable<T>, nextOrObserver?: PartialObserver<T> | ((x: T) => void),\n error?: (e: any) => void,\n complete?: () => void): Observable<T> {\n return higherOrder(<any>nextOrObserver, error, complete)(this) as Observable<T>;\n}\n","\nimport { Observable } from '../Observable';\nimport { filter as higherOrderFilter } from '../operators/filter';\n\n/* tslint:disable:max-line-length */\nexport function filter<T, S extends T>(this: Observable<T>,\n predicate: (value: T, index: number) => value is S,\n thisArg?: any): Observable<S>;\nexport function filter<T>(this: Observable<T>,\n predicate: (value: T, index: number) => boolean,\n thisArg?: any): Observable<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Filter items emitted by the source Observable by only emitting those that\n * satisfy a specified predicate.\n *\n * <span class=\"informal\">Like\n * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\n * it only emits a value from the source if it passes a criterion function.</span>\n *\n * <img src=\"./img/filter.png\" width=\"100%\">\n *\n * Similar to the well-known `Array.prototype.filter` method, this operator\n * takes values from the source Observable, passes them through a `predicate`\n * function and only emits those values that yielded `true`.\n *\n * @example <caption>Emit only click events whose target was a DIV element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV');\n * clicksOnDivs.subscribe(x => console.log(x));\n *\n * @see {@link distinct}\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n * @see {@link ignoreElements}\n * @see {@link partition}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted, if `false` the value is not passed to the output\n * Observable. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number\n * `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of values from the source that were\n * allowed by the `predicate` function.\n * @method filter\n * @owner Observable\n */\nexport function filter<T>(this: Observable<T>, predicate: (value: T, index: number) => boolean,\n thisArg?: any): Observable<T> {\n return higherOrderFilter(predicate, thisArg)(this);\n}\n","import { map as higherOrderMap } from '../operators/map';\nimport { Observable } from '../Observable';\n\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * <span class=\"informal\">Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.</span>\n *\n * <img src=\"./img/map.png\" width=\"100%\">\n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * @example <caption>Map every click to the clientX position of that click</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks.map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return {Observable<R>} An Observable that emits the values from the source\n * Observable transformed by the given `project` function.\n * @method map\n * @owner Observable\n */\nexport function map<T, R>(this: Observable<T>, project: (value: T, index: number) => R, thisArg?: any): Observable<R> {\n return higherOrderMap(project, thisArg)(this);\n}\n","import { Observable, ObservableInput } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { merge as higherOrder } from '../operators/merge';\n\nexport { merge as mergeStatic } from '../observable/merge';\n\n/* tslint:disable:max-line-length */\nexport function merge<T>(this: Observable<T>, scheduler?: IScheduler): Observable<T>;\nexport function merge<T>(this: Observable<T>, concurrent?: number, scheduler?: IScheduler): Observable<T>;\nexport function merge<T, T2>(this: Observable<T>, v2: ObservableInput<T2>, scheduler?: IScheduler): Observable<T | T2>;\nexport function merge<T, T2>(this: Observable<T>, v2: ObservableInput<T2>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2>;\nexport function merge<T, T2, T3>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, scheduler?: IScheduler): Observable<T | T2 | T3>;\nexport function merge<T, T2, T3>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3>;\nexport function merge<T, T2, T3, T4>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, scheduler?: IScheduler): Observable<T | T2 | T3 | T4>;\nexport function merge<T, T2, T3, T4>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3 | T4>;\nexport function merge<T, T2, T3, T4, T5>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5>;\nexport function merge<T, T2, T3, T4, T5>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5>;\nexport function merge<T, T2, T3, T4, T5, T6>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5 | T6>;\nexport function merge<T, T2, T3, T4, T5, T6>(this: Observable<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, concurrent?: number, scheduler?: IScheduler): Observable<T | T2 | T3 | T4 | T5 | T6>;\nexport function merge<T>(this: Observable<T>, ...observables: Array<ObservableInput<T> | IScheduler | number>): Observable<T>;\nexport function merge<T, R>(this: Observable<T>, ...observables: Array<ObservableInput<any> | IScheduler | number>): Observable<R>;\n/* tslint:enable:max-line-length */\n\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * <img src=\"./img/merge.png\" width=\"100%\">\n *\n * `merge` subscribes to each given input Observable (either the source or an\n * Observable given as argument), and simply forwards (without doing any\n * transformation) all the values from all the input Observables to the output\n * Observable. The output Observable only completes once all input Observables\n * have completed. Any error delivered by an input Observable will be immediately\n * emitted on the output Observable.\n *\n * @example <caption>Merge together two Observables: 1s interval and clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = clicks.merge(timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var concurrent = 2; // the argument\n * var merged = timer1.merge(timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param {ObservableInput} other An input Observable to merge with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The IScheduler to use for managing\n * concurrency of input Observables.\n * @return {Observable} An Observable that emits items that are the result of\n * every input Observable.\n * @method merge\n * @owner Observable\n */\nexport function merge<T, R>(this: Observable<T>, ...observables: Array<ObservableInput<any> | IScheduler | number>): Observable<R> {\n return higherOrder(...observables)(this) as Observable<R>;\n}\n","import { Observable, ObservableInput } from '../Observable';\nimport { mergeMap as higherOrderMergeMap } from '../operators/mergeMap';\n\n/* tslint:disable:max-line-length */\nexport function mergeMap<T, R>(this: Observable<T>, project: (value: T, index: number) => ObservableInput<R>, concurrent?: number): Observable<R>;\nexport function mergeMap<T, I, R>(this: Observable<T>, project: (value: T, index: number) => ObservableInput<I>, resultSelector: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R, concurrent?: number): Observable<R>;\n/* tslint:enable:max-line-length */\n\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link mergeAll}.</span>\n *\n * <img src=\"./img/mergeMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger.\n *\n * @example <caption>Map and flatten each letter to an Observable ticking every 1 second</caption>\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var result = letters.mergeMap(x =>\n * Rx.Observable.interval(1000).map(i => x+i)\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // a0\n * // b0\n * // c0\n * // a1\n * // b1\n * // c1\n * // continues to list a,b,c with respective ascending integers\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and merging the results of the Observables obtained\n * from this transformation.\n * @method mergeMap\n * @owner Observable\n */\nexport function mergeMap<T, I, R>(this: Observable<T>, project: (value: T, index: number) => ObservableInput<I>,\n resultSelector?: ((outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R) | number,\n concurrent: number = Number.POSITIVE_INFINITY): Observable<I | R> {\n return higherOrderMergeMap(project, <any>resultSelector, concurrent)(this) as Observable<I | R>;\n}\n","import { Observable } from '../Observable';\nimport { retryWhen as higherOrder } from '../operators/retryWhen';\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`.\n * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child\n * subscription. Otherwise this method will resubscribe to the source Observable.\n *\n * <img src=\"./img/retryWhen.png\" width=\"100%\">\n *\n * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a\n * user can `complete` or `error`, aborting the retry.\n * @return {Observable} The source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nexport function retryWhen<T>(this: Observable<T>, notifier: (errors: Observable<any>) => Observable<any>): Observable<T> {\n return higherOrder(notifier)(this) as Observable<T>;\n}\n","import { Observable } from '../Observable';\nimport { share as higherOrder } from '../operators/share';\n\n/**\n * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\n * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\n * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\n *\n * This behaves similarly to .publish().refCount(), with a behavior difference when the source observable emits complete.\n * .publish().refCount() will not resubscribe to the original source, however .share() will resubscribe to the original source.\n * Observable.of(\"test\").publish().refCount() will not re-emit \"test\" on new subscriptions, Observable.of(\"test\").share() will\n * re-emit \"test\" to new subscriptions.\n *\n * <img src=\"./img/share.png\" width=\"100%\">\n *\n * @return {Observable<T>} An Observable that upon connection causes the source Observable to emit items to its Observers.\n * @method share\n * @owner Observable\n */\nexport function share<T>(this: Observable<T>): Observable<T> {\n return higherOrder()(this) as Observable<T>;\n};\n","import { Observable } from '../Observable';\nimport { take as higherOrder } from '../operators/take';\n\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Takes the first `count` values from the source, then\n * completes.</span>\n *\n * <img src=\"./img/take.png\" width=\"100%\">\n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable<T>} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nexport function take<T>(this: Observable<T>, count: number): Observable<T> {\n return higherOrder(count)(this) as Observable<T>;\n}\n","import { isNumeric } from '../util/isNumeric';\nimport { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isDate } from '../util/isDate';\nimport { TeardownLogic } from '../Subscription';\nimport { Subscriber } from '../Subscriber';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class TimerObservable extends Observable<number> {\n\n /**\n * Creates an Observable that starts emitting after an `initialDelay` and\n * emits ever increasing numbers after each `period` of time thereafter.\n *\n * <span class=\"informal\">Its like {@link interval}, but you can specify when\n * should the emissions start.</span>\n *\n * <img src=\"./img/timer.png\" width=\"100%\">\n *\n * `timer` returns an Observable that emits an infinite sequence of ascending\n * integers, with a constant interval of time, `period` of your choosing\n * between those emissions. The first emission happens after the specified\n * `initialDelay`. The initial delay may be a {@link Date}. By default, this\n * operator uses the `async` IScheduler to provide a notion of time, but you\n * may pass any IScheduler to it. If `period` is not specified, the output\n * Observable emits only one value, `0`. Otherwise, it emits an infinite\n * sequence.\n *\n * @example <caption>Emits ascending numbers, one every second (1000ms), starting after 3 seconds</caption>\n * var numbers = Rx.Observable.timer(3000, 1000);\n * numbers.subscribe(x => console.log(x));\n *\n * @example <caption>Emits one number after five seconds</caption>\n * var numbers = Rx.Observable.timer(5000);\n * numbers.subscribe(x => console.log(x));\n *\n * @see {@link interval}\n * @see {@link delay}\n *\n * @param {number|Date} initialDelay The initial delay time to wait before\n * emitting the first value of `0`.\n * @param {number} [period] The period of time between emissions of the\n * subsequent numbers.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling\n * the emission of values, and providing a notion of \"time\".\n * @return {Observable} An Observable that emits a `0` after the\n * `initialDelay` and ever increasing numbers after each `period` of time\n * thereafter.\n * @static true\n * @name timer\n * @owner Observable\n */\n static create(initialDelay: number | Date = 0,\n period?: number | IScheduler,\n scheduler?: IScheduler): Observable<number> {\n return new TimerObservable(initialDelay, period, scheduler);\n }\n\n static dispatch(state: any) {\n\n const { index, period, subscriber } = state;\n const action = (<any> this);\n\n subscriber.next(index);\n\n if (subscriber.closed) {\n return;\n } else if (period === -1) {\n return subscriber.complete();\n }\n\n state.index = index + 1;\n action.schedule(state, period);\n }\n\n private period: number = -1;\n private dueTime: number = 0;\n private scheduler: IScheduler;\n\n constructor(dueTime: number | Date = 0,\n period?: number | IScheduler,\n scheduler?: IScheduler) {\n super();\n\n if (isNumeric(period)) {\n this.period = Number(period) < 1 && 1 || Number(period);\n } else if (isScheduler(period)) {\n scheduler = <IScheduler> period;\n }\n\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n\n this.scheduler = scheduler;\n this.dueTime = isDate(dueTime) ?\n (+dueTime - this.scheduler.now()) :\n (<number> dueTime);\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<number>): TeardownLogic {\n const index = 0;\n const { period, dueTime, scheduler } = this;\n\n return scheduler.schedule(TimerObservable.dispatch, dueTime, {\n index, period, subscriber\n });\n }\n}\n","import { Observable } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { async } from '../scheduler/async';\nimport { ThrottleConfig, defaultThrottleConfig } from '../operators/throttle';\nimport { throttleTime as higherOrder } from '../operators/throttleTime';\n\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * <span class=\"informal\">Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.</span>\n *\n * <img src=\"./img/throttleTime.png\" width=\"100%\">\n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link IScheduler} for managing timers.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the throttling.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nexport function throttleTime<T>(this: Observable<T>,\n duration: number,\n scheduler: IScheduler = async,\n config: ThrottleConfig = defaultThrottleConfig): Observable<T> {\n return higherOrder(duration, scheduler, config)(this) as Observable<T>;\n}\n","import { IScheduler } from '../Scheduler';\nimport { async } from '../scheduler/async';\nimport { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { bufferTime as higherOrder } from '../operators/bufferTime';\n\n/* tslint:disable:max-line-length */\nexport function bufferTime<T>(this: Observable<T>, bufferTimeSpan: number, scheduler?: IScheduler): Observable<T[]>;\nexport function bufferTime<T>(this: Observable<T>, bufferTimeSpan: number, bufferCreationInterval: number, scheduler?: IScheduler): Observable<T[]>;\nexport function bufferTime<T>(this: Observable<T>, bufferTimeSpan: number, bufferCreationInterval: number, maxBufferSize: number, scheduler?: IScheduler): Observable<T[]>;\n/* tslint:enable:max-line-length */\n\n/**\n * Buffers the source Observable values for a specific time period.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * those arrays periodically in time.</span>\n *\n * <img src=\"./img/bufferTime.png\" width=\"100%\">\n *\n * Buffers values from the source for a specific time duration `bufferTimeSpan`.\n * Unless the optional argument `bufferCreationInterval` is given, it emits and\n * resets the buffer every `bufferTimeSpan` milliseconds. If\n * `bufferCreationInterval` is given, this operator opens the buffer every\n * `bufferCreationInterval` milliseconds and closes (emits and resets) the\n * buffer every `bufferTimeSpan` milliseconds. When the optional argument\n * `maxBufferSize` is specified, the buffer will be closed either after\n * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements.\n *\n * @example <caption>Every second, emit an array of the recent click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(1000);\n * buffered.subscribe(x => console.log(x));\n *\n * @example <caption>Every 5 seconds, emit the click events from the next 2 seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(2000, 5000);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link windowTime}\n *\n * @param {number} bufferTimeSpan The amount of time to fill each buffer array.\n * @param {number} [bufferCreationInterval] The interval at which to start new\n * buffers.\n * @param {number} [maxBufferSize] The maximum buffer size.\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\n * intervals that determine buffer boundaries.\n * @return {Observable<T[]>} An observable of arrays of buffered values.\n * @method bufferTime\n * @owner Observable\n */\nexport function bufferTime<T>(this: Observable<T>, bufferTimeSpan: number): Observable<T[]> {\n let length: number = arguments.length;\n\n let scheduler: IScheduler = async;\n if (isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n\n let bufferCreationInterval: number = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n\n let maxBufferSize: number = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n\n return higherOrder(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler)(this) as Observable<T[]>;\n}\n","\nimport { Observable } from '../Observable';\nimport { buffer as higherOrder } from '../operators/buffer';\n\n/**\n * Buffers the source Observable values until `closingNotifier` emits.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * that array only when another Observable emits.</span>\n *\n * <img src=\"./img/buffer.png\" width=\"100%\">\n *\n * Buffers the incoming Observable values until the given `closingNotifier`\n * Observable emits a value, at which point it emits the buffer on the output\n * Observable and starts a new buffer internally, awaiting the next time\n * `closingNotifier` emits.\n *\n * @example <caption>On every click, emit array of most recent interval events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var buffered = interval.buffer(clicks);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link window}\n *\n * @param {Observable<any>} closingNotifier An Observable that signals the\n * buffer to be emitted on the output Observable.\n * @return {Observable<T[]>} An Observable of buffers, which are arrays of\n * values.\n * @method buffer\n * @owner Observable\n */\nexport function buffer<T>(this: Observable<T>, closingNotifier: Observable<any>): Observable<T[]> {\n return higherOrder(closingNotifier)(this) as Observable<T[]>;\n}\n","\nimport { Observable } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { async } from '../scheduler/async';\nimport { debounceTime as higherOrder } from '../operators/debounceTime';\n\n/**\n * Emits a value from the source Observable only after a particular time span\n * has passed without another source emission.\n *\n * <span class=\"informal\">It's like {@link delay}, but passes only the most\n * recent value from each burst of emissions.</span>\n *\n * <img src=\"./img/debounceTime.png\" width=\"100%\">\n *\n * `debounceTime` delays values emitted by the source Observable, but drops\n * previous pending delayed emissions if a new value arrives on the source\n * Observable. This operator keeps track of the most recent value from the\n * source Observable, and emits that only when `dueTime` enough time has passed\n * without any other value appearing on the source Observable. If a new value\n * appears before `dueTime` silence occurs, the previous value will be dropped\n * and will not be emitted on the output Observable.\n *\n * This is a rate-limiting operator, because it is impossible for more than one\n * value to be emitted in any time window of duration `dueTime`, but it is also\n * a delay-like operator since output emissions do not occur at the same time as\n * they did on the source Observable. Optionally takes a {@link IScheduler} for\n * managing timers.\n *\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounceTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} dueTime The timeout duration in milliseconds (or the time\n * unit determined internally by the optional `scheduler`) for the window of\n * time required to wait for emission silence before emitting the most recent\n * source value.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the timeout for each value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified `dueTime`, and may drop some values if they occur\n * too frequently.\n * @method debounceTime\n * @owner Observable\n */\nexport function debounceTime<T>(this: Observable<T>, dueTime: number, scheduler: IScheduler = async): Observable<T> {\n return higherOrder(dueTime, scheduler)(this) as Observable<T>;\n}\n","\nimport { Observable } from '../Observable';\nimport { distinctUntilChanged as higherOrder } from '../operators/distinctUntilChanged';\n\n/* tslint:disable:max-line-length */\nexport function distinctUntilChanged<T>(this: Observable<T>, compare?: (x: T, y: T) => boolean): Observable<T>;\nexport function distinctUntilChanged<T, K>(this: Observable<T>, compare: (x: K, y: K) => boolean, keySelector: (x: T) => K): Observable<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example <caption>A simple example with numbers</caption>\n * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4)\n * .distinctUntilChanged()\n * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4\n *\n * @example <caption>An example using a compare function</caption>\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of<Person>(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * { age: 6, name: 'Foo'})\n * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinctUntilChanged\n * @owner Observable\n */\nexport function distinctUntilChanged<T, K>(this: Observable<T>, compare?: (x: K, y: K) => boolean, keySelector?: (x: T) => K): Observable<T> {\n return higherOrder(compare, keySelector)(this);\n}\n","import { AjaxObservable, AjaxCreationMethod } from './AjaxObservable';\n\nexport const ajax: AjaxCreationMethod = AjaxObservable.create;","import { EmptyObservable } from './EmptyObservable';\n\nexport const empty = EmptyObservable.create;","import { root } from '../util/root';\nimport { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { TeardownLogic } from '../Subscription';\nimport { Subscriber } from '../Subscriber';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class IteratorObservable<T> extends Observable<T> {\n private iterator: any;\n\n static create<T>(iterator: any, scheduler?: IScheduler): IteratorObservable<T> {\n return new IteratorObservable(iterator, scheduler);\n }\n\n static dispatch(state: any) {\n\n const { index, hasError, iterator, subscriber } = state;\n\n if (hasError) {\n subscriber.error(state.error);\n return;\n }\n\n let result = iterator.next();\n if (result.done) {\n subscriber.complete();\n return;\n }\n\n subscriber.next(result.value);\n state.index = index + 1;\n\n if (subscriber.closed) {\n if (typeof iterator.return === 'function') {\n iterator.return();\n }\n return;\n }\n\n (<any> this).schedule(state);\n }\n\n constructor(iterator: any, private scheduler?: IScheduler) {\n super();\n\n if (iterator == null) {\n throw new Error('iterator cannot be null.');\n }\n\n this.iterator = getIterator(iterator);\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): TeardownLogic {\n\n let index = 0;\n const { iterator, scheduler } = this;\n\n if (scheduler) {\n return scheduler.schedule(IteratorObservable.dispatch, 0, {\n index, iterator, subscriber\n });\n } else {\n do {\n let result = iterator.next();\n if (result.done) {\n subscriber.complete();\n break;\n } else {\n subscriber.next(result.value);\n }\n if (subscriber.closed) {\n if (typeof iterator.return === 'function') {\n iterator.return();\n }\n break;\n }\n } while (true);\n }\n }\n}\n\nclass StringIterator {\n constructor(private str: string,\n private idx: number = 0,\n private len: number = str.length) {\n }\n [Symbol_iterator]() { return (this); }\n next() {\n return this.idx < this.len ? {\n done: false,\n value: this.str.charAt(this.idx++)\n } : {\n done: true,\n value: undefined\n };\n }\n}\n\nclass ArrayIterator {\n constructor(private arr: Array<any>,\n private idx: number = 0,\n private len: number = toLength(arr)) {\n }\n [Symbol_iterator]() { return this; }\n next() {\n return this.idx < this.len ? {\n done: false,\n value: this.arr[this.idx++]\n } : {\n done: true,\n value: undefined\n };\n }\n}\n\nfunction getIterator(obj: any) {\n const i = obj[Symbol_iterator];\n if (!i && typeof obj === 'string') {\n return new StringIterator(obj);\n }\n if (!i && obj.length !== undefined) {\n return new ArrayIterator(obj);\n }\n if (!i) {\n throw new TypeError('object is not iterable');\n }\n return obj[Symbol_iterator]();\n}\n\nconst maxSafeInteger = Math.pow(2, 53) - 1;\n\nfunction toLength(o: any) {\n let len = +o.length;\n if (isNaN(len)) {\n return 0;\n }\n if (len === 0 || !numberIsFinite(len)) {\n return len;\n }\n len = sign(len) * Math.floor(Math.abs(len));\n if (len <= 0) {\n return 0;\n }\n if (len > maxSafeInteger) {\n return maxSafeInteger;\n }\n return len;\n}\n\nfunction numberIsFinite(value: any) {\n return typeof value === 'number' && root.isFinite(value);\n}\n\nfunction sign(value: any) {\n let valueAsNumber = +value;\n if (valueAsNumber === 0) {\n return valueAsNumber;\n }\n if (isNaN(valueAsNumber)) {\n return valueAsNumber;\n }\n return valueAsNumber < 0 ? -1 : 1;\n}\n","import { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { ScalarObservable } from './ScalarObservable';\nimport { EmptyObservable } from './EmptyObservable';\nimport { Subscriber } from '../Subscriber';\nimport { TeardownLogic } from '../Subscription';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class ArrayLikeObservable<T> extends Observable<T> {\n\n static create<T>(arrayLike: ArrayLike<T>, scheduler?: IScheduler): Observable<T> {\n const length = arrayLike.length;\n if (length === 0) {\n return new EmptyObservable<T>();\n } else if (length === 1) {\n return new ScalarObservable<T>(<any>arrayLike[0], scheduler);\n } else {\n return new ArrayLikeObservable(arrayLike, scheduler);\n }\n }\n\n static dispatch(state: any) {\n const { arrayLike, index, length, subscriber } = state;\n\n if (subscriber.closed) {\n return;\n }\n\n if (index >= length) {\n subscriber.complete();\n return;\n }\n\n subscriber.next(arrayLike[index]);\n\n state.index = index + 1;\n\n (<any> this).schedule(state);\n }\n\n // value used if Array has one value and _isScalar\n private value: any;\n\n constructor(private arrayLike: ArrayLike<T>, private scheduler?: IScheduler) {\n super();\n if (!scheduler && arrayLike.length === 1) {\n this._isScalar = true;\n this.value = arrayLike[0];\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<T>): TeardownLogic {\n let index = 0;\n const { arrayLike, scheduler } = this;\n const length = arrayLike.length;\n\n if (scheduler) {\n return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {\n arrayLike, index, length, subscriber\n });\n } else {\n for (let i = 0; i < length && !subscriber.closed; i++) {\n subscriber.next(arrayLike[i]);\n }\n subscriber.complete();\n }\n }\n}\n","import { IntervalObservable } from './IntervalObservable';\n\nexport const interval = IntervalObservable.create;","import { Subscriber } from '../Subscriber';\nimport { isNumeric } from '../util/isNumeric';\nimport { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class IntervalObservable extends Observable<number> {\n /**\n * Creates an Observable that emits sequential numbers every specified\n * interval of time, on a specified IScheduler.\n *\n * <span class=\"informal\">Emits incremental numbers periodically in time.\n * </span>\n *\n * <img src=\"./img/interval.png\" width=\"100%\">\n *\n * `interval` returns an Observable that emits an infinite sequence of\n * ascending integers, with a constant interval of time of your choosing\n * between those emissions. The first emission is not sent immediately, but\n * only after the first period has passed. By default, this operator uses the\n * `async` IScheduler to provide a notion of time, but you may pass any\n * IScheduler to it.\n *\n * @example <caption>Emits ascending numbers, one every second (1000ms)</caption>\n * var numbers = Rx.Observable.interval(1000);\n * numbers.subscribe(x => console.log(x));\n *\n * @see {@link timer}\n * @see {@link delay}\n *\n * @param {number} [period=0] The interval size in milliseconds (by default)\n * or the time unit determined by the scheduler's clock.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling\n * the emission of values, and providing a notion of \"time\".\n * @return {Observable} An Observable that emits a sequential number each time\n * interval.\n * @static true\n * @name interval\n * @owner Observable\n */\n static create(period: number = 0,\n scheduler: IScheduler = async): Observable<number> {\n return new IntervalObservable(period, scheduler);\n }\n\n static dispatch(state: any): void {\n const { index, subscriber, period } = state;\n\n subscriber.next(index);\n\n if (subscriber.closed) {\n return;\n }\n\n state.index += 1;\n\n (<any> this).schedule(state, period);\n }\n\n constructor(private period: number = 0,\n private scheduler: IScheduler = async) {\n super();\n if (!isNumeric(period) || period < 0) {\n this.period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n this.scheduler = async;\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<number>) {\n const index = 0;\n const period = this.period;\n const scheduler = this.scheduler;\n\n subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {\n index, subscriber, period\n }));\n }\n}\n","import { ErrorObservable } from './ErrorObservable';\n\nexport const _throw = ErrorObservable.create;","import { IScheduler } from '../Scheduler';\nimport { Observable } from '../Observable';\nimport { TeardownLogic } from '../Subscription';\nimport { Subscriber } from '../Subscriber';\n\nexport interface DispatchArg {\n error: any;\n subscriber: any;\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport class ErrorObservable extends Observable<any> {\n\n /**\n * Creates an Observable that emits no items to the Observer and immediately\n * emits an error notification.\n *\n * <span class=\"informal\">Just emits 'error', and nothing else.\n * </span>\n *\n * <img src=\"./img/throw.png\" width=\"100%\">\n *\n * This static operator is useful for creating a simple Observable that only\n * emits the error notification. It can be used for composing with other\n * Observables, such as in a {@link mergeMap}.\n *\n * @example <caption>Emit the number 7, then emit an error.</caption>\n * var result = Rx.Observable.throw(new Error('oops!')).startWith(7);\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n * @example <caption>Map and flatten numbers to the sequence 'a', 'b', 'c', but throw an error for 13</caption>\n * var interval = Rx.Observable.interval(1000);\n * var result = interval.mergeMap(x =>\n * x === 13 ?\n * Rx.Observable.throw('Thirteens are bad') :\n * Rx.Observable.of('a', 'b', 'c')\n * );\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n * @see {@link create}\n * @see {@link empty}\n * @see {@link never}\n * @see {@link of}\n *\n * @param {any} error The particular Error to pass to the error notification.\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emission of the error notification.\n * @return {Observable} An error Observable: emits only the error notification\n * using the given error argument.\n * @static true\n * @name throw\n * @owner Observable\n */\n static create(error: any, scheduler?: IScheduler): ErrorObservable {\n return new ErrorObservable(error, scheduler);\n }\n\n static dispatch(arg: DispatchArg) {\n const { error, subscriber } = arg;\n subscriber.error(error);\n }\n\n constructor(public error: any, private scheduler?: IScheduler) {\n super();\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber<any>): TeardownLogic {\n const error = this.error;\n const scheduler = this.scheduler;\n\n subscriber.syncErrorThrowable = true;\n\n if (scheduler) {\n return scheduler.schedule(ErrorObservable.dispatch, 0, {\n error, subscriber\n });\n } else {\n subscriber.error(error);\n }\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\n\nvar Event = /** @class */ (function () {\r\n function Event(type, target) {\r\n this.target = target;\r\n this.type = type;\r\n }\r\n return Event;\r\n}());\r\nvar ErrorEvent = /** @class */ (function (_super) {\r\n __extends(ErrorEvent, _super);\r\n function ErrorEvent(error, target) {\r\n var _this = _super.call(this, 'error', target) || this;\r\n _this.message = error.message;\r\n _this.error = error;\r\n return _this;\r\n }\r\n return ErrorEvent;\r\n}(Event));\r\nvar CloseEvent = /** @class */ (function (_super) {\r\n __extends(CloseEvent, _super);\r\n function CloseEvent(code, reason, target) {\r\n if (code === void 0) { code = 1000; }\r\n if (reason === void 0) { reason = ''; }\r\n var _this = _super.call(this, 'close', target) || this;\r\n _this.wasClean = true;\r\n _this.code = code;\r\n _this.reason = reason;\r\n return _this;\r\n }\r\n return CloseEvent;\r\n}(Event));\n\nvar getGlobalWebSocket = function () {\r\n if (typeof WebSocket !== 'undefined') {\r\n // @ts-ignore\r\n return WebSocket;\r\n }\r\n};\r\n/**\r\n * Returns true if given argument looks like a WebSocket class\r\n */\r\nvar isWebSocket = function (w) { return typeof w !== 'undefined' && !!w && w.CLOSING === 2; };\r\nvar DEFAULT = {\r\n maxReconnectionDelay: 10000,\r\n minReconnectionDelay: 1000 + Math.random() * 4000,\r\n minUptime: 5000,\r\n reconnectionDelayGrowFactor: 1.3,\r\n connectionTimeout: 4000,\r\n maxRetries: Infinity,\r\n maxEnqueuedMessages: Infinity,\r\n startClosed: false,\r\n debug: false,\r\n};\r\nvar ReconnectingWebSocket = /** @class */ (function () {\r\n function ReconnectingWebSocket(url, protocols, options) {\r\n var _this = this;\r\n if (options === void 0) { options = {}; }\r\n this._listeners = {\r\n error: [],\r\n message: [],\r\n open: [],\r\n close: [],\r\n };\r\n this._retryCount = -1;\r\n this._shouldReconnect = true;\r\n this._connectLock = false;\r\n this._binaryType = 'blob';\r\n this._closeCalled = false;\r\n this._messageQueue = [];\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED\r\n */\r\n this.onclose = undefined;\r\n /**\r\n * An event listener to be called when an error occurs\r\n */\r\n this.onerror = undefined;\r\n /**\r\n * An event listener to be called when a message is received from the server\r\n */\r\n this.onmessage = undefined;\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN;\r\n * this indicates that the connection is ready to send and receive data\r\n */\r\n this.onopen = undefined;\r\n this._handleOpen = function (event) {\r\n _this._debug('open event');\r\n var _a = _this._options.minUptime, minUptime = _a === void 0 ? DEFAULT.minUptime : _a;\r\n clearTimeout(_this._connectTimeout);\r\n _this._uptimeTimeout = setTimeout(function () { return _this._acceptOpen(); }, minUptime);\r\n // @ts-ignore\r\n _this._ws.binaryType = _this._binaryType;\r\n // send enqueued messages (messages sent before websocket open event)\r\n _this._messageQueue.forEach(function (message) { return _this._ws.send(message); });\r\n _this._messageQueue = [];\r\n if (_this.onopen) {\r\n _this.onopen(event);\r\n }\r\n _this._listeners.open.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleMessage = function (event) {\r\n _this._debug('message event');\r\n if (_this.onmessage) {\r\n _this.onmessage(event);\r\n }\r\n _this._listeners.message.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleError = function (event) {\r\n _this._debug('error event', event.message);\r\n _this._disconnect(undefined, event.message === 'TIMEOUT' ? 'timeout' : undefined);\r\n if (_this.onerror) {\r\n _this.onerror(event);\r\n }\r\n _this._debug('exec error listeners');\r\n _this._listeners.error.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n _this._connect();\r\n };\r\n this._handleClose = function (event) {\r\n _this._debug('close event');\r\n _this._clearTimeouts();\r\n if (_this._shouldReconnect) {\r\n _this._connect();\r\n }\r\n if (_this.onclose) {\r\n _this.onclose(event);\r\n }\r\n _this._listeners.close.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._url = url;\r\n this._protocols = protocols;\r\n this._options = options;\r\n if (this._options.startClosed) {\r\n this._shouldReconnect = false;\r\n }\r\n this._connect();\r\n }\r\n Object.defineProperty(ReconnectingWebSocket, \"CONNECTING\", {\r\n get: function () {\r\n return 0;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"OPEN\", {\r\n get: function () {\r\n return 1;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSING\", {\r\n get: function () {\r\n return 2;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSED\", {\r\n get: function () {\r\n return 3;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CONNECTING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"OPEN\", {\r\n get: function () {\r\n return ReconnectingWebSocket.OPEN;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSED\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSED;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"binaryType\", {\r\n get: function () {\r\n return this._ws ? this._ws.binaryType : this._binaryType;\r\n },\r\n set: function (value) {\r\n this._binaryType = value;\r\n if (this._ws) {\r\n // @ts-ignore\r\n this._ws.binaryType = value;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"retryCount\", {\r\n /**\r\n * Returns the number or connection retries\r\n */\r\n get: function () {\r\n return Math.max(this._retryCount, 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"bufferedAmount\", {\r\n /**\r\n * The number of bytes of data that have been queued using calls to send() but not yet\r\n * transmitted to the network. This value resets to zero once all queued data has been sent.\r\n * This value does not reset to zero when the connection is closed; if you keep calling send(),\r\n * this will continue to climb. Read only\r\n */\r\n get: function () {\r\n var bytes = this._messageQueue.reduce(function (acc, message) {\r\n if (typeof message === 'string') {\r\n acc += message.length; // not byte size\r\n }\r\n else if (message instanceof Blob) {\r\n acc += message.size;\r\n }\r\n else {\r\n acc += message.byteLength;\r\n }\r\n return acc;\r\n }, 0);\r\n return bytes + (this._ws ? this._ws.bufferedAmount : 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"extensions\", {\r\n /**\r\n * The extensions selected by the server. This is currently only the empty string or a list of\r\n * extensions as negotiated by the connection\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.extensions : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"protocol\", {\r\n /**\r\n * A string indicating the name of the sub-protocol the server selected;\r\n * this will be one of the strings specified in the protocols parameter when creating the\r\n * WebSocket object\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.protocol : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"readyState\", {\r\n /**\r\n * The current state of the connection; this is one of the Ready state constants\r\n */\r\n get: function () {\r\n if (this._ws) {\r\n return this._ws.readyState;\r\n }\r\n return this._options.startClosed\r\n ? ReconnectingWebSocket.CLOSED\r\n : ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"url\", {\r\n /**\r\n * The URL as resolved by the constructor\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.url : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Closes the WebSocket connection or connection attempt, if any. If the connection is already\r\n * CLOSED, this method does nothing\r\n */\r\n ReconnectingWebSocket.prototype.close = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._closeCalled = true;\r\n this._shouldReconnect = false;\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n this._debug('close enqueued: no ws instance');\r\n return;\r\n }\r\n if (this._ws.readyState === this.CLOSED) {\r\n this._debug('close: already closed');\r\n return;\r\n }\r\n this._ws.close(code, reason);\r\n };\r\n /**\r\n * Closes the WebSocket connection or connection attempt and connects again.\r\n * Resets retry counter;\r\n */\r\n ReconnectingWebSocket.prototype.reconnect = function (code, reason) {\r\n this._shouldReconnect = true;\r\n this._closeCalled = false;\r\n this._retryCount = -1;\r\n if (!this._ws || this._ws.readyState === this.CLOSED) {\r\n this._connect();\r\n }\r\n else {\r\n this._disconnect(code, reason);\r\n this._connect();\r\n }\r\n };\r\n /**\r\n * Enqueue specified data to be transmitted to the server over the WebSocket connection\r\n */\r\n ReconnectingWebSocket.prototype.send = function (data) {\r\n if (this._ws && this._ws.readyState === this.OPEN) {\r\n this._debug('send', data);\r\n this._ws.send(data);\r\n }\r\n else {\r\n var _a = this._options.maxEnqueuedMessages, maxEnqueuedMessages = _a === void 0 ? DEFAULT.maxEnqueuedMessages : _a;\r\n if (this._messageQueue.length < maxEnqueuedMessages) {\r\n this._debug('enqueue', data);\r\n this._messageQueue.push(data);\r\n }\r\n }\r\n };\r\n /**\r\n * Register an event handler of a specific event type\r\n */\r\n ReconnectingWebSocket.prototype.addEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type].push(listener);\r\n }\r\n };\r\n /**\r\n * Removes an event listener\r\n */\r\n ReconnectingWebSocket.prototype.removeEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type] = this._listeners[type].filter(function (l) { return l !== listener; });\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._debug = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (this._options.debug) {\r\n // not using spread because compiled version uses Symbols\r\n // tslint:disable-next-line\r\n console.log.apply(console, __spread(['RWS>'], args));\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._getNextDelay = function () {\r\n var _a = this._options, _b = _a.reconnectionDelayGrowFactor, reconnectionDelayGrowFactor = _b === void 0 ? DEFAULT.reconnectionDelayGrowFactor : _b, _c = _a.minReconnectionDelay, minReconnectionDelay = _c === void 0 ? DEFAULT.minReconnectionDelay : _c, _d = _a.maxReconnectionDelay, maxReconnectionDelay = _d === void 0 ? DEFAULT.maxReconnectionDelay : _d;\r\n var delay = 0;\r\n if (this._retryCount > 0) {\r\n delay =\r\n minReconnectionDelay * Math.pow(reconnectionDelayGrowFactor, this._retryCount - 1);\r\n if (delay > maxReconnectionDelay) {\r\n delay = maxReconnectionDelay;\r\n }\r\n }\r\n this._debug('next delay', delay);\r\n return delay;\r\n };\r\n ReconnectingWebSocket.prototype._wait = function () {\r\n var _this = this;\r\n return new Promise(function (resolve) {\r\n setTimeout(resolve, _this._getNextDelay());\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._getNextUrl = function (urlProvider) {\r\n if (typeof urlProvider === 'string') {\r\n return Promise.resolve(urlProvider);\r\n }\r\n if (typeof urlProvider === 'function') {\r\n var url = urlProvider();\r\n if (typeof url === 'string') {\r\n return Promise.resolve(url);\r\n }\r\n if (url.then) {\r\n return url;\r\n }\r\n }\r\n throw Error('Invalid URL');\r\n };\r\n ReconnectingWebSocket.prototype._connect = function () {\r\n var _this = this;\r\n if (this._connectLock || !this._shouldReconnect) {\r\n return;\r\n }\r\n this._connectLock = true;\r\n var _a = this._options, _b = _a.maxRetries, maxRetries = _b === void 0 ? DEFAULT.maxRetries : _b, _c = _a.connectionTimeout, connectionTimeout = _c === void 0 ? DEFAULT.connectionTimeout : _c, _d = _a.WebSocket, WebSocket = _d === void 0 ? getGlobalWebSocket() : _d;\r\n if (this._retryCount >= maxRetries) {\r\n this._debug('max retries reached', this._retryCount, '>=', maxRetries);\r\n return;\r\n }\r\n this._retryCount++;\r\n this._debug('connect', this._retryCount);\r\n this._removeListeners();\r\n if (!isWebSocket(WebSocket)) {\r\n throw Error('No valid WebSocket class provided');\r\n }\r\n this._wait()\r\n .then(function () { return _this._getNextUrl(_this._url); })\r\n .then(function (url) {\r\n // close could be called before creating the ws\r\n if (_this._closeCalled) {\r\n return;\r\n }\r\n _this._debug('connect', { url: url, protocols: _this._protocols });\r\n _this._ws = _this._protocols\r\n ? new WebSocket(url, _this._protocols)\r\n : new WebSocket(url);\r\n // @ts-ignore\r\n _this._ws.binaryType = _this._binaryType;\r\n _this._connectLock = false;\r\n _this._addListeners();\r\n _this._connectTimeout = setTimeout(function () { return _this._handleTimeout(); }, connectionTimeout);\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._handleTimeout = function () {\r\n this._debug('timeout event');\r\n this._handleError(new ErrorEvent(Error('TIMEOUT'), this));\r\n };\r\n ReconnectingWebSocket.prototype._disconnect = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._removeListeners();\r\n try {\r\n this._ws.close(code, reason);\r\n this._handleClose(new CloseEvent(code, reason, this));\r\n }\r\n catch (error) {\r\n // ignore\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._acceptOpen = function () {\r\n this._debug('accept open');\r\n this._retryCount = 0;\r\n };\r\n ReconnectingWebSocket.prototype._callEventListener = function (event, listener) {\r\n if ('handleEvent' in listener) {\r\n // @ts-ignore\r\n listener.handleEvent(event);\r\n }\r\n else {\r\n // @ts-ignore\r\n listener(event);\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._removeListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('removeListeners');\r\n this._ws.removeEventListener('open', this._handleOpen);\r\n this._ws.removeEventListener('close', this._handleClose);\r\n this._ws.removeEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.removeEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._addListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('addListeners');\r\n this._ws.addEventListener('open', this._handleOpen);\r\n this._ws.addEventListener('close', this._handleClose);\r\n this._ws.addEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.addEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._clearTimeouts = function () {\r\n clearTimeout(this._connectTimeout);\r\n clearTimeout(this._uptimeTimeout);\r\n };\r\n return ReconnectingWebSocket;\r\n}());\n\nexport default ReconnectingWebSocket;\n","// THIS FILE IS GENERATED - DO NOT EDIT!\n/*!mobile-detect v1.4.5 2021-03-13*/\n/*global module:false, define:false*/\n/*jshint latedef:false*/\n/*!@license Copyright 2013, Heinrich Goebl, License: MIT, see https://github.com/hgoebl/mobile-detect.js*/\n(function (define, undefined) {\ndefine(function () {\n 'use strict';\n\n var impl = {};\n\n impl.mobileDetectRules = {\n \"phones\": {\n \"iPhone\": \"\\\\biPhone\\\\b|\\\\biPod\\\\b\",\n \"BlackBerry\": \"BlackBerry|\\\\bBB10\\\\b|rim[0-9]+|\\\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\\\b-[0-9]+\",\n \"Pixel\": \"; \\\\bPixel\\\\b\",\n \"HTC\": \"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\\\bEVO\\\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel\",\n \"Nexus\": \"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 5X|Nexus 6\",\n \"Dell\": \"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\\\b001DL\\\\b|\\\\b101DL\\\\b|\\\\bGS01\\\\b\",\n \"Motorola\": \"Motorola|DROIDX|DROID BIONIC|\\\\bDroid\\\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\\\bMoto E\\\\b|XT1068|XT1092|XT1052\",\n \"Samsung\": \"\\\\bSamsung\\\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F|SM-G610F|SM-G981B|SM-G892A|SM-A530F\",\n \"LG\": \"\\\\bLG\\\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)|LM-G710\",\n \"Sony\": \"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533|SOV34|601SO|F8332\",\n \"Asus\": \"Asus.*Galaxy|PadFone.*Mobile\",\n \"Xiaomi\": \"^(?!.*\\\\bx11\\\\b).*xiaomi.*$|POCOPHONE F1|MI 8|Redmi Note 9S|Redmi Note 5A Prime|N2G47H|M2001J2G|M2001J2I|M1805E10A|M2004J11G|M1902F1G|M2002J9G|M2004J19G|M2003J6A1G\",\n \"NokiaLumia\": \"Lumia [0-9]{3,4}\",\n \"Micromax\": \"Micromax.*\\\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\\\b\",\n \"Palm\": \"PalmSource|Palm\",\n \"Vertu\": \"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature\",\n \"Pantech\": \"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790\",\n \"Fly\": \"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250\",\n \"Wiko\": \"KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM\",\n \"iMobile\": \"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)\",\n \"SimValley\": \"\\\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\\\b\",\n \"Wolfgang\": \"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q\",\n \"Alcatel\": \"Alcatel\",\n \"Nintendo\": \"Nintendo (3DS|Switch)\",\n \"Amoi\": \"Amoi\",\n \"INQ\": \"INQ\",\n \"OnePlus\": \"ONEPLUS\",\n \"GenericPhone\": \"Tapatalk|PDA;|SAGEM|\\\\bmmp\\\\b|pocket|\\\\bpsp\\\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\\\bwap\\\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser\"\n },\n \"tablets\": {\n \"iPad\": \"iPad|iPad.*Mobile\",\n \"NexusTablet\": \"Android.*Nexus[\\\\s]+(7|9|10)\",\n \"GoogleTablet\": \"Android.*Pixel C\",\n \"SamsungTablet\": \"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V|SM-P610|SM-T290|SM-T515|SM-T590|SM-T595|SM-T725|SM-T817P|SM-P585N0|SM-T395|SM-T295|SM-T865|SM-P610N|SM-P615|SM-T970|SM-T380|SM-T5950|SM-T905|SM-T231|SM-T500|SM-T860\",\n \"Kindle\": \"Kindle|Silk.*Accelerated|Android.*\\\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\\\b|Android.*Silk\\/[0-9.]+ like Chrome\\/[0-9.]+ (?!Mobile)\",\n \"SurfaceTablet\": \"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)\",\n \"HPTablet\": \"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10\",\n \"AsusTablet\": \"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\\\bK00F\\\\b|\\\\bK00C\\\\b|\\\\bK00E\\\\b|\\\\bK00L\\\\b|TX201LA|ME176C|ME102A|\\\\bM80TA\\\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\\\bME70C\\\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\\\bP027\\\\b|\\\\bP024\\\\b|\\\\bP00C\\\\b\",\n \"BlackBerryTablet\": \"PlayBook|RIM Tablet\",\n \"HTCtablet\": \"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410\",\n \"MotorolaTablet\": \"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617\",\n \"NookTablet\": \"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2\",\n \"AcerTablet\": \"Android.*; \\\\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\\\b|W3-810|\\\\bA3-A10\\\\b|\\\\bA3-A11\\\\b|\\\\bA3-A20\\\\b|\\\\bA3-A30|A3-A40\",\n \"ToshibaTablet\": \"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO\",\n \"LGTablet\": \"\\\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\\\b\",\n \"FujitsuTablet\": \"Android.*\\\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\\\b\",\n \"PrestigioTablet\": \"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002\",\n \"LenovoTablet\": \"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X|TB-X704F|TB-X104F|TB3-X70F|TB-X705F|TB-8504F|TB3-X70L|TB3-710F|TB-X704L\",\n \"DellTablet\": \"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7\",\n \"YarvikTablet\": \"Android.*\\\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\\\b\",\n \"MedionTablet\": \"Android.*\\\\bOYO\\\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB\",\n \"ArnovaTablet\": \"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2\",\n \"IntensoTablet\": \"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004\",\n \"IRUTablet\": \"M702pro\",\n \"MegafonTablet\": \"MegaFon V9|\\\\bZTE V9\\\\b|Android.*\\\\bMT7A\\\\b\",\n \"EbodaTablet\": \"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)\",\n \"AllViewTablet\": \"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)\",\n \"ArchosTablet\": \"\\\\b(101G9|80G9|A101IT)\\\\b|Qilive 97R|Archos5|\\\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\\\b\",\n \"AinolTablet\": \"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark\",\n \"NokiaLumiaTablet\": \"Lumia 2520\",\n \"SonyTablet\": \"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712\",\n \"PhilipsTablet\": \"\\\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\\\b\",\n \"CubeTablet\": \"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT\",\n \"CobyTablet\": \"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010\",\n \"MIDTablet\": \"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10\",\n \"MSITablet\": \"MSI \\\\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\\\b\",\n \"SMiTTablet\": \"Android.*(\\\\bMID\\\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)\",\n \"RockChipTablet\": \"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A\",\n \"FlyTablet\": \"IQ310|Fly Vision\",\n \"bqTablet\": \"Android.*(bq)?.*\\\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\\\b|Maxwell.*Lite|Maxwell.*Plus\",\n \"HuaweiTablet\": \"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19\",\n \"NecTablet\": \"\\\\bN-06D|\\\\bN-08D\",\n \"PantechTablet\": \"Pantech.*P4100\",\n \"BronchoTablet\": \"Broncho.*(N701|N708|N802|a710)\",\n \"VersusTablet\": \"TOUCHPAD.*[78910]|\\\\bTOUCHTAB\\\\b\",\n \"ZyncTablet\": \"z1000|Z99 2G|z930|z990|z909|Z919|z900\",\n \"PositivoTablet\": \"TB07STA|TB10STA|TB07FTA|TB10FTA\",\n \"NabiTablet\": \"Android.*\\\\bNabi\",\n \"KoboTablet\": \"Kobo Touch|\\\\bK080\\\\b|\\\\bVox\\\\b Build|\\\\bArc\\\\b Build\",\n \"DanewTablet\": \"DSlide.*\\\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\\\b\",\n \"TexetTablet\": \"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE\",\n \"PlaystationTablet\": \"Playstation.*(Portable|Vita)\",\n \"TrekstorTablet\": \"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab\",\n \"PyleAudioTablet\": \"\\\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\\\b\",\n \"AdvanTablet\": \"Android.* \\\\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\\\b \",\n \"DanyTechTablet\": \"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1\",\n \"GalapadTablet\": \"Android [0-9.]+; [a-z-]+; \\\\bG1\\\\b\",\n \"MicromaxTablet\": \"Funbook|Micromax.*\\\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\\\b\",\n \"KarbonnTablet\": \"Android.*\\\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\\\b\",\n \"AllFineTablet\": \"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide\",\n \"PROSCANTablet\": \"\\\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\\\b\",\n \"YONESTablet\": \"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026\",\n \"ChangJiaTablet\": \"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503\",\n \"GUTablet\": \"TX-A1301|TX-M9002|Q702|kf026\",\n \"PointOfViewTablet\": \"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10\",\n \"OvermaxTablet\": \"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027\",\n \"HCLTablet\": \"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync\",\n \"DPSTablet\": \"DPS Dream 9|DPS Dual 7\",\n \"VistureTablet\": \"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10\",\n \"CrestaTablet\": \"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989\",\n \"MediatekTablet\": \"\\\\bMT8125|MT8389|MT8135|MT8377\\\\b\",\n \"ConcordeTablet\": \"Concorde([ ]+)?Tab|ConCorde ReadMan\",\n \"GoCleverTablet\": \"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042\",\n \"ModecomTablet\": \"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003\",\n \"VoninoTablet\": \"\\\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\\\bQ8\\\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\\\b\",\n \"ECSTablet\": \"V07OT2|TM105A|S10OT1|TR10CS1\",\n \"StorexTablet\": \"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab\",\n \"VodafoneTablet\": \"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400\",\n \"EssentielBTablet\": \"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2\",\n \"RossMoorTablet\": \"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711\",\n \"iMobileTablet\": \"i-mobile i-note\",\n \"TolinoTablet\": \"tolino tab [0-9.]+|tolino shine\",\n \"AudioSonicTablet\": \"\\\\bC-22Q|T7-QC|T-17B|T-17P\\\\b\",\n \"AMPETablet\": \"Android.* A78 \",\n \"SkkTablet\": \"Android.* (SKYPAD|PHOENIX|CYCLOPS)\",\n \"TecnoTablet\": \"TECNO P9|TECNO DP8D\",\n \"JXDTablet\": \"Android.* \\\\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\\\b\",\n \"iJoyTablet\": \"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)\",\n \"FX2Tablet\": \"FX2 PAD7|FX2 PAD10\",\n \"XoroTablet\": \"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151\",\n \"ViewsonicTablet\": \"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a\",\n \"VerizonTablet\": \"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1\",\n \"OdysTablet\": \"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\\\bXELIO\\\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10\",\n \"CaptivaTablet\": \"CAPTIVA PAD\",\n \"IconbitTablet\": \"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S\",\n \"TeclastTablet\": \"T98 4G|\\\\bP80\\\\b|\\\\bX90HD\\\\b|X98 Air|X98 Air 3G|\\\\bX89\\\\b|P80 3G|\\\\bX80h\\\\b|P98 Air|\\\\bX89HD\\\\b|P98 3G|\\\\bP90HD\\\\b|P89 3G|X98 3G|\\\\bP70h\\\\b|P79HD 3G|G18d 3G|\\\\bP79HD\\\\b|\\\\bP89s\\\\b|\\\\bA88\\\\b|\\\\bP10HD\\\\b|\\\\bP19HD\\\\b|G18 3G|\\\\bP78HD\\\\b|\\\\bA78\\\\b|\\\\bP75\\\\b|G17s 3G|G17h 3G|\\\\bP85t\\\\b|\\\\bP90\\\\b|\\\\bP11\\\\b|\\\\bP98t\\\\b|\\\\bP98HD\\\\b|\\\\bG18d\\\\b|\\\\bP85s\\\\b|\\\\bP11HD\\\\b|\\\\bP88s\\\\b|\\\\bA80HD\\\\b|\\\\bA80se\\\\b|\\\\bA10h\\\\b|\\\\bP89\\\\b|\\\\bP78s\\\\b|\\\\bG18\\\\b|\\\\bP85\\\\b|\\\\bA70h\\\\b|\\\\bA70\\\\b|\\\\bG17\\\\b|\\\\bP18\\\\b|\\\\bA80s\\\\b|\\\\bA11s\\\\b|\\\\bP88HD\\\\b|\\\\bA80h\\\\b|\\\\bP76s\\\\b|\\\\bP76h\\\\b|\\\\bP98\\\\b|\\\\bA10HD\\\\b|\\\\bP78\\\\b|\\\\bP88\\\\b|\\\\bA11\\\\b|\\\\bA10t\\\\b|\\\\bP76a\\\\b|\\\\bP76t\\\\b|\\\\bP76e\\\\b|\\\\bP85HD\\\\b|\\\\bP85a\\\\b|\\\\bP86\\\\b|\\\\bP75HD\\\\b|\\\\bP76v\\\\b|\\\\bA12\\\\b|\\\\bP75a\\\\b|\\\\bA15\\\\b|\\\\bP76Ti\\\\b|\\\\bP81HD\\\\b|\\\\bA10\\\\b|\\\\bT760VE\\\\b|\\\\bT720HD\\\\b|\\\\bP76\\\\b|\\\\bP73\\\\b|\\\\bP71\\\\b|\\\\bP72\\\\b|\\\\bT720SE\\\\b|\\\\bC520Ti\\\\b|\\\\bT760\\\\b|\\\\bT720VE\\\\b|T720-3GE|T720-WiFi\",\n \"OndaTablet\": \"\\\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\\\b[\\\\s]+|V10 \\\\b4G\\\\b\",\n \"JaytechTablet\": \"TPC-PA762\",\n \"BlaupunktTablet\": \"Endeavour 800NG|Endeavour 1010\",\n \"DigmaTablet\": \"\\\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\\\b\",\n \"EvolioTablet\": \"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\\\bEvotab\\\\b|\\\\bNeura\\\\b\",\n \"LavaTablet\": \"QPAD E704|\\\\bIvoryS\\\\b|E-TAB IVORY|\\\\bE-TAB\\\\b\",\n \"AocTablet\": \"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712\",\n \"MpmanTablet\": \"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\\\bMPG7\\\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010\",\n \"CelkonTablet\": \"CT695|CT888|CT[\\\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\\\bCT-1\\\\b\",\n \"WolderTablet\": \"miTab \\\\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\\\b\",\n \"MediacomTablet\": \"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA\",\n \"MiTablet\": \"\\\\bMI PAD\\\\b|\\\\bHM NOTE 1W\\\\b\",\n \"NibiruTablet\": \"Nibiru M1|Nibiru Jupiter One\",\n \"NexoTablet\": \"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI\",\n \"LeaderTablet\": \"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100\",\n \"UbislateTablet\": \"UbiSlate[\\\\s]?7C\",\n \"PocketBookTablet\": \"Pocketbook\",\n \"KocasoTablet\": \"\\\\b(TB-1207)\\\\b\",\n \"HisenseTablet\": \"\\\\b(F5281|E2371)\\\\b\",\n \"Hudl\": \"Hudl HT7S3|Hudl 2\",\n \"TelstraTablet\": \"T-Hub2\",\n \"GenericTablet\": \"Android.*\\\\b97D\\\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\\\bA7EB\\\\b|CatNova8|A1_07|CT704|CT1002|\\\\bM721\\\\b|rk30sdk|\\\\bEVOTAB\\\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\\\bM6pro\\\\b|CT1020W|arc 10HD|\\\\bTP750\\\\b|\\\\bQTAQZ3\\\\b|WVT101|TM1088|KT107\"\n },\n \"oss\": {\n \"AndroidOS\": \"Android\",\n \"BlackBerryOS\": \"blackberry|\\\\bBB10\\\\b|rim tablet os\",\n \"PalmOS\": \"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino\",\n \"SymbianOS\": \"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\\\bS60\\\\b\",\n \"WindowsMobileOS\": \"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;\",\n \"WindowsPhoneOS\": \"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;\",\n \"iOS\": \"\\\\biPhone.*Mobile|\\\\biPod|\\\\biPad|AppleCoreMedia\",\n \"iPadOS\": \"CPU OS 13\",\n \"SailfishOS\": \"Sailfish\",\n \"MeeGoOS\": \"MeeGo\",\n \"MaemoOS\": \"Maemo\",\n \"JavaOS\": \"J2ME\\/|\\\\bMIDP\\\\b|\\\\bCLDC\\\\b\",\n \"webOS\": \"webOS|hpwOS\",\n \"badaOS\": \"\\\\bBada\\\\b\",\n \"BREWOS\": \"BREW\"\n },\n \"uas\": {\n \"Chrome\": \"\\\\bCrMo\\\\b|CriOS|Android.*Chrome\\/[.0-9]* (Mobile)?\",\n \"Dolfin\": \"\\\\bDolfin\\\\b\",\n \"Opera\": \"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\\/[0-9.]+$|Coast\\/[0-9.]+\",\n \"Skyfire\": \"Skyfire\",\n \"Edge\": \"\\\\bEdgiOS\\\\b|Mobile Safari\\/[.0-9]* Edge\",\n \"IE\": \"IEMobile|MSIEMobile\",\n \"Firefox\": \"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS\",\n \"Bolt\": \"bolt\",\n \"TeaShark\": \"teashark\",\n \"Blazer\": \"Blazer\",\n \"Safari\": \"Version((?!\\\\bEdgiOS\\\\b).)*Mobile.*Safari|Safari.*Mobile|MobileSafari\",\n \"WeChat\": \"\\\\bMicroMessenger\\\\b\",\n \"UCBrowser\": \"UC.*Browser|UCWEB\",\n \"baiduboxapp\": \"baiduboxapp\",\n \"baidubrowser\": \"baidubrowser\",\n \"DiigoBrowser\": \"DiigoBrowser\",\n \"Mercury\": \"\\\\bMercury\\\\b\",\n \"ObigoBrowser\": \"Obigo\",\n \"NetFront\": \"NF-Browser\",\n \"GenericBrowser\": \"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger\",\n \"PaleMoon\": \"Android.*PaleMoon|Mobile.*PaleMoon\"\n },\n \"props\": {\n \"Mobile\": \"Mobile\\/[VER]\",\n \"Build\": \"Build\\/[VER]\",\n \"Version\": \"Version\\/[VER]\",\n \"VendorID\": \"VendorID\\/[VER]\",\n \"iPad\": \"iPad.*CPU[a-z ]+[VER]\",\n \"iPhone\": \"iPhone.*CPU[a-z ]+[VER]\",\n \"iPod\": \"iPod.*CPU[a-z ]+[VER]\",\n \"Kindle\": \"Kindle\\/[VER]\",\n \"Chrome\": [\n \"Chrome\\/[VER]\",\n \"CriOS\\/[VER]\",\n \"CrMo\\/[VER]\"\n ],\n \"Coast\": [\n \"Coast\\/[VER]\"\n ],\n \"Dolfin\": \"Dolfin\\/[VER]\",\n \"Firefox\": [\n \"Firefox\\/[VER]\",\n \"FxiOS\\/[VER]\"\n ],\n \"Fennec\": \"Fennec\\/[VER]\",\n \"Edge\": \"Edge\\/[VER]\",\n \"IE\": [\n \"IEMobile\\/[VER];\",\n \"IEMobile [VER]\",\n \"MSIE [VER];\",\n \"Trident\\/[0-9.]+;.*rv:[VER]\"\n ],\n \"NetFront\": \"NetFront\\/[VER]\",\n \"NokiaBrowser\": \"NokiaBrowser\\/[VER]\",\n \"Opera\": [\n \" OPR\\/[VER]\",\n \"Opera Mini\\/[VER]\",\n \"Version\\/[VER]\"\n ],\n \"Opera Mini\": \"Opera Mini\\/[VER]\",\n \"Opera Mobi\": \"Version\\/[VER]\",\n \"UCBrowser\": [\n \"UCWEB[VER]\",\n \"UC.*Browser\\/[VER]\"\n ],\n \"MQQBrowser\": \"MQQBrowser\\/[VER]\",\n \"MicroMessenger\": \"MicroMessenger\\/[VER]\",\n \"baiduboxapp\": \"baiduboxapp\\/[VER]\",\n \"baidubrowser\": \"baidubrowser\\/[VER]\",\n \"SamsungBrowser\": \"SamsungBrowser\\/[VER]\",\n \"Iron\": \"Iron\\/[VER]\",\n \"Safari\": [\n \"Version\\/[VER]\",\n \"Safari\\/[VER]\"\n ],\n \"Skyfire\": \"Skyfire\\/[VER]\",\n \"Tizen\": \"Tizen\\/[VER]\",\n \"Webkit\": \"webkit[ \\/][VER]\",\n \"PaleMoon\": \"PaleMoon\\/[VER]\",\n \"SailfishBrowser\": \"SailfishBrowser\\/[VER]\",\n \"Gecko\": \"Gecko\\/[VER]\",\n \"Trident\": \"Trident\\/[VER]\",\n \"Presto\": \"Presto\\/[VER]\",\n \"Goanna\": \"Goanna\\/[VER]\",\n \"iOS\": \" \\\\bi?OS\\\\b [VER][ ;]{1}\",\n \"Android\": \"Android [VER]\",\n \"Sailfish\": \"Sailfish [VER]\",\n \"BlackBerry\": [\n \"BlackBerry[\\\\w]+\\/[VER]\",\n \"BlackBerry.*Version\\/[VER]\",\n \"Version\\/[VER]\"\n ],\n \"BREW\": \"BREW [VER]\",\n \"Java\": \"Java\\/[VER]\",\n \"Windows Phone OS\": [\n \"Windows Phone OS [VER]\",\n \"Windows Phone [VER]\"\n ],\n \"Windows Phone\": \"Windows Phone [VER]\",\n \"Windows CE\": \"Windows CE\\/[VER]\",\n \"Windows NT\": \"Windows NT [VER]\",\n \"Symbian\": [\n \"SymbianOS\\/[VER]\",\n \"Symbian\\/[VER]\"\n ],\n \"webOS\": [\n \"webOS\\/[VER]\",\n \"hpwOS\\/[VER];\"\n ]\n },\n \"utils\": {\n \"Bot\": \"Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom|contentkingapp|AspiegelBot\",\n \"MobileBot\": \"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\\/M1A1-R2D2\",\n \"DesktopMode\": \"WPDesktop\",\n \"TV\": \"SonyDTV|HbbTV\",\n \"WebKit\": \"(webkit)[ \\/]([\\\\w.]+)\",\n \"Console\": \"\\\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\\\b\",\n \"Watch\": \"SM-V700\"\n }\n};\n\n // following patterns come from http://detectmobilebrowsers.com/\n impl.detectMobileBrowsers = {\n fullPattern: /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,\n shortPattern: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i,\n tabletPattern: /android|ipad|playbook|silk/i\n };\n\n var hasOwnProp = Object.prototype.hasOwnProperty,\n isArray;\n\n impl.FALLBACK_PHONE = 'UnknownPhone';\n impl.FALLBACK_TABLET = 'UnknownTablet';\n impl.FALLBACK_MOBILE = 'UnknownMobile';\n\n isArray = ('isArray' in Array) ?\n Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; };\n\n function equalIC(a, b) {\n return a != null && b != null && a.toLowerCase() === b.toLowerCase();\n }\n\n function containsIC(array, value) {\n var valueLC, i, len = array.length;\n if (!len || !value) {\n return false;\n }\n valueLC = value.toLowerCase();\n for (i = 0; i < len; ++i) {\n if (valueLC === array[i].toLowerCase()) {\n return true;\n }\n }\n return false;\n }\n\n function convertPropsToRegExp(object) {\n for (var key in object) {\n if (hasOwnProp.call(object, key)) {\n object[key] = new RegExp(object[key], 'i');\n }\n }\n }\n\n function prepareUserAgent(userAgent) {\n return (userAgent || '').substr(0, 500); // mitigate vulnerable to ReDoS\n }\n\n (function init() {\n var key, values, value, i, len, verPos, mobileDetectRules = impl.mobileDetectRules;\n for (key in mobileDetectRules.props) {\n if (hasOwnProp.call(mobileDetectRules.props, key)) {\n values = mobileDetectRules.props[key];\n if (!isArray(values)) {\n values = [values];\n }\n len = values.length;\n for (i = 0; i < len; ++i) {\n value = values[i];\n verPos = value.indexOf('[VER]');\n if (verPos >= 0) {\n value = value.substring(0, verPos) + '([\\\\w._\\\\+]+)' + value.substring(verPos + 5);\n }\n values[i] = new RegExp(value, 'i');\n }\n mobileDetectRules.props[key] = values;\n }\n }\n convertPropsToRegExp(mobileDetectRules.oss);\n convertPropsToRegExp(mobileDetectRules.phones);\n convertPropsToRegExp(mobileDetectRules.tablets);\n convertPropsToRegExp(mobileDetectRules.uas);\n convertPropsToRegExp(mobileDetectRules.utils);\n\n // copy some patterns to oss0 which are tested first (see issue#15)\n mobileDetectRules.oss0 = {\n WindowsPhoneOS: mobileDetectRules.oss.WindowsPhoneOS,\n WindowsMobileOS: mobileDetectRules.oss.WindowsMobileOS\n };\n }());\n\n /**\n * Test userAgent string against a set of rules and find the first matched key.\n * @param {Object} rules (key is String, value is RegExp)\n * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').\n * @returns {String|null} the matched key if found, otherwise <tt>null</tt>\n * @private\n */\n impl.findMatch = function(rules, userAgent) {\n for (var key in rules) {\n if (hasOwnProp.call(rules, key)) {\n if (rules[key].test(userAgent)) {\n return key;\n }\n }\n }\n return null;\n };\n\n /**\n * Test userAgent string against a set of rules and return an array of matched keys.\n * @param {Object} rules (key is String, value is RegExp)\n * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').\n * @returns {Array} an array of matched keys, may be empty when there is no match, but not <tt>null</tt>\n * @private\n */\n impl.findMatches = function(rules, userAgent) {\n var result = [];\n for (var key in rules) {\n if (hasOwnProp.call(rules, key)) {\n if (rules[key].test(userAgent)) {\n result.push(key);\n }\n }\n }\n return result;\n };\n\n /**\n * Check the version of the given property in the User-Agent.\n *\n * @param {String} propertyName\n * @param {String} userAgent\n * @return {String} version or <tt>null</tt> if version not found\n * @private\n */\n impl.getVersionStr = function (propertyName, userAgent) {\n var props = impl.mobileDetectRules.props, patterns, i, len, match;\n if (hasOwnProp.call(props, propertyName)) {\n patterns = props[propertyName];\n len = patterns.length;\n for (i = 0; i < len; ++i) {\n match = patterns[i].exec(userAgent);\n if (match !== null) {\n return match[1];\n }\n }\n }\n return null;\n };\n\n /**\n * Check the version of the given property in the User-Agent.\n * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)\n *\n * @param {String} propertyName\n * @param {String} userAgent\n * @return {Number} version or <tt>NaN</tt> if version not found\n * @private\n */\n impl.getVersion = function (propertyName, userAgent) {\n var version = impl.getVersionStr(propertyName, userAgent);\n return version ? impl.prepareVersionNo(version) : NaN;\n };\n\n /**\n * Prepare the version number.\n *\n * @param {String} version\n * @return {Number} the version number as a floating number\n * @private\n */\n impl.prepareVersionNo = function (version) {\n var numbers;\n\n numbers = version.split(/[a-z._ \\/\\-]/i);\n if (numbers.length === 1) {\n version = numbers[0];\n }\n if (numbers.length > 1) {\n version = numbers[0] + '.';\n numbers.shift();\n version += numbers.join('');\n }\n return Number(version);\n };\n\n impl.isMobileFallback = function (userAgent) {\n return impl.detectMobileBrowsers.fullPattern.test(userAgent) ||\n impl.detectMobileBrowsers.shortPattern.test(userAgent.substr(0,4));\n };\n\n impl.isTabletFallback = function (userAgent) {\n return impl.detectMobileBrowsers.tabletPattern.test(userAgent);\n };\n\n impl.prepareDetectionCache = function (cache, userAgent, maxPhoneWidth) {\n if (cache.mobile !== undefined) {\n return;\n }\n var phone, tablet, phoneSized;\n\n // first check for stronger tablet rules, then phone (see issue#5)\n tablet = impl.findMatch(impl.mobileDetectRules.tablets, userAgent);\n if (tablet) {\n cache.mobile = cache.tablet = tablet;\n cache.phone = null;\n return; // unambiguously identified as tablet\n }\n\n phone = impl.findMatch(impl.mobileDetectRules.phones, userAgent);\n if (phone) {\n cache.mobile = cache.phone = phone;\n cache.tablet = null;\n return; // unambiguously identified as phone\n }\n\n // our rules haven't found a match -> try more general fallback rules\n if (impl.isMobileFallback(userAgent)) {\n phoneSized = MobileDetect.isPhoneSized(maxPhoneWidth);\n if (phoneSized === undefined) {\n cache.mobile = impl.FALLBACK_MOBILE;\n cache.tablet = cache.phone = null;\n } else if (phoneSized) {\n cache.mobile = cache.phone = impl.FALLBACK_PHONE;\n cache.tablet = null;\n } else {\n cache.mobile = cache.tablet = impl.FALLBACK_TABLET;\n cache.phone = null;\n }\n } else if (impl.isTabletFallback(userAgent)) {\n cache.mobile = cache.tablet = impl.FALLBACK_TABLET;\n cache.phone = null;\n } else {\n // not mobile at all!\n cache.mobile = cache.tablet = cache.phone = null;\n }\n };\n\n // t is a reference to a MobileDetect instance\n impl.mobileGrade = function (t) {\n // impl note:\n // To keep in sync w/ Mobile_Detect.php easily, the following code is tightly aligned to the PHP version.\n // When changes are made in Mobile_Detect.php, copy this method and replace:\n // $this-> / t.\n // self::MOBILE_GRADE_(.) / '$1'\n // , self::VERSION_TYPE_FLOAT / (nothing)\n // isIOS() / os('iOS')\n // [reg] / (nothing) <-- jsdelivr complaining about unescaped unicode character U+00AE\n var $isMobile = t.mobile() !== null;\n\n if (\n // Apple iOS 3.2-5.1 - Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3), iPad 3 (5.1), original iPhone (3.1), iPhone 3 (3.2), 3GS (4.3), 4 (4.3 / 5.0), and 4S (5.1)\n t.os('iOS') && t.version('iPad')>=4.3 ||\n t.os('iOS') && t.version('iPhone')>=3.1 ||\n t.os('iOS') && t.version('iPod')>=3.1 ||\n\n // Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5)\n // Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM\n // Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices\n // Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7\n ( t.version('Android')>2.1 && t.is('Webkit') ) ||\n\n // Windows Phone 7-7.5 - Tested on the HTC Surround (7.0) HTC Trophy (7.5), LG-E900 (7.5), Nokia Lumia 800\n t.version('Windows Phone OS')>=7.0 ||\n\n // Blackberry 7 - Tested on BlackBerry Torch 9810\n // Blackberry 6.0 - Tested on the Torch 9800 and Style 9670\n t.is('BlackBerry') && t.version('BlackBerry')>=6.0 ||\n // Blackberry Playbook (1.0-2.0) - Tested on PlayBook\n t.match('Playbook.*Tablet') ||\n\n // Palm WebOS (1.4-2.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0)\n ( t.version('webOS')>=1.4 && t.match('Palm|Pre|Pixi') ) ||\n // Palm WebOS 3.0 - Tested on HP TouchPad\n t.match('hp.*TouchPad') ||\n\n // Firefox Mobile (12 Beta) - Tested on Android 2.3 device\n ( t.is('Firefox') && t.version('Firefox')>=12 ) ||\n\n // Chrome for Android - Tested on Android 4.0, 4.1 device\n ( t.is('Chrome') && t.is('AndroidOS') && t.version('Android')>=4.0 ) ||\n\n // Skyfire 4.1 - Tested on Android 2.3 device\n ( t.is('Skyfire') && t.version('Skyfire')>=4.1 && t.is('AndroidOS') && t.version('Android')>=2.3 ) ||\n\n // Opera Mobile 11.5-12: Tested on Android 2.3\n ( t.is('Opera') && t.version('Opera Mobi')>11 && t.is('AndroidOS') ) ||\n\n // Meego 1.2 - Tested on Nokia 950 and N9\n t.is('MeeGoOS') ||\n\n // Tizen (pre-release) - Tested on early hardware\n t.is('Tizen') ||\n\n // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser\n // @todo: more tests here!\n t.is('Dolfin') && t.version('Bada')>=2.0 ||\n\n // UC Browser - Tested on Android 2.3 device\n ( (t.is('UC Browser') || t.is('Dolfin')) && t.version('Android')>=2.3 ) ||\n\n // Kindle 3 and Fire - Tested on the built-in WebKit browser for each\n ( t.match('Kindle Fire') ||\n t.is('Kindle') && t.version('Kindle')>=3.0 ) ||\n\n // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet\n t.is('AndroidOS') && t.is('NookTablet') ||\n\n // Chrome Desktop 11-21 - Tested on OS X 10.7 and Windows 7\n t.version('Chrome')>=11 && !$isMobile ||\n\n // Safari Desktop 4-5 - Tested on OS X 10.7 and Windows 7\n t.version('Safari')>=5.0 && !$isMobile ||\n\n // Firefox Desktop 4-13 - Tested on OS X 10.7 and Windows 7\n t.version('Firefox')>=4.0 && !$isMobile ||\n\n // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7\n t.version('MSIE')>=7.0 && !$isMobile ||\n\n // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7\n // @reference: http://my.opera.com/community/openweb/idopera/\n t.version('Opera')>=10 && !$isMobile\n\n ){\n return 'A';\n }\n\n if (\n t.os('iOS') && t.version('iPad')<4.3 ||\n t.os('iOS') && t.version('iPhone')<3.1 ||\n t.os('iOS') && t.version('iPod')<3.1 ||\n\n // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770\n t.is('Blackberry') && t.version('BlackBerry')>=5 && t.version('BlackBerry')<6 ||\n\n //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3\n ( t.version('Opera Mini')>=5.0 && t.version('Opera Mini')<=6.5 &&\n (t.version('Android')>=2.3 || t.is('iOS')) ) ||\n\n // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1)\n t.match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') ||\n\n // @todo: report this (tested on Nokia N71)\n t.version('Opera Mobi')>=11 && t.is('SymbianOS')\n ){\n return 'B';\n }\n\n if (\n // Blackberry 4.x - Tested on the Curve 8330\n t.version('BlackBerry')<5.0 ||\n // Windows Mobile - Tested on the HTC Leo (WinMo 5.2)\n t.match('MSIEMobile|Windows CE.*Mobile') || t.version('Windows Mobile')<=5.2\n\n ){\n return 'C';\n }\n\n //All older smartphone platforms and featurephones - Any device that doesn't support media queries\n //will receive the basic, C grade experience.\n return 'C';\n };\n\n impl.detectOS = function (ua) {\n return impl.findMatch(impl.mobileDetectRules.oss0, ua) ||\n impl.findMatch(impl.mobileDetectRules.oss, ua);\n };\n\n impl.getDeviceSmallerSide = function () {\n return window.screen.width < window.screen.height ?\n window.screen.width :\n window.screen.height;\n };\n\n /**\n * Constructor for MobileDetect object.\n * <br>\n * Such an object will keep a reference to the given user-agent string and cache most of the detect queries.<br>\n * <div style=\"background-color: #d9edf7; border: 1px solid #bce8f1; color: #3a87ad; padding: 14px; border-radius: 2px; margin-top: 20px\">\n * <strong>Find information how to download and install:</strong>\n * <a href=\"https://github.com/hgoebl/mobile-detect.js/\">github.com/hgoebl/mobile-detect.js/</a>\n * </div>\n *\n * @example <pre>\n * var md = new MobileDetect(window.navigator.userAgent);\n * if (md.mobile()) {\n * location.href = (md.mobileGrade() === 'A') ? '/mobile/' : '/lynx/';\n * }\n * </pre>\n *\n * @param {string} userAgent typically taken from window.navigator.userAgent or http_header['User-Agent']\n * @param {number} [maxPhoneWidth=600] <strong>only for browsers</strong> specify a value for the maximum\n * width of smallest device side (in logical \"CSS\" pixels) until a device detected as mobile will be handled\n * as phone.\n * This is only used in cases where the device cannot be classified as phone or tablet.<br>\n * See <a href=\"http://developer.android.com/guide/practices/screens_support.html\">Declaring Tablet Layouts\n * for Android</a>.<br>\n * If you provide a value < 0, then this \"fuzzy\" check is disabled.\n * @constructor\n * @global\n */\n function MobileDetect(userAgent, maxPhoneWidth) {\n this.ua = prepareUserAgent(userAgent);\n this._cache = {};\n //600dp is typical 7\" tablet minimum width\n this.maxPhoneWidth = maxPhoneWidth || 600;\n }\n\n MobileDetect.prototype = {\n constructor: MobileDetect,\n\n /**\n * Returns the detected phone or tablet type or <tt>null</tt> if it is not a mobile device.\n * <br>\n * For a list of possible return values see {@link MobileDetect#phone} and {@link MobileDetect#tablet}.<br>\n * <br>\n * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against\n * the patterns of <a href=\"http://detectmobilebrowsers.com/\">detectmobilebrowsers.com</a>. If this test\n * is positive, a value of <code>UnknownPhone</code>, <code>UnknownTablet</code> or\n * <code>UnknownMobile</code> is returned.<br>\n * When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>\n * <br>\n * When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>\n * and <code>UnknownMobile</code>, so you will get <code>UnknownMobile</code> here.<br>\n * Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:\n * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.\n * In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.\n * <br>\n * In most cases you will use the return value just as a boolean.\n *\n * @returns {String} the key for the phone family or tablet family, e.g. \"Nexus\".\n * @function MobileDetect#mobile\n */\n mobile: function () {\n impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);\n return this._cache.mobile;\n },\n\n /**\n * Returns the detected phone type/family string or <tt>null</tt>.\n * <br>\n * The returned tablet (family or producer) is one of following keys:<br>\n * <br><tt>iPhone, BlackBerry, Pixel, HTC, Nexus, Dell, Motorola, Samsung, LG, Sony, Asus,\n * Xiaomi, NokiaLumia, Micromax, Palm, Vertu, Pantech, Fly, Wiko, iMobile,\n * SimValley, Wolfgang, Alcatel, Nintendo, Amoi, INQ, OnePlus, GenericPhone</tt><br>\n * <br>\n * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against\n * the patterns of <a href=\"http://detectmobilebrowsers.com/\">detectmobilebrowsers.com</a>. If this test\n * is positive, a value of <code>UnknownPhone</code> or <code>UnknownMobile</code> is returned.<br>\n * When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>\n * <br>\n * When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>\n * and <code>UnknownMobile</code>, so you will get <code>null</code> here, while {@link MobileDetect#mobile}\n * will return <code>UnknownMobile</code>.<br>\n * Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:\n * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.\n * In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.\n * <br>\n * In most cases you will use the return value just as a boolean.\n *\n * @returns {String} the key of the phone family or producer, e.g. \"iPhone\"\n * @function MobileDetect#phone\n */\n phone: function () {\n impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);\n return this._cache.phone;\n },\n\n /**\n * Returns the detected tablet type/family string or <tt>null</tt>.\n * <br>\n * The returned tablet (family or producer) is one of following keys:<br>\n * <br><tt>iPad, NexusTablet, GoogleTablet, SamsungTablet, Kindle, SurfaceTablet,\n * HPTablet, AsusTablet, BlackBerryTablet, HTCtablet, MotorolaTablet, NookTablet,\n * AcerTablet, ToshibaTablet, LGTablet, FujitsuTablet, PrestigioTablet,\n * LenovoTablet, DellTablet, YarvikTablet, MedionTablet, ArnovaTablet,\n * IntensoTablet, IRUTablet, MegafonTablet, EbodaTablet, AllViewTablet,\n * ArchosTablet, AinolTablet, NokiaLumiaTablet, SonyTablet, PhilipsTablet,\n * CubeTablet, CobyTablet, MIDTablet, MSITablet, SMiTTablet, RockChipTablet,\n * FlyTablet, bqTablet, HuaweiTablet, NecTablet, PantechTablet, BronchoTablet,\n * VersusTablet, ZyncTablet, PositivoTablet, NabiTablet, KoboTablet, DanewTablet,\n * TexetTablet, PlaystationTablet, TrekstorTablet, PyleAudioTablet, AdvanTablet,\n * DanyTechTablet, GalapadTablet, MicromaxTablet, KarbonnTablet, AllFineTablet,\n * PROSCANTablet, YONESTablet, ChangJiaTablet, GUTablet, PointOfViewTablet,\n * OvermaxTablet, HCLTablet, DPSTablet, VistureTablet, CrestaTablet,\n * MediatekTablet, ConcordeTablet, GoCleverTablet, ModecomTablet, VoninoTablet,\n * ECSTablet, StorexTablet, VodafoneTablet, EssentielBTablet, RossMoorTablet,\n * iMobileTablet, TolinoTablet, AudioSonicTablet, AMPETablet, SkkTablet,\n * TecnoTablet, JXDTablet, iJoyTablet, FX2Tablet, XoroTablet, ViewsonicTablet,\n * VerizonTablet, OdysTablet, CaptivaTablet, IconbitTablet, TeclastTablet,\n * OndaTablet, JaytechTablet, BlaupunktTablet, DigmaTablet, EvolioTablet,\n * LavaTablet, AocTablet, MpmanTablet, CelkonTablet, WolderTablet, MediacomTablet,\n * MiTablet, NibiruTablet, NexoTablet, LeaderTablet, UbislateTablet,\n * PocketBookTablet, KocasoTablet, HisenseTablet, Hudl, TelstraTablet,\n * GenericTablet</tt><br>\n * <br>\n * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against\n * the patterns of <a href=\"http://detectmobilebrowsers.com/\">detectmobilebrowsers.com</a>. If this test\n * is positive, a value of <code>UnknownTablet</code> or <code>UnknownMobile</code> is returned.<br>\n * When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>\n * <br>\n * When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>\n * and <code>UnknownMobile</code>, so you will get <code>null</code> here, while {@link MobileDetect#mobile}\n * will return <code>UnknownMobile</code>.<br>\n * Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:\n * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.\n * In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.\n * <br>\n * In most cases you will use the return value just as a boolean.\n *\n * @returns {String} the key of the tablet family or producer, e.g. \"SamsungTablet\"\n * @function MobileDetect#tablet\n */\n tablet: function () {\n impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);\n return this._cache.tablet;\n },\n\n /**\n * Returns the (first) detected user-agent string or <tt>null</tt>.\n * <br>\n * The returned user-agent is one of following keys:<br>\n * <br><tt>Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,\n * Safari, WeChat, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Mercury,\n * ObigoBrowser, NetFront, GenericBrowser, PaleMoon</tt><br>\n * <br>\n * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare\n * cases where a mobile device pretends to be more than one particular browser. You can get the\n * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by\n * providing one of the defined keys as first argument to {@link MobileDetect#is}.\n *\n * @returns {String} the key for the detected user-agent or <tt>null</tt>\n * @function MobileDetect#userAgent\n */\n userAgent: function () {\n if (this._cache.userAgent === undefined) {\n this._cache.userAgent = impl.findMatch(impl.mobileDetectRules.uas, this.ua);\n }\n return this._cache.userAgent;\n },\n\n /**\n * Returns all detected user-agent strings.\n * <br>\n * The array is empty or contains one or more of following keys:<br>\n * <br><tt>Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,\n * Safari, WeChat, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Mercury,\n * ObigoBrowser, NetFront, GenericBrowser, PaleMoon</tt><br>\n * <br>\n * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare\n * cases where a mobile device pretends to be more than one particular browser. You can get the\n * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by\n * providing one of the defined keys as first argument to {@link MobileDetect#is}.\n *\n * @returns {Array} the array of detected user-agent keys or <tt>[]</tt>\n * @function MobileDetect#userAgents\n */\n userAgents: function () {\n if (this._cache.userAgents === undefined) {\n this._cache.userAgents = impl.findMatches(impl.mobileDetectRules.uas, this.ua);\n }\n return this._cache.userAgents;\n },\n\n /**\n * Returns the detected operating system string or <tt>null</tt>.\n * <br>\n * The operating system is one of following keys:<br>\n * <br><tt>AndroidOS, BlackBerryOS, PalmOS, SymbianOS, WindowsMobileOS, WindowsPhoneOS,\n * iOS, iPadOS, SailfishOS, MeeGoOS, MaemoOS, JavaOS, webOS, badaOS, BREWOS</tt><br>\n *\n * @returns {String} the key for the detected operating system.\n * @function MobileDetect#os\n */\n os: function () {\n if (this._cache.os === undefined) {\n this._cache.os = impl.detectOS(this.ua);\n }\n return this._cache.os;\n },\n\n /**\n * Get the version (as Number) of the given property in the User-Agent.\n * <br>\n * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)\n *\n * @param {String} key a key defining a thing which has a version.<br>\n * You can use one of following keys:<br>\n * <br><tt>Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,\n * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,\n * Opera Mobi, UCBrowser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,\n * SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon,\n * SailfishBrowser, Gecko, Trident, Presto, Goanna, iOS, Android, Sailfish,\n * BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows CE, Windows\n * NT, Symbian, webOS</tt><br>\n *\n * @returns {Number} the version as float or <tt>NaN</tt> if User-Agent doesn't contain this version.\n * Be careful when comparing this value with '==' operator!\n * @function MobileDetect#version\n */\n version: function (key) {\n return impl.getVersion(key, this.ua);\n },\n\n /**\n * Get the version (as String) of the given property in the User-Agent.\n * <br>\n *\n * @param {String} key a key defining a thing which has a version.<br>\n * You can use one of following keys:<br>\n * <br><tt>Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,\n * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,\n * Opera Mobi, UCBrowser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,\n * SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon,\n * SailfishBrowser, Gecko, Trident, Presto, Goanna, iOS, Android, Sailfish,\n * BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows CE, Windows\n * NT, Symbian, webOS</tt><br>\n *\n * @returns {String} the \"raw\" version as String or <tt>null</tt> if User-Agent doesn't contain this version.\n *\n * @function MobileDetect#versionStr\n */\n versionStr: function (key) {\n return impl.getVersionStr(key, this.ua);\n },\n\n /**\n * Global test key against userAgent, os, phone, tablet and some other properties of userAgent string.\n *\n * @param {String} key the key (case-insensitive) of a userAgent, an operating system, phone or\n * tablet family.<br>\n * For a complete list of possible values, see {@link MobileDetect#userAgent},\n * {@link MobileDetect#os}, {@link MobileDetect#phone}, {@link MobileDetect#tablet}.<br>\n * Additionally you have following keys:<br>\n * <br><tt>Bot, MobileBot, DesktopMode, TV, WebKit, Console, Watch</tt><br>\n *\n * @returns {boolean} <tt>true</tt> when the given key is one of the defined keys of userAgent, os, phone,\n * tablet or one of the listed additional keys, otherwise <tt>false</tt>\n * @function MobileDetect#is\n */\n is: function (key) {\n return containsIC(this.userAgents(), key) ||\n equalIC(key, this.os()) ||\n equalIC(key, this.phone()) ||\n equalIC(key, this.tablet()) ||\n containsIC(impl.findMatches(impl.mobileDetectRules.utils, this.ua), key);\n },\n\n /**\n * Do a quick test against navigator::userAgent.\n *\n * @param {String|RegExp} pattern the pattern, either as String or RegExp\n * (a string will be converted to a case-insensitive RegExp).\n * @returns {boolean} <tt>true</tt> when the pattern matches, otherwise <tt>false</tt>\n * @function MobileDetect#match\n */\n match: function (pattern) {\n if (!(pattern instanceof RegExp)) {\n pattern = new RegExp(pattern, 'i');\n }\n return pattern.test(this.ua);\n },\n\n /**\n * Checks whether the mobile device can be considered as phone regarding <code>screen.width</code>.\n * <br>\n * Obviously this method makes sense in browser environments only (not for Node.js)!\n * @param {number} [maxPhoneWidth] the maximum logical pixels (aka. CSS-pixels) to be considered as phone.<br>\n * The argument is optional and if not present or falsy, the value of the constructor is taken.\n * @returns {boolean|undefined} <code>undefined</code> if screen size wasn't detectable, else <code>true</code>\n * when screen.width is less or equal to maxPhoneWidth, otherwise <code>false</code>.<br>\n * Will always return <code>undefined</code> server-side.\n */\n isPhoneSized: function (maxPhoneWidth) {\n return MobileDetect.isPhoneSized(maxPhoneWidth || this.maxPhoneWidth);\n },\n\n /**\n * Returns the mobile grade ('A', 'B', 'C').\n *\n * @returns {String} one of the mobile grades ('A', 'B', 'C').\n * @function MobileDetect#mobileGrade\n */\n mobileGrade: function () {\n if (this._cache.grade === undefined) {\n this._cache.grade = impl.mobileGrade(this);\n }\n return this._cache.grade;\n }\n };\n\n // environment-dependent\n if (typeof window !== 'undefined' && window.screen) {\n MobileDetect.isPhoneSized = function (maxPhoneWidth) {\n return maxPhoneWidth < 0 ? undefined : impl.getDeviceSmallerSide() <= maxPhoneWidth;\n };\n } else {\n MobileDetect.isPhoneSized = function () {};\n }\n\n // should not be replaced by a completely new object - just overwrite existing methods\n MobileDetect._impl = impl;\n \n MobileDetect.version = '1.4.5 2021-03-13';\n\n return MobileDetect;\n}); // end of call of define()\n})((function (undefined) {\n if (typeof module !== 'undefined' && module.exports) {\n return function (factory) { module.exports = factory(); };\n } else if (typeof define === 'function' && define.amd) {\n return define;\n } else if (typeof window !== 'undefined') {\n return function (factory) { window.MobileDetect = factory(); };\n } else {\n // please file a bug if you get this error!\n throw new Error('unknown environment');\n }\n})());","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var T = [];\n\n\t // Compute constants\n\t (function () {\n\t for (var i = 0; i < 64; i++) {\n\t T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t }\n\t }());\n\n\t /**\n\t * MD5 hash algorithm.\n\t */\n\t var MD5 = C_algo.MD5 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var M_offset_0 = M[offset + 0];\n\t var M_offset_1 = M[offset + 1];\n\t var M_offset_2 = M[offset + 2];\n\t var M_offset_3 = M[offset + 3];\n\t var M_offset_4 = M[offset + 4];\n\t var M_offset_5 = M[offset + 5];\n\t var M_offset_6 = M[offset + 6];\n\t var M_offset_7 = M[offset + 7];\n\t var M_offset_8 = M[offset + 8];\n\t var M_offset_9 = M[offset + 9];\n\t var M_offset_10 = M[offset + 10];\n\t var M_offset_11 = M[offset + 11];\n\t var M_offset_12 = M[offset + 12];\n\t var M_offset_13 = M[offset + 13];\n\t var M_offset_14 = M[offset + 14];\n\t var M_offset_15 = M[offset + 15];\n\n\t // Working varialbes\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\n\t // Computation\n\t a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n\t d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n\t c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n\t b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n\t a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n\t d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n\t c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n\t b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n\t a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n\t d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n\t c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n\t d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n\t d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n\t c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n\t a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n\t d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n\t c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n\t a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n\t d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n\t c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n\t b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n\t a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n\t d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n\t c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n\t b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n\t d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n\t c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n\t d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n\t c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n\t b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n\t d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n\t c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n\t b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n\t a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n\t d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n\t a = II(a, b, c, d, M_offset_0, 6, T[48]);\n\t d = II(d, a, b, c, M_offset_7, 10, T[49]);\n\t c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t b = II(b, c, d, a, M_offset_5, 21, T[51]);\n\t a = II(a, b, c, d, M_offset_12, 6, T[52]);\n\t d = II(d, a, b, c, M_offset_3, 10, T[53]);\n\t c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t b = II(b, c, d, a, M_offset_1, 21, T[55]);\n\t a = II(a, b, c, d, M_offset_8, 6, T[56]);\n\t d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t c = II(c, d, a, b, M_offset_6, 15, T[58]);\n\t b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t a = II(a, b, c, d, M_offset_4, 6, T[60]);\n\t d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t c = II(c, d, a, b, M_offset_2, 15, T[62]);\n\t b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t var nBitsTotalL = nBitsTotal;\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)\n\t );\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)\n\t );\n\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t function FF(a, b, c, d, x, s, t) {\n\t var n = a + ((b & c) | (~b & d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function GG(a, b, c, d, x, s, t) {\n\t var n = a + ((b & d) | (c & ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function HH(a, b, c, d, x, s, t) {\n\t var n = a + (b ^ c ^ d) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function II(a, b, c, d, x, s, t) {\n\t var n = a + (c ^ (b | ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.MD5('message');\n\t * var hash = CryptoJS.MD5(wordArray);\n\t */\n\t C.MD5 = Hasher._createHelper(MD5);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacMD5(message, key);\n\t */\n\t C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-1 hash algorithm.\n\t */\n\t var SHA1 = C_algo.SHA1 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476,\n\t 0xc3d2e1f0\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\n\t // Computation\n\t for (var i = 0; i < 80; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t W[i] = (n << 1) | (n >>> 31);\n\t }\n\n\t var t = ((a << 5) | (a >>> 27)) + e + W[i];\n\t if (i < 20) {\n\t t += ((b & c) | (~b & d)) + 0x5a827999;\n\t } else if (i < 40) {\n\t t += (b ^ c ^ d) + 0x6ed9eba1;\n\t } else if (i < 60) {\n\t t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;\n\t } else /* if (i < 80) */ {\n\t t += (b ^ c ^ d) - 0x359d3e2a;\n\t }\n\n\t e = d;\n\t d = c;\n\t c = (b << 30) | (b >>> 2);\n\t b = a;\n\t a = t;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA1('message');\n\t * var hash = CryptoJS.SHA1(wordArray);\n\t */\n\t C.SHA1 = Hasher._createHelper(SHA1);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA1(message, key);\n\t */\n\t C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n\t}());\n\n\n\treturn CryptoJS.SHA1;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./evpkdf\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./evpkdf\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher core components.\n\t */\n\tCryptoJS.lib.Cipher || (function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var Base64 = C_enc.Base64;\n\t var C_algo = C.algo;\n\t var EvpKDF = C_algo.EvpKDF;\n\n\t /**\n\t * Abstract base cipher template.\n\t *\n\t * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n\t * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n\t * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n\t * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n\t */\n\t var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {WordArray} iv The IV to use for this operation.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Creates this cipher in encryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createEncryptor: function (key, cfg) {\n\t return this.create(this._ENC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Creates this cipher in decryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createDecryptor: function (key, cfg) {\n\t return this.create(this._DEC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Initializes a newly created cipher.\n\t *\n\t * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n\t */\n\t init: function (xformMode, key, cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Store transform mode and key\n\t this._xformMode = xformMode;\n\t this._key = key;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this cipher to its initial state.\n\t *\n\t * @example\n\t *\n\t * cipher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-cipher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Adds data to be encrypted or decrypted.\n\t *\n\t * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.process('data');\n\t * var encrypted = cipher.process(wordArray);\n\t */\n\t process: function (dataUpdate) {\n\t // Append\n\t this._append(dataUpdate);\n\n\t // Process available blocks\n\t return this._process();\n\t },\n\n\t /**\n\t * Finalizes the encryption or decryption process.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after final processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.finalize();\n\t * var encrypted = cipher.finalize('data');\n\t * var encrypted = cipher.finalize(wordArray);\n\t */\n\t finalize: function (dataUpdate) {\n\t // Final data update\n\t if (dataUpdate) {\n\t this._append(dataUpdate);\n\t }\n\n\t // Perform concrete-cipher logic\n\t var finalProcessedData = this._doFinalize();\n\n\t return finalProcessedData;\n\t },\n\n\t keySize: 128/32,\n\n\t ivSize: 128/32,\n\n\t _ENC_XFORM_MODE: 1,\n\n\t _DEC_XFORM_MODE: 2,\n\n\t /**\n\t * Creates shortcut functions to a cipher's object interface.\n\t *\n\t * @param {Cipher} cipher The cipher to create a helper for.\n\t *\n\t * @return {Object} An object with encrypt and decrypt shortcut functions.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n\t */\n\t _createHelper: (function () {\n\t function selectCipherStrategy(key) {\n\t if (typeof key == 'string') {\n\t return PasswordBasedCipher;\n\t } else {\n\t return SerializableCipher;\n\t }\n\t }\n\n\t return function (cipher) {\n\t return {\n\t encrypt: function (message, key, cfg) {\n\t return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n\t },\n\n\t decrypt: function (ciphertext, key, cfg) {\n\t return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n\t }\n\t };\n\t };\n\t }())\n\t });\n\n\t /**\n\t * Abstract base stream cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n\t */\n\t var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n\t _doFinalize: function () {\n\t // Process partial blocks\n\t var finalProcessedBlocks = this._process(!!'flush');\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 1\n\t });\n\n\t /**\n\t * Mode namespace.\n\t */\n\t var C_mode = C.mode = {};\n\n\t /**\n\t * Abstract base block cipher mode template.\n\t */\n\t var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n\t /**\n\t * Creates this mode for encryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n\t */\n\t createEncryptor: function (cipher, iv) {\n\t return this.Encryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Creates this mode for decryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n\t */\n\t createDecryptor: function (cipher, iv) {\n\t return this.Decryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Initializes a newly created mode.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n\t */\n\t init: function (cipher, iv) {\n\t this._cipher = cipher;\n\t this._iv = iv;\n\t }\n\t });\n\n\t /**\n\t * Cipher Block Chaining mode.\n\t */\n\t var CBC = C_mode.CBC = (function () {\n\t /**\n\t * Abstract base CBC mode.\n\t */\n\t var CBC = BlockCipherMode.extend();\n\n\t /**\n\t * CBC encryptor.\n\t */\n\t CBC.Encryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // XOR and encrypt\n\t xorBlock.call(this, words, offset, blockSize);\n\t cipher.encryptBlock(words, offset);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t /**\n\t * CBC decryptor.\n\t */\n\t CBC.Decryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t // Decrypt and XOR\n\t cipher.decryptBlock(words, offset);\n\t xorBlock.call(this, words, offset, blockSize);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function xorBlock(words, offset, blockSize) {\n\t var block;\n\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Choose mixing block\n\t if (iv) {\n\t block = iv;\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t block = this._prevBlock;\n\t }\n\n\t // XOR blocks\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= block[i];\n\t }\n\t }\n\n\t return CBC;\n\t }());\n\n\t /**\n\t * Padding namespace.\n\t */\n\t var C_pad = C.pad = {};\n\n\t /**\n\t * PKCS #5/7 padding strategy.\n\t */\n\t var Pkcs7 = C_pad.Pkcs7 = {\n\t /**\n\t * Pads data using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to pad.\n\t * @param {number} blockSize The multiple that the data should be padded to.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n\t */\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Create padding word\n\t var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;\n\n\t // Create padding\n\t var paddingWords = [];\n\t for (var i = 0; i < nPaddingBytes; i += 4) {\n\t paddingWords.push(paddingWord);\n\t }\n\t var padding = WordArray.create(paddingWords, nPaddingBytes);\n\n\t // Add padding\n\t data.concat(padding);\n\t },\n\n\t /**\n\t * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to unpad.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.unpad(wordArray);\n\t */\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t };\n\n\t /**\n\t * Abstract base block cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n\t */\n\t var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Mode} mode The block mode to use. Default: CBC\n\t * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n\t */\n\t cfg: Cipher.cfg.extend({\n\t mode: CBC,\n\t padding: Pkcs7\n\t }),\n\n\t reset: function () {\n\t var modeCreator;\n\n\t // Reset cipher\n\t Cipher.reset.call(this);\n\n\t // Shortcuts\n\t var cfg = this.cfg;\n\t var iv = cfg.iv;\n\t var mode = cfg.mode;\n\n\t // Reset block mode\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t modeCreator = mode.createEncryptor;\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t modeCreator = mode.createDecryptor;\n\t // Keep at least one block in the buffer for unpadding\n\t this._minBufferSize = 1;\n\t }\n\n\t if (this._mode && this._mode.__creator == modeCreator) {\n\t this._mode.init(this, iv && iv.words);\n\t } else {\n\t this._mode = modeCreator.call(mode, this, iv && iv.words);\n\t this._mode.__creator = modeCreator;\n\t }\n\t },\n\n\t _doProcessBlock: function (words, offset) {\n\t this._mode.processBlock(words, offset);\n\t },\n\n\t _doFinalize: function () {\n\t var finalProcessedBlocks;\n\n\t // Shortcut\n\t var padding = this.cfg.padding;\n\n\t // Finalize\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t // Pad data\n\t padding.pad(this._data, this.blockSize);\n\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\n\t // Unpad data\n\t padding.unpad(finalProcessedBlocks);\n\t }\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 128/32\n\t });\n\n\t /**\n\t * A collection of cipher parameters.\n\t *\n\t * @property {WordArray} ciphertext The raw ciphertext.\n\t * @property {WordArray} key The key to this ciphertext.\n\t * @property {WordArray} iv The IV used in the ciphering operation.\n\t * @property {WordArray} salt The salt used with a key derivation function.\n\t * @property {Cipher} algorithm The cipher algorithm.\n\t * @property {Mode} mode The block mode used in the ciphering operation.\n\t * @property {Padding} padding The padding scheme used in the ciphering operation.\n\t * @property {number} blockSize The block size of the cipher.\n\t * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n\t */\n\t var CipherParams = C_lib.CipherParams = Base.extend({\n\t /**\n\t * Initializes a newly created cipher params object.\n\t *\n\t * @param {Object} cipherParams An object with any of the possible cipher parameters.\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.lib.CipherParams.create({\n\t * ciphertext: ciphertextWordArray,\n\t * key: keyWordArray,\n\t * iv: ivWordArray,\n\t * salt: saltWordArray,\n\t * algorithm: CryptoJS.algo.AES,\n\t * mode: CryptoJS.mode.CBC,\n\t * padding: CryptoJS.pad.PKCS7,\n\t * blockSize: 4,\n\t * formatter: CryptoJS.format.OpenSSL\n\t * });\n\t */\n\t init: function (cipherParams) {\n\t this.mixIn(cipherParams);\n\t },\n\n\t /**\n\t * Converts this cipher params object to a string.\n\t *\n\t * @param {Format} formatter (Optional) The formatting strategy to use.\n\t *\n\t * @return {string} The stringified cipher params.\n\t *\n\t * @throws Error If neither the formatter nor the default formatter is set.\n\t *\n\t * @example\n\t *\n\t * var string = cipherParams + '';\n\t * var string = cipherParams.toString();\n\t * var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n\t */\n\t toString: function (formatter) {\n\t return (formatter || this.formatter).stringify(this);\n\t }\n\t });\n\n\t /**\n\t * Format namespace.\n\t */\n\t var C_format = C.format = {};\n\n\t /**\n\t * OpenSSL formatting strategy.\n\t */\n\t var OpenSSLFormatter = C_format.OpenSSL = {\n\t /**\n\t * Converts a cipher params object to an OpenSSL-compatible string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The OpenSSL-compatible string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t var wordArray;\n\n\t // Shortcuts\n\t var ciphertext = cipherParams.ciphertext;\n\t var salt = cipherParams.salt;\n\n\t // Format\n\t if (salt) {\n\t wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n\t } else {\n\t wordArray = ciphertext;\n\t }\n\n\t return wordArray.toString(Base64);\n\t },\n\n\t /**\n\t * Converts an OpenSSL-compatible string to a cipher params object.\n\t *\n\t * @param {string} openSSLStr The OpenSSL-compatible string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n\t */\n\t parse: function (openSSLStr) {\n\t var salt;\n\n\t // Parse base64\n\t var ciphertext = Base64.parse(openSSLStr);\n\n\t // Shortcut\n\t var ciphertextWords = ciphertext.words;\n\n\t // Test for salt\n\t if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n\t // Extract salt\n\t salt = WordArray.create(ciphertextWords.slice(2, 4));\n\n\t // Remove salt from ciphertext\n\t ciphertextWords.splice(0, 4);\n\t ciphertext.sigBytes -= 16;\n\t }\n\n\t return CipherParams.create({ ciphertext: ciphertext, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n\t */\n\t var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n\t */\n\t cfg: Base.extend({\n\t format: OpenSSLFormatter\n\t }),\n\n\t /**\n\t * Encrypts a message.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Encrypt\n\t var encryptor = cipher.createEncryptor(key, cfg);\n\t var ciphertext = encryptor.finalize(message);\n\n\t // Shortcut\n\t var cipherCfg = encryptor.cfg;\n\n\t // Create and return serializable cipher params\n\t return CipherParams.create({\n\t ciphertext: ciphertext,\n\t key: key,\n\t iv: cipherCfg.iv,\n\t algorithm: cipher,\n\t mode: cipherCfg.mode,\n\t padding: cipherCfg.padding,\n\t blockSize: cipher.blockSize,\n\t formatter: cfg.format\n\t });\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Decrypt\n\t var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n\n\t return plaintext;\n\t },\n\n\t /**\n\t * Converts serialized ciphertext to CipherParams,\n\t * else assumed CipherParams already and returns ciphertext unchanged.\n\t *\n\t * @param {CipherParams|string} ciphertext The ciphertext.\n\t * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n\t *\n\t * @return {CipherParams} The unserialized ciphertext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n\t */\n\t _parse: function (ciphertext, format) {\n\t if (typeof ciphertext == 'string') {\n\t return format.parse(ciphertext, this);\n\t } else {\n\t return ciphertext;\n\t }\n\t }\n\t });\n\n\t /**\n\t * Key derivation function namespace.\n\t */\n\t var C_kdf = C.kdf = {};\n\n\t /**\n\t * OpenSSL key derivation function.\n\t */\n\t var OpenSSLKdf = C_kdf.OpenSSL = {\n\t /**\n\t * Derives a key and IV from a password.\n\t *\n\t * @param {string} password The password to derive from.\n\t * @param {number} keySize The size in words of the key to generate.\n\t * @param {number} ivSize The size in words of the IV to generate.\n\t * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n\t *\n\t * @return {CipherParams} A cipher params object with the key, IV, and salt.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n\t */\n\t execute: function (password, keySize, ivSize, salt) {\n\t // Generate random salt\n\t if (!salt) {\n\t salt = WordArray.random(64/8);\n\t }\n\n\t // Derive key and IV\n\t var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);\n\n\t // Separate key and IV\n\t var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n\t key.sigBytes = keySize * 4;\n\n\t // Return params\n\t return CipherParams.create({ key: key, iv: iv, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A serializable cipher wrapper that derives the key from a password,\n\t * and returns ciphertext as a serializable cipher params object.\n\t */\n\t var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n\t */\n\t cfg: SerializableCipher.cfg.extend({\n\t kdf: OpenSSLKdf\n\t }),\n\n\t /**\n\t * Encrypts a message using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Encrypt\n\t var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);\n\n\t // Mix in derived params\n\t ciphertext.mixIn(derivedParams);\n\n\t return ciphertext;\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Decrypt\n\t var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n\n\t return plaintext;\n\t }\n\t });\n\t}());\n\n\n}));","module.exports = require('./lib/retry');","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","import { createContext } from 'react';\n\nconst Context = createContext({\n abortable: false,\n readyState: 0,\n supported: true\n});\n\nexport default Context;\n","import { useRef } from 'react';\n\nexport default function useRefFrom(value) {\n const ref = useRef();\n\n ref.current = value;\n\n return ref;\n}\n","export default function vendorPrefix(name) {\n if (typeof window !== 'undefined') {\n return typeof window[name] !== 'undefined' ? window[name] : window[`webkit${name}`];\n }\n}\n","import { useEffect, useRef } from 'react';\n\nexport default function usePrevious(value) {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n}\n","import { useContext } from 'react';\n\nimport Context from '../../Context';\n\nexport default function useDictateContext() {\n return useContext(Context);\n}\n","import useDictateContext from './internal/useDictateContext';\n\nexport default function useReadyState() {\n const { readyState } = useDictateContext();\n\n return [readyState];\n}\n","import useDictateContext from './internal/useDictateContext';\n\nexport default function useSupported() {\n const { supported } = useDictateContext();\n\n return [supported];\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3] }] */\n\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\n\nimport Composer from './Composer';\nimport useReadyState from './hooks/useReadyState';\nimport useRefFrom from './useRefFrom';\nimport useSupported from './hooks/useSupported';\n\nconst DictateButtonCore = ({ children, className, disabled, onClick }) => {\n const [readyState] = useReadyState();\n const [supported] = useSupported();\n\n return (\n <button\n className={className}\n disabled={readyState === 1 || readyState === 3 || !supported || disabled}\n onClick={onClick}\n type=\"button\"\n >\n {typeof children === 'function' ? children({ readyState }) : children}\n </button>\n );\n};\n\nDictateButtonCore.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined\n};\n\nDictateButtonCore.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func.isRequired\n};\n\nconst DictateButton = ({\n children,\n className,\n disabled,\n extra,\n grammar,\n lang,\n onClick,\n onDictate,\n onError,\n onProgress,\n onRawEvent,\n speechGrammarList,\n speechRecognition\n}) => {\n const [started, setStarted] = useState();\n const onClickRef = useRefFrom(onClick);\n const onDictateRef = useRefFrom(onDictate);\n const onErrorRef = useRefFrom(onError);\n\n const handleClick = useCallback(\n event => {\n onClickRef.current && onClickRef.current(event);\n\n !event.isDefaultPrevented() && setStarted(started => !started);\n },\n [onClickRef, setStarted]\n );\n\n const handleDictate = useCallback(\n event => {\n setStarted(false);\n\n onDictateRef.current && onDictateRef.current(event);\n },\n [onDictateRef, setStarted]\n );\n\n const handleError = useCallback(\n event => {\n setStarted(false);\n\n onErrorRef.current && onErrorRef.current(event);\n },\n [onErrorRef, setStarted]\n );\n\n return (\n <Composer\n extra={extra}\n grammar={grammar}\n lang={lang}\n onDictate={handleDictate}\n onError={handleError}\n onProgress={onProgress}\n onRawEvent={onRawEvent}\n speechGrammarList={speechGrammarList}\n speechRecognition={speechRecognition}\n started={started && !disabled}\n >\n <DictateButtonCore className={className} disabled={disabled} onClick={handleClick}>\n {children}\n </DictateButtonCore>\n </Composer>\n );\n};\n\nDictateButton.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined,\n extra: undefined,\n grammar: undefined,\n lang: undefined,\n onClick: undefined,\n onDictate: undefined,\n onError: undefined,\n onProgress: undefined,\n onRawEvent: undefined,\n speechGrammarList: undefined,\n speechRecognition: undefined\n};\n\nDictateButton.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n extra: PropTypes.any,\n grammar: PropTypes.string,\n lang: PropTypes.string,\n onClick: PropTypes.func,\n onDictate: PropTypes.func,\n onError: PropTypes.func,\n onProgress: PropTypes.func,\n onRawEvent: PropTypes.func,\n speechGrammarList: PropTypes.any,\n speechRecognition: PropTypes.any\n};\n\nexport default DictateButton;\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3] }] */\n\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\n\nimport Composer from './Composer';\nimport useReadyState from './hooks/useReadyState';\nimport useSupported from './hooks/useSupported';\n\nconst DictateCheckboxCore = ({ children, className, disabled, onChange, started }) => {\n const [readyState] = useReadyState();\n const [supported] = useSupported();\n\n return (\n <label>\n <input\n checked={started}\n className={className}\n disabled={readyState === 1 || readyState === 3 || !supported || disabled}\n onChange={onChange}\n type=\"checkbox\"\n />\n {typeof children === 'function' ? children({ readyState }) : children}\n </label>\n );\n};\n\nDictateCheckboxCore.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined\n};\n\nDictateCheckboxCore.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n started: PropTypes.bool.isRequired\n};\n\nconst DictateCheckbox = ({\n children,\n className,\n disabled,\n extra,\n grammar,\n lang,\n onDictate,\n onError,\n onProgress,\n onRawEvent,\n speechGrammarList,\n speechRecognition\n}) => {\n const [started, setStarted] = useState(false);\n\n const handleChange = useCallback(\n ({ target: { checked } }) => {\n setStarted(checked);\n },\n [setStarted]\n );\n\n const handleDictate = useCallback(\n event => {\n setStarted(false);\n\n onDictate && onDictate(event);\n },\n [onDictate, setStarted]\n );\n\n const handleError = useCallback(\n event => {\n setStarted(false);\n onError && onError(event);\n },\n [onError, setStarted]\n );\n\n return (\n <Composer\n extra={extra}\n grammar={grammar}\n lang={lang}\n onDictate={handleDictate}\n onError={handleError}\n onProgress={onProgress}\n onRawEvent={onRawEvent}\n speechGrammarList={speechGrammarList}\n speechRecognition={speechRecognition}\n started={started && !disabled}\n >\n <DictateCheckboxCore className={className} disabled={disabled} onChange={handleChange} started={started}>\n {children}\n </DictateCheckboxCore>\n </Composer>\n );\n};\n\nDictateCheckbox.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined,\n extra: undefined,\n grammar: undefined,\n lang: undefined,\n onDictate: undefined,\n onError: undefined,\n onProgress: undefined,\n onRawEvent: undefined,\n speechGrammarList: undefined,\n speechRecognition: undefined\n};\n\nDictateCheckbox.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n extra: PropTypes.any,\n grammar: PropTypes.string,\n lang: PropTypes.string,\n onDictate: PropTypes.func,\n onError: PropTypes.func,\n onProgress: PropTypes.func,\n onRawEvent: PropTypes.func,\n speechGrammarList: PropTypes.any,\n speechRecognition: PropTypes.any\n};\n\nexport default DictateCheckbox;\n","import useDictateContext from './internal/useDictateContext';\n\nexport default function useAbortable() {\n const { abortable } = useDictateContext();\n\n return [abortable];\n}\n","declare let __webpack_public_path__; \n\nconst url = new URL((document.currentScript as HTMLScriptElement).src);\nconst widgetLink = url.href.substring(0, url.href.lastIndexOf('/') + 1);\n__webpack_public_path__ = widgetLink.replace('/static/js', '');\n\nexport {};","import React from 'react';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { isValidElementType } from 'react-is';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\n/* eslint-disable import/prefer-default-export */\nfunction invariant(condition, message) {\n if (condition) return;\n var error = new Error(\"loadable: \" + message);\n error.framesToPop = 1;\n error.name = 'Invariant Violation';\n throw error;\n}\nfunction warn(message) {\n // eslint-disable-next-line no-console\n console.warn(\"loadable: \" + message);\n}\n\nvar Context = /*#__PURE__*/\nReact.createContext();\n\nvar LOADABLE_REQUIRED_CHUNKS_KEY = '__LOADABLE_REQUIRED_CHUNKS__';\nfunction getRequiredChunkKey(namespace) {\n return \"\" + namespace + LOADABLE_REQUIRED_CHUNKS_KEY;\n}\n\nvar sharedInternals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getRequiredChunkKey: getRequiredChunkKey,\n invariant: invariant,\n Context: Context\n});\n\nvar LOADABLE_SHARED = {\n initialChunks: {}\n};\n\nvar STATUS_PENDING = 'PENDING';\nvar STATUS_RESOLVED = 'RESOLVED';\nvar STATUS_REJECTED = 'REJECTED';\n\nfunction resolveConstructor(ctor) {\n if (typeof ctor === 'function') {\n return {\n requireAsync: ctor,\n resolve: function resolve() {\n return undefined;\n },\n chunkName: function chunkName() {\n return undefined;\n }\n };\n }\n\n return ctor;\n}\n\nvar withChunkExtractor = function withChunkExtractor(Component) {\n var LoadableWithChunkExtractor = function LoadableWithChunkExtractor(props) {\n return React.createElement(Context.Consumer, null, function (extractor) {\n return React.createElement(Component, Object.assign({\n __chunkExtractor: extractor\n }, props));\n });\n };\n\n if (Component.displayName) {\n LoadableWithChunkExtractor.displayName = Component.displayName + \"WithChunkExtractor\";\n }\n\n return LoadableWithChunkExtractor;\n};\n\nvar identity = function identity(v) {\n return v;\n};\n\nfunction createLoadable(_ref) {\n var _ref$defaultResolveCo = _ref.defaultResolveComponent,\n defaultResolveComponent = _ref$defaultResolveCo === void 0 ? identity : _ref$defaultResolveCo,\n _render = _ref.render,\n onLoad = _ref.onLoad;\n\n function loadable(loadableConstructor, options) {\n if (options === void 0) {\n options = {};\n }\n\n var ctor = resolveConstructor(loadableConstructor);\n var cache = {};\n /**\n * Cachekey represents the component to be loaded\n * if key changes - component has to be reloaded\n * @param props\n * @returns {null|Component}\n */\n\n function _getCacheKey(props) {\n if (options.cacheKey) {\n return options.cacheKey(props);\n }\n\n if (ctor.resolve) {\n return ctor.resolve(props);\n }\n\n return 'static';\n }\n /**\n * Resolves loaded `module` to a specific `Component\n * @param module\n * @param props\n * @param Loadable\n * @returns Component\n */\n\n\n function resolve(module, props, Loadable) {\n var Component = options.resolveComponent ? options.resolveComponent(module, props) : defaultResolveComponent(module);\n\n if (options.resolveComponent && !isValidElementType(Component)) {\n throw new Error(\"resolveComponent returned something that is not a React component!\");\n }\n\n hoistNonReactStatics(Loadable, Component, {\n preload: true\n });\n return Component;\n }\n\n var InnerLoadable =\n /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(InnerLoadable, _React$Component);\n\n InnerLoadable.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var cacheKey = _getCacheKey(props);\n\n return _extends({}, state, {\n cacheKey: cacheKey,\n // change of a key triggers loading state automatically\n loading: state.loading || state.cacheKey !== cacheKey\n });\n };\n\n function InnerLoadable(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n result: null,\n error: null,\n loading: true,\n cacheKey: _getCacheKey(props)\n };\n invariant(!props.__chunkExtractor || ctor.requireSync, 'SSR requires `@loadable/babel-plugin`, please install it'); // Server-side\n\n if (props.__chunkExtractor) {\n // This module has been marked with no SSR\n if (options.ssr === false) {\n return _assertThisInitialized(_this);\n } // We run load function, we assume that it won't fail and that it\n // triggers a synchronous loading of the module\n\n\n ctor.requireAsync(props)[\"catch\"](function () {\n return null;\n }); // So we can require now the module synchronously\n\n _this.loadSync();\n\n props.__chunkExtractor.addChunk(ctor.chunkName(props));\n\n return _assertThisInitialized(_this);\n } // Client-side with `isReady` method present (SSR probably)\n // If module is already loaded, we use a synchronous loading\n // Only perform this synchronous loading if the component has not\n // been marked with no SSR, else we risk hydration mismatches\n\n\n if (options.ssr !== false && ( // is ready - was loaded in this session\n ctor.isReady && ctor.isReady(props) || // is ready - was loaded during SSR process\n ctor.chunkName && LOADABLE_SHARED.initialChunks[ctor.chunkName(props)])) {\n _this.loadSync();\n }\n\n return _this;\n }\n\n var _proto = InnerLoadable.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true; // retrieve loading promise from a global cache\n\n var cachedPromise = this.getCache(); // if promise exists, but rejected - clear cache\n\n if (cachedPromise && cachedPromise.status === STATUS_REJECTED) {\n this.setCache();\n } // component might be resolved synchronously in the constructor\n\n\n if (this.state.loading) {\n this.loadAsync();\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Component has to be reloaded on cacheKey change\n if (prevState.cacheKey !== this.state.cacheKey) {\n this.loadAsync();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n if (this.mounted) {\n this.setState(nextState, callback);\n }\n }\n /**\n * returns a cache key for the current props\n * @returns {Component|string}\n */\n ;\n\n _proto.getCacheKey = function getCacheKey() {\n return _getCacheKey(this.props);\n }\n /**\n * access the persistent cache\n */\n ;\n\n _proto.getCache = function getCache() {\n return cache[this.getCacheKey()];\n }\n /**\n * sets the cache value. If called without value sets it as undefined\n */\n ;\n\n _proto.setCache = function setCache(value) {\n if (value === void 0) {\n value = undefined;\n }\n\n cache[this.getCacheKey()] = value;\n };\n\n _proto.triggerOnLoad = function triggerOnLoad() {\n var _this2 = this;\n\n if (onLoad) {\n setTimeout(function () {\n onLoad(_this2.state.result, _this2.props);\n });\n }\n }\n /**\n * Synchronously loads component\n * target module is expected to already exists in the module cache\n * or be capable to resolve synchronously (webpack target=node)\n */\n ;\n\n _proto.loadSync = function loadSync() {\n // load sync is expecting component to be in the \"loading\" state already\n // sounds weird, but loading=true is the initial state of InnerLoadable\n if (!this.state.loading) return;\n\n try {\n var loadedModule = ctor.requireSync(this.props);\n var result = resolve(loadedModule, this.props, Loadable);\n this.state.result = result;\n this.state.loading = false;\n } catch (error) {\n console.error('loadable-components: failed to synchronously load component, which expected to be available', {\n fileName: ctor.resolve(this.props),\n chunkName: ctor.chunkName(this.props),\n error: error ? error.message : error\n });\n this.state.error = error;\n }\n }\n /**\n * Asynchronously loads a component.\n */\n ;\n\n _proto.loadAsync = function loadAsync() {\n var _this3 = this;\n\n var promise = this.resolveAsync();\n promise.then(function (loadedModule) {\n var result = resolve(loadedModule, _this3.props, {\n Loadable: Loadable\n });\n\n _this3.safeSetState({\n result: result,\n loading: false\n }, function () {\n return _this3.triggerOnLoad();\n });\n })[\"catch\"](function (error) {\n return _this3.safeSetState({\n error: error,\n loading: false\n });\n });\n return promise;\n }\n /**\n * Asynchronously resolves(not loads) a component.\n * Note - this function does not change the state\n */\n ;\n\n _proto.resolveAsync = function resolveAsync() {\n var _this4 = this;\n\n var _this$props = this.props,\n __chunkExtractor = _this$props.__chunkExtractor,\n forwardedRef = _this$props.forwardedRef,\n props = _objectWithoutPropertiesLoose(_this$props, [\"__chunkExtractor\", \"forwardedRef\"]);\n\n var promise = this.getCache();\n\n if (!promise) {\n promise = ctor.requireAsync(props);\n promise.status = STATUS_PENDING;\n this.setCache(promise);\n promise.then(function () {\n promise.status = STATUS_RESOLVED;\n }, function (error) {\n console.error('loadable-components: failed to asynchronously load component', {\n fileName: ctor.resolve(_this4.props),\n chunkName: ctor.chunkName(_this4.props),\n error: error ? error.message : error\n });\n promise.status = STATUS_REJECTED;\n });\n }\n\n return promise;\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n forwardedRef = _this$props2.forwardedRef,\n propFallback = _this$props2.fallback,\n __chunkExtractor = _this$props2.__chunkExtractor,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"forwardedRef\", \"fallback\", \"__chunkExtractor\"]);\n\n var _this$state = this.state,\n error = _this$state.error,\n loading = _this$state.loading,\n result = _this$state.result;\n\n if (options.suspense) {\n var cachedPromise = this.getCache() || this.loadAsync();\n\n if (cachedPromise.status === STATUS_PENDING) {\n throw this.loadAsync();\n }\n }\n\n if (error) {\n throw error;\n }\n\n var fallback = propFallback || options.fallback || null;\n\n if (loading) {\n return fallback;\n }\n\n return _render({\n fallback: fallback,\n result: result,\n options: options,\n props: _extends({}, props, {\n ref: forwardedRef\n })\n });\n };\n\n return InnerLoadable;\n }(React.Component);\n\n var EnhancedInnerLoadable = withChunkExtractor(InnerLoadable);\n var Loadable = React.forwardRef(function (props, ref) {\n return React.createElement(EnhancedInnerLoadable, Object.assign({\n forwardedRef: ref\n }, props));\n });\n Loadable.displayName = 'Loadable'; // In future, preload could use `<link rel=\"preload\">`\n\n Loadable.preload = function (props) {\n ctor.requireAsync(props);\n };\n\n Loadable.load = function (props) {\n return ctor.requireAsync(props);\n };\n\n return Loadable;\n }\n\n function lazy(ctor, options) {\n return loadable(ctor, _extends({}, options, {\n suspense: true\n }));\n }\n\n return {\n loadable: loadable,\n lazy: lazy\n };\n}\n\nfunction defaultResolveComponent(loadedModule) {\n // eslint-disable-next-line no-underscore-dangle\n return loadedModule.__esModule ? loadedModule[\"default\"] : loadedModule[\"default\"] || loadedModule;\n}\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable =\n/*#__PURE__*/\ncreateLoadable({\n defaultResolveComponent: defaultResolveComponent,\n render: function render(_ref) {\n var Component = _ref.result,\n props = _ref.props;\n return React.createElement(Component, props);\n }\n}),\n loadable = _createLoadable.loadable,\n lazy = _createLoadable.lazy;\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable$1 =\n/*#__PURE__*/\ncreateLoadable({\n onLoad: function onLoad(result, props) {\n if (result && props.forwardedRef) {\n if (typeof props.forwardedRef === 'function') {\n props.forwardedRef(result);\n } else {\n props.forwardedRef.current = result;\n }\n }\n },\n render: function render(_ref) {\n var result = _ref.result,\n props = _ref.props;\n\n if (props.children) {\n return props.children(result);\n }\n\n return null;\n }\n}),\n loadable$1 = _createLoadable$1.loadable,\n lazy$1 = _createLoadable$1.lazy;\n\n/* eslint-disable no-underscore-dangle, camelcase */\nvar BROWSER = typeof window !== 'undefined';\nfunction loadableReady(done, _temp) {\n if (done === void 0) {\n done = function done() {};\n }\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? '' : _ref$namespace,\n _ref$chunkLoadingGlob = _ref.chunkLoadingGlobal,\n chunkLoadingGlobal = _ref$chunkLoadingGlob === void 0 ? '__LOADABLE_LOADED_CHUNKS__' : _ref$chunkLoadingGlob;\n\n if (!BROWSER) {\n warn('`loadableReady()` must be called in browser only');\n done();\n return Promise.resolve();\n }\n\n var requiredChunks = null;\n\n if (BROWSER) {\n var id = getRequiredChunkKey(namespace);\n var dataElement = document.getElementById(id);\n\n if (dataElement) {\n requiredChunks = JSON.parse(dataElement.textContent);\n var extElement = document.getElementById(id + \"_ext\");\n\n if (extElement) {\n var _JSON$parse = JSON.parse(extElement.textContent),\n namedChunks = _JSON$parse.namedChunks;\n\n namedChunks.forEach(function (chunkName) {\n LOADABLE_SHARED.initialChunks[chunkName] = true;\n });\n } else {\n // version mismatch\n throw new Error('loadable-component: @loadable/server does not match @loadable/component');\n }\n }\n }\n\n if (!requiredChunks) {\n warn('`loadableReady()` requires state, please use `getScriptTags` or `getScriptElements` server-side');\n done();\n return Promise.resolve();\n }\n\n var resolved = false;\n return new Promise(function (resolve) {\n window[chunkLoadingGlobal] = window[chunkLoadingGlobal] || [];\n var loadedChunks = window[chunkLoadingGlobal];\n var originalPush = loadedChunks.push.bind(loadedChunks);\n\n function checkReadyState() {\n if (requiredChunks.every(function (chunk) {\n return loadedChunks.some(function (_ref2) {\n var chunks = _ref2[0];\n return chunks.indexOf(chunk) > -1;\n });\n })) {\n if (!resolved) {\n resolved = true;\n resolve();\n }\n }\n }\n\n loadedChunks.push = function () {\n originalPush.apply(void 0, arguments);\n checkReadyState();\n };\n\n checkReadyState();\n }).then(done);\n}\n\n/* eslint-disable no-underscore-dangle */\nvar loadable$2 = loadable;\nloadable$2.lib = loadable$1;\nvar lazy$2 = lazy;\nlazy$2.lib = lazy$1;\nvar __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sharedInternals;\n\nexport default loadable$2;\nexport { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, lazy$2 as lazy, loadableReady };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nvar rowSizeBase = {\n width: '100%',\n height: '10px',\n top: '0px',\n left: '0px',\n cursor: 'row-resize',\n};\nvar colSizeBase = {\n width: '10px',\n height: '100%',\n top: '0px',\n left: '0px',\n cursor: 'col-resize',\n};\nvar edgeBase = {\n width: '20px',\n height: '20px',\n position: 'absolute',\n};\nvar styles = {\n top: __assign(__assign({}, rowSizeBase), { top: '-5px' }),\n right: __assign(__assign({}, colSizeBase), { left: undefined, right: '-5px' }),\n bottom: __assign(__assign({}, rowSizeBase), { top: undefined, bottom: '-5px' }),\n left: __assign(__assign({}, colSizeBase), { left: '-5px' }),\n topRight: __assign(__assign({}, edgeBase), { right: '-10px', top: '-10px', cursor: 'ne-resize' }),\n bottomRight: __assign(__assign({}, edgeBase), { right: '-10px', bottom: '-10px', cursor: 'se-resize' }),\n bottomLeft: __assign(__assign({}, edgeBase), { left: '-10px', bottom: '-10px', cursor: 'sw-resize' }),\n topLeft: __assign(__assign({}, edgeBase), { left: '-10px', top: '-10px', cursor: 'nw-resize' }),\n};\nvar Resizer = /** @class */ (function (_super) {\n __extends(Resizer, _super);\n function Resizer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onMouseDown = function (e) {\n _this.props.onResizeStart(e, _this.props.direction);\n };\n _this.onTouchStart = function (e) {\n _this.props.onResizeStart(e, _this.props.direction);\n };\n return _this;\n }\n Resizer.prototype.render = function () {\n return (React.createElement(\"div\", { className: this.props.className || '', style: __assign(__assign({ position: 'absolute', userSelect: 'none' }, styles[this.props.direction]), (this.props.replaceStyles || {})), onMouseDown: this.onMouseDown, onTouchStart: this.onTouchStart }, this.props.children));\n };\n return Resizer;\n}(React.PureComponent));\nexport { Resizer };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { flushSync } from 'react-dom';\nimport { Resizer } from './resizer';\nvar DEFAULT_SIZE = {\n width: 'auto',\n height: 'auto',\n};\nvar clamp = function (n, min, max) { return Math.max(Math.min(n, max), min); };\nvar snap = function (n, size, gridGap) {\n var v = Math.round(n / size);\n return v * size + gridGap * (v - 1);\n};\nvar hasDirection = function (dir, target) {\n return new RegExp(dir, 'i').test(target);\n};\n// INFO: In case of window is a Proxy and does not porxy Events correctly, use isTouchEvent & isMouseEvent to distinguish event type instead of `instanceof`.\nvar isTouchEvent = function (event) {\n return Boolean(event.touches && event.touches.length);\n};\nvar isMouseEvent = function (event) {\n return Boolean((event.clientX || event.clientX === 0) &&\n (event.clientY || event.clientY === 0));\n};\nvar findClosestSnap = function (n, snapArray, snapGap) {\n if (snapGap === void 0) { snapGap = 0; }\n var closestGapIndex = snapArray.reduce(function (prev, curr, index) { return (Math.abs(curr - n) < Math.abs(snapArray[prev] - n) ? index : prev); }, 0);\n var gap = Math.abs(snapArray[closestGapIndex] - n);\n return snapGap === 0 || gap < snapGap ? snapArray[closestGapIndex] : n;\n};\nvar getStringSize = function (n) {\n n = n.toString();\n if (n === 'auto') {\n return n;\n }\n if (n.endsWith('px')) {\n return n;\n }\n if (n.endsWith('%')) {\n return n;\n }\n if (n.endsWith('vh')) {\n return n;\n }\n if (n.endsWith('vw')) {\n return n;\n }\n if (n.endsWith('vmax')) {\n return n;\n }\n if (n.endsWith('vmin')) {\n return n;\n }\n return n + \"px\";\n};\nvar getPixelSize = function (size, parentSize, innerWidth, innerHeight) {\n if (size && typeof size === 'string') {\n if (size.endsWith('px')) {\n return Number(size.replace('px', ''));\n }\n if (size.endsWith('%')) {\n var ratio = Number(size.replace('%', '')) / 100;\n return parentSize * ratio;\n }\n if (size.endsWith('vw')) {\n var ratio = Number(size.replace('vw', '')) / 100;\n return innerWidth * ratio;\n }\n if (size.endsWith('vh')) {\n var ratio = Number(size.replace('vh', '')) / 100;\n return innerHeight * ratio;\n }\n }\n return size;\n};\nvar calculateNewMax = function (parentSize, innerWidth, innerHeight, maxWidth, maxHeight, minWidth, minHeight) {\n maxWidth = getPixelSize(maxWidth, parentSize.width, innerWidth, innerHeight);\n maxHeight = getPixelSize(maxHeight, parentSize.height, innerWidth, innerHeight);\n minWidth = getPixelSize(minWidth, parentSize.width, innerWidth, innerHeight);\n minHeight = getPixelSize(minHeight, parentSize.height, innerWidth, innerHeight);\n return {\n maxWidth: typeof maxWidth === 'undefined' ? undefined : Number(maxWidth),\n maxHeight: typeof maxHeight === 'undefined' ? undefined : Number(maxHeight),\n minWidth: typeof minWidth === 'undefined' ? undefined : Number(minWidth),\n minHeight: typeof minHeight === 'undefined' ? undefined : Number(minHeight),\n };\n};\n/**\n * transform T | [T, T] to [T, T]\n * @param val\n * @returns\n */\n// tslint:disable-next-line\nvar normalizeToPair = function (val) { return (Array.isArray(val) ? val : [val, val]); };\nvar definedProps = [\n 'as',\n 'ref',\n 'style',\n 'className',\n 'grid',\n 'gridGap',\n 'snap',\n 'bounds',\n 'boundsByDirection',\n 'size',\n 'defaultSize',\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight',\n 'lockAspectRatio',\n 'lockAspectRatioExtraWidth',\n 'lockAspectRatioExtraHeight',\n 'enable',\n 'handleStyles',\n 'handleClasses',\n 'handleWrapperStyle',\n 'handleWrapperClass',\n 'children',\n 'onResizeStart',\n 'onResize',\n 'onResizeStop',\n 'handleComponent',\n 'scale',\n 'resizeRatio',\n 'snapGap',\n];\n// HACK: This class is used to calculate % size.\nvar baseClassName = '__resizable_base__';\nvar Resizable = /** @class */ (function (_super) {\n __extends(Resizable, _super);\n function Resizable(props) {\n var _a, _b, _c, _d;\n var _this = _super.call(this, props) || this;\n _this.ratio = 1;\n _this.resizable = null;\n // For parent boundary\n _this.parentLeft = 0;\n _this.parentTop = 0;\n // For boundary\n _this.resizableLeft = 0;\n _this.resizableRight = 0;\n _this.resizableTop = 0;\n _this.resizableBottom = 0;\n // For target boundary\n _this.targetLeft = 0;\n _this.targetTop = 0;\n _this.appendBase = function () {\n if (!_this.resizable || !_this.window) {\n return null;\n }\n var parent = _this.parentNode;\n if (!parent) {\n return null;\n }\n var element = _this.window.document.createElement('div');\n element.style.width = '100%';\n element.style.height = '100%';\n element.style.position = 'absolute';\n element.style.transform = 'scale(0, 0)';\n element.style.left = '0';\n element.style.flex = '0 0 100%';\n if (element.classList) {\n element.classList.add(baseClassName);\n }\n else {\n element.className += baseClassName;\n }\n parent.appendChild(element);\n return element;\n };\n _this.removeBase = function (base) {\n var parent = _this.parentNode;\n if (!parent) {\n return;\n }\n parent.removeChild(base);\n };\n _this.state = {\n isResizing: false,\n width: (_b = (_a = _this.propsSize) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 'auto',\n height: (_d = (_c = _this.propsSize) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 'auto',\n direction: 'right',\n original: {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n },\n backgroundStyle: {\n height: '100%',\n width: '100%',\n backgroundColor: 'rgba(0,0,0,0)',\n cursor: 'auto',\n opacity: 0,\n position: 'fixed',\n zIndex: 9999,\n top: '0',\n left: '0',\n bottom: '0',\n right: '0',\n },\n flexBasis: undefined,\n };\n _this.onResizeStart = _this.onResizeStart.bind(_this);\n _this.onMouseMove = _this.onMouseMove.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n return _this;\n }\n Object.defineProperty(Resizable.prototype, \"parentNode\", {\n get: function () {\n if (!this.resizable) {\n return null;\n }\n return this.resizable.parentNode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"window\", {\n get: function () {\n if (!this.resizable) {\n return null;\n }\n if (!this.resizable.ownerDocument) {\n return null;\n }\n return this.resizable.ownerDocument.defaultView;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"propsSize\", {\n get: function () {\n return this.props.size || this.props.defaultSize || DEFAULT_SIZE;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"size\", {\n get: function () {\n var width = 0;\n var height = 0;\n if (this.resizable && this.window) {\n var orgWidth = this.resizable.offsetWidth;\n var orgHeight = this.resizable.offsetHeight;\n // HACK: Set position `relative` to get parent size.\n // This is because when re-resizable set `absolute`, I can not get base width correctly.\n var orgPosition = this.resizable.style.position;\n if (orgPosition !== 'relative') {\n this.resizable.style.position = 'relative';\n }\n // INFO: Use original width or height if set auto.\n width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;\n height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;\n // Restore original position\n this.resizable.style.position = orgPosition;\n }\n return { width: width, height: height };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"sizeStyle\", {\n get: function () {\n var _this = this;\n var size = this.props.size;\n var getSize = function (key) {\n var _a;\n if (typeof _this.state[key] === 'undefined' || _this.state[key] === 'auto') {\n return 'auto';\n }\n if (_this.propsSize && _this.propsSize[key] && ((_a = _this.propsSize[key]) === null || _a === void 0 ? void 0 : _a.toString().endsWith('%'))) {\n if (_this.state[key].toString().endsWith('%')) {\n return _this.state[key].toString();\n }\n var parentSize = _this.getParentSize();\n var value = Number(_this.state[key].toString().replace('px', ''));\n var percent = (value / parentSize[key]) * 100;\n return percent + \"%\";\n }\n return getStringSize(_this.state[key]);\n };\n var width = size && typeof size.width !== 'undefined' && !this.state.isResizing\n ? getStringSize(size.width)\n : getSize('width');\n var height = size && typeof size.height !== 'undefined' && !this.state.isResizing\n ? getStringSize(size.height)\n : getSize('height');\n return { width: width, height: height };\n },\n enumerable: false,\n configurable: true\n });\n Resizable.prototype.getParentSize = function () {\n if (!this.parentNode) {\n if (!this.window) {\n return { width: 0, height: 0 };\n }\n return { width: this.window.innerWidth, height: this.window.innerHeight };\n }\n var base = this.appendBase();\n if (!base) {\n return { width: 0, height: 0 };\n }\n // INFO: To calculate parent width with flex layout\n var wrapChanged = false;\n var wrap = this.parentNode.style.flexWrap;\n if (wrap !== 'wrap') {\n wrapChanged = true;\n this.parentNode.style.flexWrap = 'wrap';\n // HACK: Use relative to get parent padding size\n }\n base.style.position = 'relative';\n base.style.minWidth = '100%';\n base.style.minHeight = '100%';\n var size = {\n width: base.offsetWidth,\n height: base.offsetHeight,\n };\n if (wrapChanged) {\n this.parentNode.style.flexWrap = wrap;\n }\n this.removeBase(base);\n return size;\n };\n Resizable.prototype.bindEvents = function () {\n if (this.window) {\n this.window.addEventListener('mouseup', this.onMouseUp);\n this.window.addEventListener('mousemove', this.onMouseMove);\n this.window.addEventListener('mouseleave', this.onMouseUp);\n this.window.addEventListener('touchmove', this.onMouseMove, {\n capture: true,\n passive: false,\n });\n this.window.addEventListener('touchend', this.onMouseUp);\n }\n };\n Resizable.prototype.unbindEvents = function () {\n if (this.window) {\n this.window.removeEventListener('mouseup', this.onMouseUp);\n this.window.removeEventListener('mousemove', this.onMouseMove);\n this.window.removeEventListener('mouseleave', this.onMouseUp);\n this.window.removeEventListener('touchmove', this.onMouseMove, true);\n this.window.removeEventListener('touchend', this.onMouseUp);\n }\n };\n Resizable.prototype.componentDidMount = function () {\n if (!this.resizable || !this.window) {\n return;\n }\n var computedStyle = this.window.getComputedStyle(this.resizable);\n this.setState({\n width: this.state.width || this.size.width,\n height: this.state.height || this.size.height,\n flexBasis: computedStyle.flexBasis !== 'auto' ? computedStyle.flexBasis : undefined,\n });\n };\n Resizable.prototype.componentWillUnmount = function () {\n if (this.window) {\n this.unbindEvents();\n }\n };\n Resizable.prototype.createSizeForCssProperty = function (newSize, kind) {\n var propsSize = this.propsSize && this.propsSize[kind];\n return this.state[kind] === 'auto' &&\n this.state.original[kind] === newSize &&\n (typeof propsSize === 'undefined' || propsSize === 'auto')\n ? 'auto'\n : newSize;\n };\n Resizable.prototype.calculateNewMaxFromBoundary = function (maxWidth, maxHeight) {\n var boundsByDirection = this.props.boundsByDirection;\n var direction = this.state.direction;\n var widthByDirection = boundsByDirection && hasDirection('left', direction);\n var heightByDirection = boundsByDirection && hasDirection('top', direction);\n var boundWidth;\n var boundHeight;\n if (this.props.bounds === 'parent') {\n var parent_1 = this.parentNode;\n if (parent_1) {\n boundWidth = widthByDirection\n ? this.resizableRight - this.parentLeft\n : parent_1.offsetWidth + (this.parentLeft - this.resizableLeft);\n boundHeight = heightByDirection\n ? this.resizableBottom - this.parentTop\n : parent_1.offsetHeight + (this.parentTop - this.resizableTop);\n }\n }\n else if (this.props.bounds === 'window') {\n if (this.window) {\n boundWidth = widthByDirection ? this.resizableRight : this.window.innerWidth - this.resizableLeft;\n boundHeight = heightByDirection ? this.resizableBottom : this.window.innerHeight - this.resizableTop;\n }\n }\n else if (this.props.bounds) {\n boundWidth = widthByDirection\n ? this.resizableRight - this.targetLeft\n : this.props.bounds.offsetWidth + (this.targetLeft - this.resizableLeft);\n boundHeight = heightByDirection\n ? this.resizableBottom - this.targetTop\n : this.props.bounds.offsetHeight + (this.targetTop - this.resizableTop);\n }\n if (boundWidth && Number.isFinite(boundWidth)) {\n maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;\n }\n if (boundHeight && Number.isFinite(boundHeight)) {\n maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;\n }\n return { maxWidth: maxWidth, maxHeight: maxHeight };\n };\n Resizable.prototype.calculateNewSizeFromDirection = function (clientX, clientY) {\n var scale = this.props.scale || 1;\n var _a = normalizeToPair(this.props.resizeRatio || 1), resizeRatioX = _a[0], resizeRatioY = _a[1];\n var _b = this.state, direction = _b.direction, original = _b.original;\n var _c = this.props, lockAspectRatio = _c.lockAspectRatio, lockAspectRatioExtraHeight = _c.lockAspectRatioExtraHeight, lockAspectRatioExtraWidth = _c.lockAspectRatioExtraWidth;\n var newWidth = original.width;\n var newHeight = original.height;\n var extraHeight = lockAspectRatioExtraHeight || 0;\n var extraWidth = lockAspectRatioExtraWidth || 0;\n if (hasDirection('right', direction)) {\n newWidth = original.width + ((clientX - original.x) * resizeRatioX) / scale;\n if (lockAspectRatio) {\n newHeight = (newWidth - extraWidth) / this.ratio + extraHeight;\n }\n }\n if (hasDirection('left', direction)) {\n newWidth = original.width - ((clientX - original.x) * resizeRatioX) / scale;\n if (lockAspectRatio) {\n newHeight = (newWidth - extraWidth) / this.ratio + extraHeight;\n }\n }\n if (hasDirection('bottom', direction)) {\n newHeight = original.height + ((clientY - original.y) * resizeRatioY) / scale;\n if (lockAspectRatio) {\n newWidth = (newHeight - extraHeight) * this.ratio + extraWidth;\n }\n }\n if (hasDirection('top', direction)) {\n newHeight = original.height - ((clientY - original.y) * resizeRatioY) / scale;\n if (lockAspectRatio) {\n newWidth = (newHeight - extraHeight) * this.ratio + extraWidth;\n }\n }\n return { newWidth: newWidth, newHeight: newHeight };\n };\n Resizable.prototype.calculateNewSizeFromAspectRatio = function (newWidth, newHeight, max, min) {\n var _a = this.props, lockAspectRatio = _a.lockAspectRatio, lockAspectRatioExtraHeight = _a.lockAspectRatioExtraHeight, lockAspectRatioExtraWidth = _a.lockAspectRatioExtraWidth;\n var computedMinWidth = typeof min.width === 'undefined' ? 10 : min.width;\n var computedMaxWidth = typeof max.width === 'undefined' || max.width < 0 ? newWidth : max.width;\n var computedMinHeight = typeof min.height === 'undefined' ? 10 : min.height;\n var computedMaxHeight = typeof max.height === 'undefined' || max.height < 0 ? newHeight : max.height;\n var extraHeight = lockAspectRatioExtraHeight || 0;\n var extraWidth = lockAspectRatioExtraWidth || 0;\n if (lockAspectRatio) {\n var extraMinWidth = (computedMinHeight - extraHeight) * this.ratio + extraWidth;\n var extraMaxWidth = (computedMaxHeight - extraHeight) * this.ratio + extraWidth;\n var extraMinHeight = (computedMinWidth - extraWidth) / this.ratio + extraHeight;\n var extraMaxHeight = (computedMaxWidth - extraWidth) / this.ratio + extraHeight;\n var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);\n var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);\n var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);\n var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);\n newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);\n newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);\n }\n else {\n newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);\n newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);\n }\n return { newWidth: newWidth, newHeight: newHeight };\n };\n Resizable.prototype.setBoundingClientRect = function () {\n var adjustedScale = 1 / (this.props.scale || 1);\n // For parent boundary\n if (this.props.bounds === 'parent') {\n var parent_2 = this.parentNode;\n if (parent_2) {\n var parentRect = parent_2.getBoundingClientRect();\n this.parentLeft = parentRect.left * adjustedScale;\n this.parentTop = parentRect.top * adjustedScale;\n }\n }\n // For target(html element) boundary\n if (this.props.bounds && typeof this.props.bounds !== 'string') {\n var targetRect = this.props.bounds.getBoundingClientRect();\n this.targetLeft = targetRect.left * adjustedScale;\n this.targetTop = targetRect.top * adjustedScale;\n }\n // For boundary\n if (this.resizable) {\n var _a = this.resizable.getBoundingClientRect(), left = _a.left, top_1 = _a.top, right = _a.right, bottom = _a.bottom;\n this.resizableLeft = left * adjustedScale;\n this.resizableRight = right * adjustedScale;\n this.resizableTop = top_1 * adjustedScale;\n this.resizableBottom = bottom * adjustedScale;\n }\n };\n Resizable.prototype.onResizeStart = function (event, direction) {\n if (!this.resizable || !this.window) {\n return;\n }\n var clientX = 0;\n var clientY = 0;\n if (event.nativeEvent && isMouseEvent(event.nativeEvent)) {\n clientX = event.nativeEvent.clientX;\n clientY = event.nativeEvent.clientY;\n }\n else if (event.nativeEvent && isTouchEvent(event.nativeEvent)) {\n clientX = event.nativeEvent.touches[0].clientX;\n clientY = event.nativeEvent.touches[0].clientY;\n }\n if (this.props.onResizeStart) {\n if (this.resizable) {\n var startResize = this.props.onResizeStart(event, direction, this.resizable);\n if (startResize === false) {\n return;\n }\n }\n }\n // Fix #168\n if (this.props.size) {\n if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {\n this.setState({ height: this.props.size.height });\n }\n if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {\n this.setState({ width: this.props.size.width });\n }\n }\n // For lockAspectRatio case\n this.ratio =\n typeof this.props.lockAspectRatio === 'number' ? this.props.lockAspectRatio : this.size.width / this.size.height;\n var flexBasis;\n var computedStyle = this.window.getComputedStyle(this.resizable);\n if (computedStyle.flexBasis !== 'auto') {\n var parent_3 = this.parentNode;\n if (parent_3) {\n var dir = this.window.getComputedStyle(parent_3).flexDirection;\n this.flexDir = dir.startsWith('row') ? 'row' : 'column';\n flexBasis = computedStyle.flexBasis;\n }\n }\n // For boundary\n this.setBoundingClientRect();\n this.bindEvents();\n var state = {\n original: {\n x: clientX,\n y: clientY,\n width: this.size.width,\n height: this.size.height,\n },\n isResizing: true,\n backgroundStyle: __assign(__assign({}, this.state.backgroundStyle), { cursor: this.window.getComputedStyle(event.target).cursor || 'auto' }),\n direction: direction,\n flexBasis: flexBasis,\n };\n this.setState(state);\n };\n Resizable.prototype.onMouseMove = function (event) {\n var _this = this;\n if (!this.state.isResizing || !this.resizable || !this.window) {\n return;\n }\n if (this.window.TouchEvent && isTouchEvent(event)) {\n try {\n event.preventDefault();\n event.stopPropagation();\n }\n catch (e) {\n // Ignore on fail\n }\n }\n var _a = this.props, maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, minWidth = _a.minWidth, minHeight = _a.minHeight;\n var clientX = isTouchEvent(event) ? event.touches[0].clientX : event.clientX;\n var clientY = isTouchEvent(event) ? event.touches[0].clientY : event.clientY;\n var _b = this.state, direction = _b.direction, original = _b.original, width = _b.width, height = _b.height;\n var parentSize = this.getParentSize();\n var max = calculateNewMax(parentSize, this.window.innerWidth, this.window.innerHeight, maxWidth, maxHeight, minWidth, minHeight);\n maxWidth = max.maxWidth;\n maxHeight = max.maxHeight;\n minWidth = max.minWidth;\n minHeight = max.minHeight;\n // Calculate new size\n var _c = this.calculateNewSizeFromDirection(clientX, clientY), newHeight = _c.newHeight, newWidth = _c.newWidth;\n // Calculate max size from boundary settings\n var boundaryMax = this.calculateNewMaxFromBoundary(maxWidth, maxHeight);\n if (this.props.snap && this.props.snap.x) {\n newWidth = findClosestSnap(newWidth, this.props.snap.x, this.props.snapGap);\n }\n if (this.props.snap && this.props.snap.y) {\n newHeight = findClosestSnap(newHeight, this.props.snap.y, this.props.snapGap);\n }\n // Calculate new size from aspect ratio\n var newSize = this.calculateNewSizeFromAspectRatio(newWidth, newHeight, { width: boundaryMax.maxWidth, height: boundaryMax.maxHeight }, { width: minWidth, height: minHeight });\n newWidth = newSize.newWidth;\n newHeight = newSize.newHeight;\n if (this.props.grid) {\n var newGridWidth = snap(newWidth, this.props.grid[0], this.props.gridGap ? this.props.gridGap[0] : 0);\n var newGridHeight = snap(newHeight, this.props.grid[1], this.props.gridGap ? this.props.gridGap[1] : 0);\n var gap = this.props.snapGap || 0;\n var w = gap === 0 || Math.abs(newGridWidth - newWidth) <= gap ? newGridWidth : newWidth;\n var h = gap === 0 || Math.abs(newGridHeight - newHeight) <= gap ? newGridHeight : newHeight;\n newWidth = w;\n newHeight = h;\n }\n var delta = {\n width: newWidth - original.width,\n height: newHeight - original.height,\n };\n if (width && typeof width === 'string') {\n if (width.endsWith('%')) {\n var percent = (newWidth / parentSize.width) * 100;\n newWidth = percent + \"%\";\n }\n else if (width.endsWith('vw')) {\n var vw = (newWidth / this.window.innerWidth) * 100;\n newWidth = vw + \"vw\";\n }\n else if (width.endsWith('vh')) {\n var vh = (newWidth / this.window.innerHeight) * 100;\n newWidth = vh + \"vh\";\n }\n }\n if (height && typeof height === 'string') {\n if (height.endsWith('%')) {\n var percent = (newHeight / parentSize.height) * 100;\n newHeight = percent + \"%\";\n }\n else if (height.endsWith('vw')) {\n var vw = (newHeight / this.window.innerWidth) * 100;\n newHeight = vw + \"vw\";\n }\n else if (height.endsWith('vh')) {\n var vh = (newHeight / this.window.innerHeight) * 100;\n newHeight = vh + \"vh\";\n }\n }\n var newState = {\n width: this.createSizeForCssProperty(newWidth, 'width'),\n height: this.createSizeForCssProperty(newHeight, 'height'),\n };\n if (this.flexDir === 'row') {\n newState.flexBasis = newState.width;\n }\n else if (this.flexDir === 'column') {\n newState.flexBasis = newState.height;\n }\n var widthChanged = this.state.width !== newState.width;\n var heightChanged = this.state.height !== newState.height;\n var flexBaseChanged = this.state.flexBasis !== newState.flexBasis;\n var changed = widthChanged || heightChanged || flexBaseChanged;\n if (changed) {\n // For v18, update state sync\n flushSync(function () {\n _this.setState(newState);\n });\n }\n if (this.props.onResize) {\n if (changed) {\n this.props.onResize(event, direction, this.resizable, delta);\n }\n }\n };\n Resizable.prototype.onMouseUp = function (event) {\n var _a, _b;\n var _c = this.state, isResizing = _c.isResizing, direction = _c.direction, original = _c.original;\n if (!isResizing || !this.resizable) {\n return;\n }\n var delta = {\n width: this.size.width - original.width,\n height: this.size.height - original.height,\n };\n if (this.props.onResizeStop) {\n this.props.onResizeStop(event, direction, this.resizable, delta);\n }\n if (this.props.size) {\n this.setState({ width: (_a = this.props.size.width) !== null && _a !== void 0 ? _a : 'auto', height: (_b = this.props.size.height) !== null && _b !== void 0 ? _b : 'auto' });\n }\n this.unbindEvents();\n this.setState({\n isResizing: false,\n backgroundStyle: __assign(__assign({}, this.state.backgroundStyle), { cursor: 'auto' }),\n });\n };\n Resizable.prototype.updateSize = function (size) {\n var _a, _b;\n this.setState({ width: (_a = size.width) !== null && _a !== void 0 ? _a : 'auto', height: (_b = size.height) !== null && _b !== void 0 ? _b : 'auto' });\n };\n Resizable.prototype.renderResizer = function () {\n var _this = this;\n var _a = this.props, enable = _a.enable, handleStyles = _a.handleStyles, handleClasses = _a.handleClasses, handleWrapperStyle = _a.handleWrapperStyle, handleWrapperClass = _a.handleWrapperClass, handleComponent = _a.handleComponent;\n if (!enable) {\n return null;\n }\n var resizers = Object.keys(enable).map(function (dir) {\n if (enable[dir] !== false) {\n return (React.createElement(Resizer, { key: dir, direction: dir, onResizeStart: _this.onResizeStart, replaceStyles: handleStyles && handleStyles[dir], className: handleClasses && handleClasses[dir] }, handleComponent && handleComponent[dir] ? handleComponent[dir] : null));\n }\n return null;\n });\n // #93 Wrap the resize box in span (will not break 100% width/height)\n return (React.createElement(\"div\", { className: handleWrapperClass, style: handleWrapperStyle }, resizers));\n };\n Resizable.prototype.render = function () {\n var _this = this;\n var extendsProps = Object.keys(this.props).reduce(function (acc, key) {\n if (definedProps.indexOf(key) !== -1) {\n return acc;\n }\n acc[key] = _this.props[key];\n return acc;\n }, {});\n var style = __assign(__assign(__assign({ position: 'relative', userSelect: this.state.isResizing ? 'none' : 'auto' }, this.props.style), this.sizeStyle), { maxWidth: this.props.maxWidth, maxHeight: this.props.maxHeight, minWidth: this.props.minWidth, minHeight: this.props.minHeight, boxSizing: 'border-box', flexShrink: 0 });\n if (this.state.flexBasis) {\n style.flexBasis = this.state.flexBasis;\n }\n var Wrapper = this.props.as || 'div';\n return (React.createElement(Wrapper, __assign({ style: style, className: this.props.className }, extendsProps, { \n // `ref` is after `extendsProps` to ensure this one wins over a version\n // passed in\n ref: function (c) {\n if (c) {\n _this.resizable = c;\n }\n } }),\n this.state.isResizing && React.createElement(\"div\", { style: this.state.backgroundStyle }),\n this.props.children,\n this.renderResizer()));\n };\n Resizable.defaultProps = {\n as: 'div',\n onResizeStart: function () { },\n onResize: function () { },\n onResizeStop: function () { },\n enable: {\n top: true,\n right: true,\n bottom: true,\n left: true,\n topRight: true,\n bottomRight: true,\n bottomLeft: true,\n topLeft: true,\n },\n style: {},\n grid: [1, 1],\n gridGap: [0, 0],\n lockAspectRatio: false,\n lockAspectRatioExtraWidth: 0,\n lockAspectRatioExtraHeight: 0,\n scale: 1,\n resizeRatio: 1,\n snapGap: 0,\n };\n return Resizable;\n}(React.PureComponent));\nexport { Resizable };\n","import classNames from 'classnames';\r\nimport { useCallback, useEffect, useRef, forwardRef, useImperativeHandle, useContext, useMemo, DragEventHandler } from 'react';\r\nimport DruidWebchatContext, { DruidWebchatContextType } from './WebChatContext';\r\nimport { determineDirection, getSideRTLAware } from './utils/localeUtils';\r\nimport { useAutoExpand }from './hooks/useAutoExpand';\r\nimport { useContainerElementToggle } from './hooks/useContainerElementToggle';\r\n\r\nimport { WebChatOptions, webChatDefaultOptions as defaultOptions } from './WebChatOptions';\r\n\r\nimport loadable from '@loadable/component';\r\n\r\n\r\n// import WebChat from './WebChat';\r\nimport './MinimizableWebChat.scss';\r\n\r\nimport '../fabric-icons-inline.css';\r\nimport { useDeterminedDirection } from './selectors/useDeterminedDirection';\r\nimport { mobileAndTabletcheck } from './utils/mobileAndTabletCheck';\r\nimport useStyleOptions from 'botframework-webchat/lib/hooks/useStyleOptions';\r\nimport { useMergedOptions } from './selectors/useMergedOptions';\r\nimport InlineSVG from 'svg-inline-react';\r\nimport FocusTrap from 'focus-trap-react';\r\nimport { useDraggableEffect } from './hooks/useDraggableEffect';\r\nimport { useWebChatRefsContext } from './hooks/useWebChatRefsContext';\r\nimport { Resizable } from 're-resizable';\r\n// import { DruidAction } from './hooks/useWebChatReducer';\r\n\r\nconst LoadableWebchat = loadable(() => {\r\n return import(\r\n /* webpackChunkName: \"modules\" */ \r\n './WebChat');\r\n });\r\n\r\n\r\nconst MinimizableWebChat = forwardRef(({initialOptions}: {initialOptions: Partial<WebChatOptions>}, ref) => {\r\n\r\n const [druidWebChatState, druidWebChatDispatch,, druidStyleToEmotionObject] = useContext<DruidWebchatContextType>(DruidWebchatContext);\r\n const { headerWasDragged } = useWebChatRefsContext();\r\n\r\n const { styleOptions : { accent, subtle, sendBoxButtonColorOnDisabled, sendBoxButtonColorOnHover, sendBoxButtonColorOnFocus, bubbleTextColor, paddingRegular, primaryFont, backgroundColor } = {},\r\n disabled,\r\n UI: { \r\n top, bottom, height, width, minWidth, chatBoxBorderRadius, chatBoxBottomRadius, chatBoxBorderColor, chatBoxBorderSize,\r\n transcriptFontSize, headerTextColor, closeButtonEnabled, floatRight, resizableEnabled,\r\n containerElement, draggableEnabled, fullScreenMode, accessibilityFeaturesEnabled\r\n } = {} \r\n } = useMergedOptions();\r\n\r\n const determinedDir = useDeterminedDirection();\r\n\r\n const webchatLoadedRef = useRef<boolean>(false);\r\n\r\n useAutoExpand();\r\n\r\n useContainerElementToggle({initialOptions});\r\n\r\n useEffect(() => {\r\n containerElement\r\n // && druidWebChatState.loaded\r\n && containerElement instanceof HTMLElement\r\n // && druidWebChatState.mergedChatOptions.UI?.closeButtonEnabled \r\n && (containerElement.style.display = druidWebChatState.containerElementVisible ? 'initial': 'none');\r\n }, [druidWebChatState.containerElementVisible, containerElement, closeButtonEnabled, druidWebChatState.loaded]);\r\n\r\n const calculatedBottom = `calc(${bottom}px + 64px + ${paddingRegular}px)`;\r\n const ROOT_STYLE = {\r\n '&.druid__minimizable__web-chat': {\r\n zIndex: 1051,\r\n fontFamily: primaryFont,\r\n \r\n '& .druid__minimizable__web-chat__chat-box': {\r\n backgroundColor: druidWebChatState.INITIALIZATION_STATUS === 'success' ? 'transparent': backgroundColor,\r\n border: chatBoxBorderSize,\r\n borderStyle: 'solid',\r\n borderColor: chatBoxBorderColor,\r\n borderRadius: chatBoxBorderRadius,\r\n borderBottomLeftRadius: chatBoxBottomRadius === 0 ? 0 : chatBoxBottomRadius || chatBoxBorderRadius,\r\n borderBottomRightRadius: chatBoxBottomRadius === 0 ? 0 : chatBoxBottomRadius || chatBoxBorderRadius,\r\n boxShadow: '0 0 5px rgba(0, 0, 0, .2)',\r\n backdropFilter: 'blur(10)',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'fixed !important',\r\n overflow: 'hidden',\r\n resize: !druidWebChatState.isMobile && !!resizableEnabled && !headerWasDragged && 'horizontal',\r\n height: closeButtonEnabled ? (typeof height === 'number' ? height - 64 - paddingRegular!: `calc(${height} - ${calculatedBottom})`): height,\r\n width: width,\r\n minWidth: minWidth,\r\n maxWidth: `calc(100vw - ${typeof floatRight === 'number' ? floatRight + 'px' : floatRight})`,\r\n bottom: closeButtonEnabled && typeof bottom === 'number' ? calculatedBottom: bottom,\r\n top: top,\r\n animationName: 'fadeIn',\r\n animationDuration: '1s',\r\n '&.hide': {\r\n display: 'none'\r\n }, \r\n '&.left': {\r\n left: floatRight\r\n },\r\n '&.right': {\r\n right: floatRight\r\n },\r\n '& .druid__web-chat__chat-container': {\r\n fontSize: transcriptFontSize,\r\n direction: determinedDir\r\n }\r\n },\r\n '.druid__minimizable__web-chat__default-container-element': {\r\n backgroundColor: accent,\r\n borderRadius: '50%',\r\n border: `2px solid ${accent}`,\r\n bottom: 20,\r\n boxShadow: '0 0 20px rgba(0, 0, 0, .2)',\r\n color: headerTextColor,\r\n fontSize: 30,\r\n height: 64,\r\n lineHeight: 1,\r\n // outline: 0,\r\n padding: 15,\r\n position: 'fixed',\r\n right: getSideRTLAware(determinedDir, druidWebChatState.side) === 'right' && floatRight,\r\n left: getSideRTLAware(determinedDir, druidWebChatState.side) === 'left' && floatRight,\r\n width: 64,\r\n cursor: 'pointer',\r\n '& svg': {\r\n verticalAlign: 'unset'\r\n },\r\n '&_new-messages': {\r\n height: 16,\r\n width: 16,\r\n borderRadius: '50%',\r\n position: 'absolute',\r\n top: '-2px',\r\n right: '-2px',\r\n backgroundColor: '#ed1c24',\r\n fontSize: '18px'\r\n }\r\n },\r\n }\r\n };\r\n\r\n const escapeDeactivatesCallback = useCallback(() => (evnt: KeyboardEvent) => {\r\n if(!accessibilityFeaturesEnabled) {\r\n return true;\r\n }\r\n const target = evnt.target;\r\n if(target instanceof HTMLButtonElement && target.classList.contains(\"webchat__keyboard-help__close-button\")) {\r\n return false;\r\n }\r\n return true;\r\n }, []);\r\n\r\n const rootClassName = druidStyleToEmotionObject(ROOT_STYLE) + '';\r\n // TODO: [P2] Currently, we cannot unmount Web Chat from DOM when it is minimized.\r\n // Today, if we unmount it, Web Chat will call disconnect on DirectLineJS object.\r\n // When minimized, we still want to maintain that connection while the UI is gone.\r\n // This is related to https://github.com/microsoft/BotFramework-WebChat/issues/2750.\r\n\r\n return (\r\n \r\n\r\n <div className={classNames(\"druid__minimizable__web-chat\", rootClassName + '', (druidWebChatState.isMobile || fullScreenMode) && 'druid-is-mobile')}>\r\n {(!druidWebChatState.minimized || (druidWebChatState.initialized && druidWebChatState.mergedChatOptions.backgroundTrafficEnabled)) && (\r\n \r\n <FocusTrap active={!druidWebChatState.minimized && webchatLoadedRef?.current && !druidWebChatState.isMobile && initialOptions.UI?.withoutRender !== true } \r\n focusTrapOptions={{delayInitialFocus: false, allowOutsideClick: true, clickOutsideDeactivates: true, escapeDeactivates: escapeDeactivatesCallback()}}>\r\n {/* containerElements={[document.querySelector(\".druid__minimizable__web-chat\")!]} */}\r\n <Resizable defaultSize={{width: width as any, height: `to_break`} }\r\n enable={!resizableEnabled ? false : { top:true, right: getSideRTLAware(determinedDir, druidWebChatState.side) === 'left', bottom:false, left:getSideRTLAware(determinedDir, druidWebChatState.side) === 'right', topRight:false, bottomRight:false, bottomLeft:false, topLeft:false }}\r\n className={classNames('druid__minimizable__web-chat__chat-box', getSideRTLAware(determinedDir, druidWebChatState.side) === 'left' ? 'left' : 'right', druidWebChatState.minimized ? 'hide' : '')}\r\n style={{'direction': getSideRTLAware(determinedDir, druidWebChatState.side) === 'left' ? 'ltr' : 'rtl'}}\r\n >\r\n <LoadableWebchat\r\n ref={webchatLoadedRef}\r\n className=\"druid__web-chat__chat-container\"\r\n initialOptions={initialOptions}\r\n />\r\n </Resizable>\r\n </FocusTrap>\r\n \r\n )}\r\n\r\n {\r\n druidWebChatState.minimized && druidWebChatState.loaded && !containerElement &&\r\n <ButtonToggleWebchat>\r\n <></>\r\n {/* <svg fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"></path>\r\n </svg> */}\r\n </ButtonToggleWebchat>\r\n }\r\n {\r\n !druidWebChatState.minimized && druidWebChatState.loaded && (closeButtonEnabled && !druidWebChatState.isMobile) &&\r\n <ButtonToggleWebchat>\r\n <></>\r\n {/* <svg stroke=\"currentColor\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M1.293 1.293a1 1 0 0 1 1.414 0L8 6.586l5.293-5.293a1 1 0 1 1 1.414 1.414L9.414 8l5.293 5.293a1 1 0 0 1-1.414 1.414L8 9.414l-5.293 5.293a1 1 0 0 1-1.414-1.414L6.586 8 1.293 2.707a1 1 0 0 1 0-1.414z\"></path>\r\n </svg> */}\r\n </ButtonToggleWebchat>\r\n }\r\n \r\n </div>\r\n );\r\n});\r\n\r\nMinimizableWebChat.defaultProps = { initialOptions: defaultOptions };\r\n// MinimizableWebChat.displayName = \"MinimizableWebChat\";\r\n\r\n\r\nconst defaultExpandIcon = ({size}: {size: any}) => {\r\n return ` <svg fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"></path>\r\n</svg>`;\r\n};\r\nconst defaultCollapseIcon = ({size}: {size: any}) => {\r\n return `<svg stroke=\"currentColor\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M1.293 1.293a1 1 0 0 1 1.414 0L8 6.586l5.293-5.293a1 1 0 1 1 1.414 1.414L9.414 8l5.293 5.293a1 1 0 0 1-1.414 1.414L8 9.414l-5.293 5.293a1 1 0 0 1-1.414-1.414L6.586 8 1.293 2.707a1 1 0 0 1 0-1.414z\"></path>\r\n</svg>`;\r\n};\r\nconst ButtonToggleWebchat = ({children}) => {\r\n const [druidWebChatState, druidWebChatDispatch,,] = useContext<DruidWebchatContextType>(DruidWebchatContext);\r\n const { UI: { v2_containerElement_expand_icon = \"\", v2_containerElement_collapse_icon = \"\", draggableEnabled } = {},\r\n styleOptions: { } = {}\r\n } = useMergedOptions();\r\n \r\n const buttonRef = useRef<HTMLButtonElement>(null);\r\n const [onDragStart] = useDraggableEffect(draggableEnabled, buttonRef);\r\n\r\n return (<button className=\"druid__minimizable__web-chat__default-container-element\" style={{cursor: draggableEnabled ? 'move' : 'pointer'}} ref={buttonRef} id=\"druid__default_container-element\" onDragStart={onDragStart} draggable={!!draggableEnabled} onClick={() => druidWebChatDispatch({ type: druidWebChatState.minimized ? 'OPEN_WEBCHAT': 'CLOSE_WEBCHAT' })} aria-label={druidWebChatState.minimized ? 'Open chat' : 'Close chat'}>\r\n { druidWebChatState.minimized && <InlineSVG src={typeof v2_containerElement_expand_icon === \"function\" ? v2_containerElement_expand_icon({size: 30}): (v2_containerElement_expand_icon || defaultExpandIcon({size: 30}))} raw={true} ></InlineSVG> }\r\n { !druidWebChatState.minimized && <InlineSVG src={typeof v2_containerElement_collapse_icon === \"function\" ? v2_containerElement_collapse_icon({size: 30}): (v2_containerElement_collapse_icon || defaultCollapseIcon({size: 30}))} raw={true} ></InlineSVG>}\r\n {druidWebChatState.newMessage && <span className=\"ms-Icon druid__minimizable__web-chat__default-container-element_new-messages\" />}\r\n </button>);\r\n}\r\n\r\nexport default MinimizableWebChat;\r\n","import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\n\nimport MinimizableWebChat from './Webchat/MinimizableWebChat';\n// import WebPageBackground from './WebPage.jpg';\nimport './App.css';\nimport { WebChatOptions, webChatDefaultOptions as defaultOptions } from './Webchat/WebChatOptions';\nimport { useWebChatReducer } from './Webchat/hooks/useWebChatReducer';\nimport DruidWebchatContext from './Webchat/WebChatContext';\nimport DruidWebchatRefsContext from './Webchat/contexts/WebChatRefsContext';\nimport { useInitWebChatRefsContext } from './Webchat/hooks/useWebChatRefsContext';\nimport { useLoadConfiguration } from './Webchat/hooks/useLoadConfiguration';\nimport classNames from 'classnames';\nimport loadable from '@loadable/component';\nimport * as merge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\nimport { determineDirection } from \"./Webchat/utils/localeUtils\";\n\nexport const LoadableWebchat = loadable(() => {\n return import(\n /* webpackChunkName: \"modules\" */\n './Webchat/WebChat');\n});\n\n\n\nconst App = forwardRef((initialOptions: WebChatOptions, ref) => {\n const contextValue = useWebChatReducer(initialOptions);\n \n\n const refsContextValue = useInitWebChatRefsContext();\n\n const wcRootRef = useRef<HTMLDivElement>(null);\n\n const [druidWebChatState, druidWebChatDispatch, getState, druidStyleToEmotionObject] = contextValue;\n\n const { styleOptions: { primaryFont } = {},\n UI: { lineHeight, rootFontSize, transcriptFontSize } = {},\n dir: propsDir,\n customDruidStyleSet: { webchatRoot: webchatRootStyleSet = {}} = {}\n } = druidWebChatState.mergedChatOptions;\n\n const { locale } = druidWebChatState;\n\n useImperativeHandle(ref, () => ({\n druidWebChatDispatch,\n // bfDispatch: bfStore.dispatch\n bfDispatch: druidWebChatState.store?.dispatch,\n getState: getState\n }), [druidWebChatDispatch, druidWebChatState.store?.dispatch, getState]); //bfStore.dispatch, \n\n useEffect(() => {\n refsContextValue.setWcRootRef(wcRootRef.current || undefined);\n }, [refsContextValue]);\n\n const determinedDir = useMemo(() => determineDirection(propsDir, locale), [propsDir, locale]);\n // const determinedDir = useDeterminedDirection(contextValue);\n // moved to app.tsx\n useLoadConfiguration({ contextValue, initialOptions });\n\n\n const ROOT_STYLE = merge.all([\n {\n '&.druid__web-chat__root-container': {\n fontFamily: primaryFont,\n height: '100%',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n lineHeight: lineHeight,\n fontSize: rootFontSize,\n '& .druid__web-chat__chat-container': {\n overflow: 'hidden',\n flexGrow: 1,\n fontSize: transcriptFontSize,\n height: 'auto' // override of bfv4 height: 100%. this is flex, use flexGrow: 1 above\n }\n }\n }, webchatRootStyleSet], { isMergeableObject: isPlainObject });\n\n const rootClassName = druidStyleToEmotionObject(ROOT_STYLE) + '';\n\n\n return (\n \n <DruidWebchatContext.Provider value={contextValue}>\n <DruidWebchatRefsContext.Provider value={refsContextValue}>\n <div ref={wcRootRef} style={{...(initialOptions.UI?.withoutRender === true && { display: \"none\" })}} className={classNames(\"druid__web-chat__root-container\", determinedDir === 'ltr' ? 'druid__web-chat__root-direction_ltr' : 'druid__web-chat__root-direction_rtl', rootClassName + '')} >\n {\n initialOptions.isWidget && !initialOptions.UI?.parentElement ?\n <MinimizableWebChat ref={ref} initialOptions={initialOptions} /> // seems like passing the ref is no longer needed. see (note 1) comment below\n :\n (druidWebChatState.loaded === true && <LoadableWebchat //loaded used for reset to take effect. druidWebchatState.store is null after reset. feel free to remove condition + remove reload button on isWidget == false\n // ref={ref} // (note 1): should we forward the initial ref ? there is a problem -- druidWebchatInstance becomes true/false/null because of shouldRenderWebchat imperativeHandler from WebChat.tsx. if ref is needed, add here another useRef and forward it\n className=\"druid__web-chat__chat-container\"\n initialOptions={initialOptions}\n />)\n\n }\n </div>\n </DruidWebchatRefsContext.Provider>\n </DruidWebchatContext.Provider>\n\n // <DruidWebchatContext.Provider value={[druidWebChatState, druidWebChatDispatch, getState, druidStyleToEmotionObject]}>\n // {/* NEED TO FIND A WAY TO dynamic import WebChat component. if loaded here, dynamic import does not work */ }\n // </DruidWebchatContext.Provider>\n );\n});\n// <div className=\"App\">\n// {/* <img alt=\"product background\" src={WebPageBackground} /> */}\n\n// </div>\n// );\n\nexport default App;\n","\nimport './webpackPublicPath';\nimport React from 'react'\nimport ReactDOM from 'react-dom';\nimport './index.scss';\nimport root from 'react-shadow';\nimport App from './App';\nimport { isPlainObject } from 'is-plain-object';\nimport * as merge from 'deepmerge';\n\n\n// import * as serviceWorker from './serviceWorker';\nimport { DruidCookies, overridenBFStyleOptions, webChatDefaultOptions, WebChatOptions } from './Webchat/WebChatOptions';\n\nimport { mergeChatOptions, visitMergedChatOptions } from './Webchat/utils/mergeChatOptions';\nimport { randomHash } from './Webchat/utils/randomHash';\n\n// import 'bootstrap/dist/css/bootstrap.min.css';\n// import 'react-loading-skeleton/dist/skeleton.css'\nimport { newMessageNotificationSound } from './resources/audio/notificationSounds';\nimport { druidCreateBlob } from './Webchat/utils/urlUtils';\nimport { mobileAndTabletcheck } from './Webchat/utils/mobileAndTabletCheck';\nimport Cookies from 'js-cookie';\nimport { removeAllCookies, removeCookie } from './Webchat/utils/cookiesUtils';\nimport { take, race, delay } from 'redux-saga/effects';\n\n// import * as ACData from \"adaptivecards-templating\";\n// import * as AdaptiveCards from \"adaptivecards\";\n\n// import * as babel from '@babel/standalone';\n\n// export * as babel from '@babel/standalone';\n\n// const url = new URL((document.currentScript as HTMLScriptElement).src);\n// const widgetLink = url.href.substring(0, url.href.lastIndexOf('/') + 1);\n// __webpack_public_path__ = widgetLink;\n\nexport { default as React } from 'react';\nexport * as ReactDOM from 'react-dom';\nexport { default as Cookies } from 'js-cookie';\nexport { webChatDefaultOptions };\nexport { visitMergedChatOptions, overridenBFStyleOptions };\nexport { put, takeLatest, all, take, call, race , takeEvery, delay} from 'redux-saga/effects';\nexport { default as defaultDruidLocalization } from './Webchat/logics/defaultDruidLocalization.json';\nexport { makeThumbnail } from './Webchat/utils/pictureUtils';\nexport { default as sendFiles } from 'botframework-webchat-core/lib/actions/sendFiles';\nexport { createDirectLineOverwrite as createDirectLine } from './Webchat/hooks/useCreateDirectLine';\nexport { druidLanguageComparison, isNewActivity } from \"./Webchat/logics/druidBusinessLogic\";\nexport { default as Chat } from './App';\n\nexport { default as platform } from 'platform';\nexport {default as activityFromBot } from 'botframework-webchat-core/src/definitions/activityFromBot';\n\n\nexport var druidWebChatInstance: any = null;\nexport var multichatInstance: any = null;\nexport var notificationsSounds: any = {\n\n};\nexport var initialOptions: WebChatOptions;\n\nexport const init = (options: WebChatOptions): Promise<boolean> => {\n\n commonInit();\n initialOptions = options;\n options.instanceID = randomHash();\n\n var rootElem = document.getElementById(\"druidWebchatRoot_v2\") || document.createElement(\"div\");\n rootElem.setAttribute(\"id\", \"druidWebchatRoot_v2\");\n rootElem.className = \"\";\n rootElem.classList.add('druidWebchatRoot_v2', options.instanceID);\n rootElem.style.height = initialOptions.UI?.parentElement ? '100%': 'auto';\n rootElem.style.width = initialOptions.UI?.parentElement ? '100%': 'auto';\n\n var rootElemShadow = (initialOptions.UI?.parentElement || document.body);//.attachShadow({mode: 'open'});\n var newElem = rootElemShadow.appendChild(rootElem);\n \n initialOptions.isWidget = true;\n return new Promise<boolean>((resolve) => { options.onLoadHandlerPromise = resolve; ReactDOM.render(<App key={options.instanceID} ref={(instance) => {druidWebChatInstance = instance;}} {...options}/>, newElem); });\n}\n\nexport const renderWebchat = (options: WebChatOptions): void => {\n commonInit();\n\n initialOptions = options;\n initialOptions.instanceID = randomHash();\n if(initialOptions.authorizationResultDto) \n {\n if(!initialOptions.botId) {\n initialOptions.botId = initialOptions.authorizationResultDto.botId\n }\n if(!initialOptions.baseUrl) {\n initialOptions.baseUrl = initialOptions.authorizationResultDto.botDto?.apiUrl;\n }\n if(!initialOptions.userId) {\n initialOptions.userId = initialOptions.authorizationResultDto.userId\n }\n } else {\n throw new Error('[Error]: please provide `authorizationResultDto`.');\n }\n\n if(initialOptions.conversationTokenEnabled === undefined || initialOptions.conversationTokenEnabled === null) {\n initialOptions.conversationTokenEnabled = false;\n } \n\n \n \n var rootElem = document.getElementById(\"druidWebchatRoot_v2\") || document.createElement(\"div\");\n rootElem.setAttribute(\"id\", \"druidWebchatRoot_v2\");\n rootElem.classList.add('druidWebchatRoot_v2', options.instanceID);\n rootElem.style.height = initialOptions.UI?.parentElement ? '100%': 'auto';\n rootElem.style.width = initialOptions.UI?.parentElement ? '100%': 'auto';\n\n var newElem = (initialOptions.UI?.parentElement || document.body).appendChild(rootElem);\n\n initialOptions.isWidget = false;\n ReactDOM.render(<App key={options.instanceID} ref={(instance) => druidWebChatInstance = instance} {...initialOptions}/>, newElem);\n}\n\nexport const commonInit = () => {\n loadReact(); // used for babel\n onResizeHandler();\n addWindowListeners();\n initNotifications();\n}\n\nexport const reInitializeChat = (withNewOptions?: WebChatOptions) => {\n // if(druidWebChatInstance) {\n // druidWebChatInstance.druidWebChatDispatch({\n // type: 'RESET',\n // payload: withNewOptions\n // });\n const initFunction = initialOptions.isWidget ? init : renderWebchat\n // MM: reInitializeChat with init call is not equal to type: 'RESET' action. reset keeps previous mergedChatOptions form state.\n if(withNewOptions) {\n initFunction(mergeChatOptions(initialOptions, withNewOptions));\n // init(merge.all<WebChatOptions>([initialOptions, withNewOptions], { isMergeableObject: isPlainObject }));\n } else {\n initFunction(initialOptions);\n }\n\n \n // }\n}\n\nexport const open = () => {\n if(druidWebChatInstance) {\n druidWebChatInstance.druidWebChatDispatch({\n type: 'OPEN_WEBCHAT'\n });\n }\n}\n\n\nexport const collapse = () => {\n if(druidWebChatInstance) {\n druidWebChatInstance.druidWebChatDispatch({\n type: 'CLOSE_WEBCHAT'\n });\n }\n}\n\nexport const destroy = (clearCookies: boolean) => {\n var rootElem = document.getElementById(\"druidWebchatRoot_v2\");\n\n if(clearCookies) {\n removeAllCookies(druidWebChatInstance.getState());\n }\n\n rootElem && ReactDOM.unmountComponentAtNode(rootElem);\n}\nexport const changeLocale = (locale) => {\n if(druidWebChatInstance) {\n // druidWebChatInstance.druidWebChatDispatch({\n // type: 'SET_MERGEDCHATOPTIONS',\n // payload: {\n // locale\n // }\n // });\n druidWebChatInstance.druidWebChatDispatch({\n type: 'SET_SELECTEDLANGUAGE',\n payload: locale\n });\n }\n}\n\nexport const sendMessage = (message) => {\n if(druidWebChatInstance && message) {\n druidWebChatInstance.bfDispatch?.({\n type: 'WEB_CHAT/SEND_MESSAGE',\n payload: {\n text: message\n }\n });\n }\n}\n\n// TO CHECK IF event.value is object, NOT STRING!!!!!!!!!!!!!!!!!!!!!!!!!!!! will not work with string\nexport const sendEvent = (event) => {\n if(druidWebChatInstance && event) {\n // if(event.value && typeof event.value === \"object\") {\n // event.value = JSON.stringify(event.value);\n // }\n druidWebChatInstance.bfDispatch?.({\n type: 'WEB_CHAT/SEND_EVENT',\n payload: event\n });\n }\n}\n\nexport const sendEventWithAnswer = (payload: string | object, { timeoutDelayMs, withoutRender = false, noOfExpectedMessagesFromBot = 1 }: { timeoutDelayMs?: number, withoutRender?: boolean, noOfExpectedMessagesFromBot?: number } = {}) => {\n let isInitialized = false;\n if(druidWebChatInstance.getState()?.INITIALIZATION_STATUS === \"success\") {\n isInitialized = true\n }\n\n initialOptions.UI ||= {}\n if(withoutRender === true) {\n initialOptions.UI.withoutRender = true\n }\n open();\n return new Promise((resolve, reject) => {\n DruidWebchat_v2.customGeneratorFunction = function* (action: any) {\n if(action.type === 'DIRECT_LINE/CONNECT_FULFILLED' || (isInitialized && action.type === 'OPEN_WEBCHAT')) {\n if(typeof payload === 'string') {\n sendMessage(payload)\n } else {\n sendEvent(payload)\n }\n try {\n // const action = yield take('DIRECT_LINE/POST_ACTIVITY_FULFILLED')\n const { action, timeout } = yield race({\n action: take('DIRECT_LINE/POST_ACTIVITY_FULFILLED'),\n timeout: delay(timeoutDelayMs || 10000), \n });\n\n if(timeout) {\n delete DruidWebchat_v2.customGeneratorFunction\n return reject(`timeout_send`); \n }\n const { id } = action?.payload?.activity || {};\n\n let messagesFromBot = 0;\n const { responseAction, responseActionTimeout } = yield race({\n responseAction: take((action) => {\n const expectedAction = action.type === 'DIRECT_LINE/INCOMING_ACTIVITY' \n if(!expectedAction) {\n return false;\n }\n const { replyToId } = action?.payload?.activity\n if(id === replyToId) {\n messagesFromBot++;\n }\n \n if(messagesFromBot >= (noOfExpectedMessagesFromBot || 1)) {\n return true;\n }\n return false;\n }),\n responseActionTimeout: delay(timeoutDelayMs || 10000), \n });\n\n if(responseActionTimeout) {\n delete DruidWebchat_v2.customGeneratorFunction\n return reject(`timeout_answer`); \n }\n\n resolve(responseAction); \n \n } catch (error) {\n reject(error); \n } finally {\n delete DruidWebchat_v2.customGeneratorFunction\n }\n }\n };\n });\n}\n\n\nexport const loadReact = () => {\n if(!(window as any).React) {\n (window as any).React = React;\n }\n if(!(window as any).ReactDOM) {\n (window as any).ReactDOM = ReactDOM;\n }\n}\n\nexport const getMergedChatOptions = () => {\n return druidWebChatInstance?.getState()?.mergedChatOptions;\n}\n\n\nexport const disableChat = (disable?: boolean) => {\n const isDisabled = disable === true || disable === undefined;\n druidWebChatInstance?.druidWebChatDispatch({type: 'SET_MERGEDCHATOPTIONS', payload: { disabled: isDisabled }});\n}\nexport const setActivityStatusBotName = (name) => {\n druidWebChatInstance?.druidWebChatDispatch({type: 'SET_MERGEDCHATOPTIONS', payload: { UI: { activityStatusBotName: name }}});\n}\n\nexport const setActivityStatusUserName = (name) => {\n druidWebChatInstance?.druidWebChatDispatch({type: 'SET_MERGEDCHATOPTIONS', payload: { UI: { activityStatusUserName: name }}});\n}\n\nexport const setMergedChatOptionsSimpleValue = (variablePath: string[], variableValue: any) => {\n druidWebChatInstance?.druidWebChatDispatch({type: 'SET_MERGEDCHATOPTIONS_SIMPLE_VARIABLE', payload: { variablePath: [...variablePath], variableValue: variableValue }})\n}\nexport const druidDispatch = (action) => {\n return druidWebChatInstance?.druidWebChatDispatch(action);\n}\n\nexport const bfDispatch = (action) => {\n return druidWebChatInstance?.bfDispatch(action);\n}\n\nexport const getActivities = () => {\n return druidWebChatInstance?.getState()?.store?.getState()?.activities;\n}\n\nexport const prepareConversationHistoryActivities = (activities: any[]) => {\n if(!activities?.length) {\n return [];\n }\n const [firstActivity] = activities;\n const [lastActivity] = activities.slice(-1);\n const loadAllMessagesActivity = { from: { role:\"bot_history\"}, channelData: { conversationHistory: { loadAllMessages: true}}, type: \"message\", \"originator\": 1, conversationId: firstActivity.conversationId, id: \"loadallactivity\", dateUtc: firstActivity.dateUtc };\n const separatorActivity = { from: { role:\"bot_history\"}, channelData: { conversationHistory: { separator: true}}, type: \"message\", \"originator\": 1, conversationId: firstActivity.conversationId, id: \"separatoractivity\", dateUtc: lastActivity.dateUtc };\n return [ loadAllMessagesActivity ,...activities, separatorActivity ];\n \n}\n\nexport const hooks = {};\n\nconst onWindowFocusHandler = () => DruidWebchat_v2.isWindowFocused = true;// druidWebChatInstance?.druidWebChatDispatch && druidWebChatInstance?.druidWebChatDispatch({type: 'SET_IS_WINDOW_FOCUSED', payload: true });\nconst onWindowBlurHandler = () => DruidWebchat_v2.isWindowFocused = false; //druidWebChatInstance?.druidWebChatDispatch && druidWebChatInstance?.druidWebChatDispatch({type: 'SET_IS_WINDOW_FOCUSED', payload: false });\n\nconst addWindowListeners = () => {\n DruidWebchat_v2.isWindowFocused = true;\n // if(process.env.NODE_ENV !== 'development'){\n window.removeEventListener('focus', onWindowFocusHandler);\n window.removeEventListener('blur', onWindowBlurHandler);\n window.addEventListener('focus', onWindowFocusHandler);\n window.addEventListener('blur', onWindowBlurHandler);\n // }\n window.removeEventListener('resize', onResizeHandler);\n window.addEventListener('resize', onResizeHandler);\n}\n\nconst initNotifications = () => {\n document.getElementById(\"druid-new-message-notification\")?.remove();\n var audio = new Audio(druidCreateBlob(newMessageNotificationSound, 'audio/mpeg'));\n audio.controls = true;\n audio.style.display = \"none\";\n audio.id = \"druid-new-message-notification\";\n document.body.appendChild(audio);\n notificationsSounds.druidNewMessageNotification = audio;\n}\n\nconst onResizeHandler = () => {\n let vh = window.innerHeight * 0.01;\n if(document && document.documentElement) {\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n const isMobile = mobileAndTabletcheck();\n const currentState = druidWebChatInstance?.getState();\n if(currentState?.isMobile !== isMobile) {\n druidWebChatInstance?.druidWebChatDispatch({type: 'SET_IS_MOBILE', payload: isMobile })\n }\n}\n\n","export const newMessageNotificationSound = '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';","import { tabbable, isFocusable } from 'tabbable';\n\nconst activeFocusTraps = (function () {\n const trapQueue = [];\n return {\n activateTrap(trap) {\n if (trapQueue.length > 0) {\n const activeTrap = trapQueue[trapQueue.length - 1];\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n\n const trapIndex = trapQueue.indexOf(trap);\n if (trapIndex === -1) {\n trapQueue.push(trap);\n } else {\n // move this existing trap to the front of the queue\n trapQueue.splice(trapIndex, 1);\n trapQueue.push(trap);\n }\n },\n\n deactivateTrap(trap) {\n const trapIndex = trapQueue.indexOf(trap);\n if (trapIndex !== -1) {\n trapQueue.splice(trapIndex, 1);\n }\n\n if (trapQueue.length > 0) {\n trapQueue[trapQueue.length - 1].unpause();\n }\n },\n };\n})();\n\nconst isSelectableInput = function (node) {\n return (\n node.tagName &&\n node.tagName.toLowerCase() === 'input' &&\n typeof node.select === 'function'\n );\n};\n\nconst isEscapeEvent = function (e) {\n return e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27;\n};\n\nconst isTabEvent = function (e) {\n return e.key === 'Tab' || e.keyCode === 9;\n};\n\nconst delay = function (fn) {\n return setTimeout(fn, 0);\n};\n\n// Array.find/findIndex() are not supported on IE; this replicates enough\n// of Array.findIndex() for our needs\nconst findIndex = function (arr, fn) {\n let idx = -1;\n\n arr.every(function (value, i) {\n if (fn(value)) {\n idx = i;\n return false; // break\n }\n\n return true; // next\n });\n\n return idx;\n};\n\n/**\n * Get an option's value when it could be a plain value, or a handler that provides\n * the value.\n * @param {*} value Option's value to check.\n * @param {...*} [params] Any parameters to pass to the handler, if `value` is a function.\n * @returns {*} The `value`, or the handler's returned value.\n */\nconst valueOrHandler = function (value, ...params) {\n return typeof value === 'function' ? value(...params) : value;\n};\n\nconst getActualTarget = function (event) {\n // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the\n // shadow host. However, event.target.composedPath() will be an array of\n // nodes \"clicked\" from inner-most (the actual element inside the shadow) to\n // outer-most (the host HTML document). If we have access to composedPath(),\n // then use its first element; otherwise, fall back to event.target (and\n // this only works for an _open_ shadow DOM; otherwise,\n // composedPath()[0] === event.target always).\n return event.target.shadowRoot && typeof event.composedPath === 'function'\n ? event.composedPath()[0]\n : event.target;\n};\n\nconst createFocusTrap = function (elements, userOptions) {\n const doc = userOptions?.document || document;\n\n const config = {\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n ...userOptions,\n };\n\n const state = {\n // @type {Array<HTMLElement>}\n containers: [],\n\n // list of objects identifying the first and last tabbable nodes in all containers/groups in\n // the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n // @type {Array<{ container: HTMLElement, firstTabbableNode: HTMLElement|null, lastTabbableNode: HTMLElement|null }>}\n tabbableGroups: [],\n\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: undefined,\n };\n\n let trap; // eslint-disable-line prefer-const -- some private functions reference it, and its methods reference private functions, so we must declare here and define later\n\n const getOption = (configOverrideOptions, optionName, configOptionName) => {\n return configOverrideOptions &&\n configOverrideOptions[optionName] !== undefined\n ? configOverrideOptions[optionName]\n : config[configOptionName || optionName];\n };\n\n const containersContain = function (element) {\n return !!(\n element &&\n state.containers.some((container) => container.contains(element))\n );\n };\n\n /**\n * Gets the node for the given option, which is expected to be an option that\n * can be either a DOM node, a string that is a selector to get a node, `false`\n * (if a node is explicitly NOT given), or a function that returns any of these\n * values.\n * @param {string} optionName\n * @returns {undefined | false | HTMLElement | SVGElement} Returns\n * `undefined` if the option is not specified; `false` if the option\n * resolved to `false` (node explicitly not given); otherwise, the resolved\n * DOM node.\n * @throws {Error} If the option is set, not `false`, and is not, or does not\n * resolve to a node.\n */\n const getNodeForOption = function (optionName, ...params) {\n let optionValue = config[optionName];\n\n if (typeof optionValue === 'function') {\n optionValue = optionValue(...params);\n }\n\n if (!optionValue) {\n if (optionValue === undefined || optionValue === false) {\n return optionValue;\n }\n // else, empty string (invalid), null (invalid), 0 (invalid)\n\n throw new Error(\n `\\`${optionName}\\` was specified but was not a node, or did not return a node`\n );\n }\n\n let node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point\n\n if (typeof optionValue === 'string') {\n node = doc.querySelector(optionValue); // resolve to node, or null if fails\n if (!node) {\n throw new Error(\n `\\`${optionName}\\` as selector refers to no known node`\n );\n }\n }\n\n return node;\n };\n\n const getInitialFocusNode = function () {\n let node = getNodeForOption('initialFocus');\n\n // false explicitly indicates we want no initialFocus at all\n if (node === false) {\n return false;\n }\n\n if (node === undefined) {\n // option not specified: use fallback options\n if (containersContain(doc.activeElement)) {\n node = doc.activeElement;\n } else {\n const firstTabbableGroup = state.tabbableGroups[0];\n const firstTabbableNode =\n firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n\n // NOTE: `fallbackFocus` option function cannot return `false` (not supported)\n node = firstTabbableNode || getNodeForOption('fallbackFocus');\n }\n }\n\n if (!node) {\n throw new Error(\n 'Your focus-trap needs to have at least one focusable element'\n );\n }\n\n return node;\n };\n\n const updateTabbableNodes = function () {\n state.tabbableGroups = state.containers\n .map((container) => {\n const tabbableNodes = tabbable(container);\n\n if (tabbableNodes.length > 0) {\n return {\n container,\n firstTabbableNode: tabbableNodes[0],\n lastTabbableNode: tabbableNodes[tabbableNodes.length - 1],\n };\n }\n\n return undefined;\n })\n .filter((group) => !!group); // remove groups with no tabbable nodes\n\n // throw if no groups have tabbable nodes and we don't have a fallback focus node either\n if (\n state.tabbableGroups.length <= 0 &&\n !getNodeForOption('fallbackFocus') // returning false not supported for this option\n ) {\n throw new Error(\n 'Your focus-trap must have at least one container with at least one tabbable node in it at all times'\n );\n }\n };\n\n const tryFocus = function (node) {\n if (node === false) {\n return;\n }\n\n if (node === doc.activeElement) {\n return;\n }\n\n if (!node || !node.focus) {\n tryFocus(getInitialFocusNode());\n return;\n }\n\n node.focus({ preventScroll: !!config.preventScroll });\n state.mostRecentlyFocusedNode = node;\n\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n\n const getReturnFocusNode = function (previousActiveElement) {\n const node = getNodeForOption('setReturnFocus', previousActiveElement);\n return node ? node : node === false ? false : previousActiveElement;\n };\n\n // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event.\n const checkPointerDown = function (e) {\n const target = getActualTarget(e);\n\n if (containersContain(target)) {\n // allow the click since it ocurred inside the trap\n return;\n }\n\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n // immediately deactivate the trap\n trap.deactivate({\n // if, on deactivation, we should return focus to the node originally-focused\n // when the trap was activated (or the configured `setReturnFocus` node),\n // then assume it's also OK to return focus to the outside node that was\n // just clicked, causing deactivation, as long as that node is focusable;\n // if it isn't focusable, then return focus to the original node focused\n // on activation (or the configured `setReturnFocus` node)\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked, whether it's focusable or not; by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node)\n returnFocus: config.returnFocusOnDeactivate && !isFocusable(target),\n });\n return;\n }\n\n // This is needed for mobile devices.\n // (If we'll only let `click` events through,\n // then on mobile they will be blocked anyways if `touchstart` is blocked.)\n if (valueOrHandler(config.allowOutsideClick, e)) {\n // allow the click outside the trap to take place\n return;\n }\n\n // otherwise, prevent the click\n e.preventDefault();\n };\n\n // In case focus escapes the trap for some strange reason, pull it back in.\n const checkFocusIn = function (e) {\n const target = getActualTarget(e);\n const targetContained = containersContain(target);\n\n // In Firefox when you Tab out of an iframe the Document is briefly focused.\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n // escaped! pull it back in to where it just left\n e.stopImmediatePropagation();\n tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n };\n\n // Hijack Tab events on the first and last focusable nodes of the trap,\n // in order to prevent focus from escaping. If it escapes for even a\n // moment it can end up scrolling the page and causing confusion so we\n // kind of need to capture the action at the keydown phase.\n const checkTab = function (e) {\n const target = getActualTarget(e);\n updateTabbableNodes();\n\n let destinationNode = null;\n\n if (state.tabbableGroups.length > 0) {\n // make sure the target is actually contained in a group\n // NOTE: the target may also be the container itself if it's tabbable\n // with tabIndex='-1' and was given initial focus\n const containerIndex = findIndex(state.tabbableGroups, ({ container }) =>\n container.contains(target)\n );\n\n if (containerIndex < 0) {\n // target not found in any group: quite possible focus has escaped the trap,\n // so bring it back in to...\n if (e.shiftKey) {\n // ...the last node in the last group\n destinationNode =\n state.tabbableGroups[state.tabbableGroups.length - 1]\n .lastTabbableNode;\n } else {\n // ...the first node in the first group\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (e.shiftKey) {\n // REVERSE\n\n // is the target the first tabbable node in a group?\n let startOfGroupIndex = findIndex(\n state.tabbableGroups,\n ({ firstTabbableNode }) => target === firstTabbableNode\n );\n\n if (\n startOfGroupIndex < 0 &&\n state.tabbableGroups[containerIndex].container === target\n ) {\n // an exception case where the target is the container itself, in which\n // case, we should handle shift+tab as if focus were on the container's\n // first tabbable node, and go to the last tabbable node of the LAST group\n startOfGroupIndex = containerIndex;\n }\n\n if (startOfGroupIndex >= 0) {\n // YES: then shift+tab should go to the last tabbable node in the\n // previous group (and wrap around to the last tabbable node of\n // the LAST group if it's the first tabbable node of the FIRST group)\n const destinationGroupIndex =\n startOfGroupIndex === 0\n ? state.tabbableGroups.length - 1\n : startOfGroupIndex - 1;\n\n const destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = destinationGroup.lastTabbableNode;\n }\n } else {\n // FORWARD\n\n // is the target the last tabbable node in a group?\n let lastOfGroupIndex = findIndex(\n state.tabbableGroups,\n ({ lastTabbableNode }) => target === lastTabbableNode\n );\n\n if (\n lastOfGroupIndex < 0 &&\n state.tabbableGroups[containerIndex].container === target\n ) {\n // an exception case where the target is the container itself, in which\n // case, we should handle tab as if focus were on the container's\n // last tabbable node, and go to the first tabbable node of the FIRST group\n lastOfGroupIndex = containerIndex;\n }\n\n if (lastOfGroupIndex >= 0) {\n // YES: then tab should go to the first tabbable node in the next\n // group (and wrap around to the first tabbable node of the FIRST\n // group if it's the last tabbable node of the LAST group)\n const destinationGroupIndex =\n lastOfGroupIndex === state.tabbableGroups.length - 1\n ? 0\n : lastOfGroupIndex + 1;\n\n const destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = destinationGroup.firstTabbableNode;\n }\n }\n } else {\n // NOTE: the fallbackFocus option does not support returning false to opt-out\n destinationNode = getNodeForOption('fallbackFocus');\n }\n\n if (destinationNode) {\n e.preventDefault();\n tryFocus(destinationNode);\n }\n // else, let the browser take care of [shift+]tab and move the focus\n };\n\n const checkKey = function (e) {\n if (\n isEscapeEvent(e) &&\n valueOrHandler(config.escapeDeactivates, e) !== false\n ) {\n e.preventDefault();\n trap.deactivate();\n return;\n }\n\n if (isTabEvent(e)) {\n checkTab(e);\n return;\n }\n };\n\n const checkClick = function (e) {\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n\n const target = getActualTarget(e);\n\n if (containersContain(target)) {\n return;\n }\n\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n\n //\n // EVENT LISTENERS\n //\n\n const addListeners = function () {\n if (!state.active) {\n return;\n }\n\n // There can be only one listening focus trap at a time\n activeFocusTraps.activateTrap(trap);\n\n // Delay ensures that the focused element doesn't capture the event\n // that caused the focus trap activation.\n state.delayInitialFocusTimer = config.delayInitialFocus\n ? delay(function () {\n tryFocus(getInitialFocusNode());\n })\n : tryFocus(getInitialFocusNode());\n\n doc.addEventListener('focusin', checkFocusIn, true);\n doc.addEventListener('mousedown', checkPointerDown, {\n capture: true,\n passive: false,\n });\n doc.addEventListener('touchstart', checkPointerDown, {\n capture: true,\n passive: false,\n });\n doc.addEventListener('click', checkClick, {\n capture: true,\n passive: false,\n });\n doc.addEventListener('keydown', checkKey, {\n capture: true,\n passive: false,\n });\n\n return trap;\n };\n\n const removeListeners = function () {\n if (!state.active) {\n return;\n }\n\n doc.removeEventListener('focusin', checkFocusIn, true);\n doc.removeEventListener('mousedown', checkPointerDown, true);\n doc.removeEventListener('touchstart', checkPointerDown, true);\n doc.removeEventListener('click', checkClick, true);\n doc.removeEventListener('keydown', checkKey, true);\n\n return trap;\n };\n\n //\n // TRAP DEFINITION\n //\n\n trap = {\n activate(activateOptions) {\n if (state.active) {\n return this;\n }\n\n const onActivate = getOption(activateOptions, 'onActivate');\n const onPostActivate = getOption(activateOptions, 'onPostActivate');\n const checkCanFocusTrap = getOption(activateOptions, 'checkCanFocusTrap');\n\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = doc.activeElement;\n\n if (onActivate) {\n onActivate();\n }\n\n const finishActivation = () => {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n if (onPostActivate) {\n onPostActivate();\n }\n };\n\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(\n finishActivation,\n finishActivation\n );\n return this;\n }\n\n finishActivation();\n return this;\n },\n\n deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n\n clearTimeout(state.delayInitialFocusTimer); // noop if undefined\n state.delayInitialFocusTimer = undefined;\n\n removeListeners();\n state.active = false;\n state.paused = false;\n\n activeFocusTraps.deactivateTrap(trap);\n\n const onDeactivate = getOption(deactivateOptions, 'onDeactivate');\n const onPostDeactivate = getOption(deactivateOptions, 'onPostDeactivate');\n const checkCanReturnFocus = getOption(\n deactivateOptions,\n 'checkCanReturnFocus'\n );\n\n if (onDeactivate) {\n onDeactivate();\n }\n\n const returnFocus = getOption(\n deactivateOptions,\n 'returnFocus',\n 'returnFocusOnDeactivate'\n );\n\n const finishDeactivation = () => {\n delay(() => {\n if (returnFocus) {\n tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n if (onPostDeactivate) {\n onPostDeactivate();\n }\n });\n };\n\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(\n getReturnFocusNode(state.nodeFocusedBeforeActivation)\n ).then(finishDeactivation, finishDeactivation);\n return this;\n }\n\n finishDeactivation();\n return this;\n },\n\n pause() {\n if (state.paused || !state.active) {\n return this;\n }\n\n state.paused = true;\n removeListeners();\n\n return this;\n },\n\n unpause() {\n if (!state.paused || !state.active) {\n return this;\n }\n\n state.paused = false;\n updateTabbableNodes();\n addListeners();\n\n return this;\n },\n\n updateContainerElements(containerElements) {\n const elementsAsArray = [].concat(containerElements).filter(Boolean);\n\n state.containers = elementsAsArray.map((element) =>\n typeof element === 'string' ? doc.querySelector(element) : element\n );\n\n if (state.active) {\n updateTabbableNodes();\n }\n\n return this;\n },\n };\n\n // initialize container elements\n trap.updateContainerElements(elements);\n\n return trap;\n};\n\nexport { createFocusTrap };\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport {\r\n ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto,\r\n strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype\r\n} from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\n\r\nexport const SymbolObj = (getGlobal()||{})[\"Symbol\"];\r\nexport const ReflectObj = (getGlobal()||{})[\"Reflect\"];\r\nexport const __hasSymbol = !!SymbolObj;\r\nexport const __hasReflect = !!ReflectObj;\r\n\r\nconst strDecorate = \"decorate\";\r\nconst strMetadata = \"metadata\";\r\nconst strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nconst strIterator = \"iterator\";\r\n\r\nexport declare type ObjAssignFunc = (t: any, ...sources:any[]) => any;\r\n\r\nexport var __objAssignFnImpl: ObjAssignFunc = function(t: any): any {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n (t as any)[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\n\r\nexport var __assignFn: ObjAssignFunc = ObjAssign || __objAssignFnImpl;\r\n\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function(d: any, b: any): any {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d: any, b: any) { d.__proto__ = b; }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d: any, b: any) { \r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\n\r\nexport function __extendsFn(d: any, b: any) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\"); \r\n }\r\n extendStaticsFn(d, b);\r\n function __() { this.constructor = d; }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new (__ as any)());\r\n}\r\n\r\nexport function __restFn(s: any, e: any) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorateFn(decorators: any, target: any, key: any, desc: any) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n } else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __paramFn(paramIndex: number, decorator: Function) {\r\n return function (target: any, key: any) { \r\n decorator(target, key, paramIndex); \r\n }\r\n}\r\n\r\nexport function __metadataFn(metadataKey: any, metadataValue: any) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\n\r\nexport function __exportStarFn(m: any, o: any) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\n\r\nexport function __createBindingFn(o: any, m: any, k: any, k2?: any) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n \r\n if (ObjCreate) {\r\n ObjDefineProperty(o, k2, { \r\n enumerable: true, \r\n get() { \r\n return m[k]; \r\n } \r\n });\r\n } else {\r\n o[k2] = m[k];\r\n }\r\n}\r\n\r\nexport function __valuesFn(o: any) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __readFn(o: any, n: any) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n } catch (error) { \r\n e = { \r\n error \r\n }; \r\n } finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n } finally { \r\n if (e) {\r\n // tslint:disable-next-line:no-unsafe-finally\r\n throw e.error; \r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n\r\n return r;\r\n}\r\n\r\nexport function __spreadArrayFn(to: any, from: any) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n\r\n return to;\r\n}\r\n\r\nexport function __makeTemplateObjectFn(cooked: any, raw: any) {\r\n if (ObjDefineProperty) { \r\n ObjDefineProperty(cooked, \"raw\", { value: raw }); \r\n } else { \r\n cooked.raw = raw; \r\n }\r\n\r\n return cooked;\r\n};\r\n\r\nexport function __importStarFn(mod: any) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n\r\n // Set default module\r\n if (ObjCreate) {\r\n ObjDefineProperty( result, strDefault, { enumerable: true, value: mod });\r\n } else {\r\n result[strDefault] = mod;\r\n } \r\n\r\n return result;\r\n};\r\n\r\nexport function __importDefaultFn(mod:any) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n"],"sourceRoot":""}