{"version":3,"sources":["webpack://@edf-prj/landing-page/../node_modules/core-js/internals/a-possible-prototype.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/add-to-unscopables.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/error-stack-clear.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/error-stack-install.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/error-stack-installable.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/function-bind-context.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/get-iterator-method.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/get-iterator.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/get-substitution.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/install-error-cause.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/is-array-iterator-method.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/is-possible-prototype.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/iterate.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/iterator-close.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/new-promise-capability.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/normalize-string-argument.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/object-set-prototype-of.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/promise-native-constructor.js","webpack://@edf-prj/landing-page/../node_modules/core-js/internals/promise-resolve.js","webpack://@edf-prj/landing-page/../node_modules/core-js/modules/es.aggregate-error.constructor.js","webpack://@edf-prj/landing-page/../node_modules/core-js/modules/es.aggregate-error.js","webpack://@edf-prj/landing-page/../node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://@edf-prj/landing-page/../node_modules/core-js/modules/es.promise.finally.js","webpack://@edf-prj/landing-page/../node_modules/core-js/modules/es.string.replace-all.js","webpack://@edf-prj/landing-page/../node_modules/core-js/modules/esnext.aggregate-error.js","webpack://@edf-prj/landing-page/../node_modules/core-js/modules/esnext.string.replace-all.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux/es/redux.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-promise-listener/dist/redux-promise-listener.es.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/node_modules/tslib/tslib.es6.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/types/esm/severity.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/types/esm/status.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/version.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/node_modules/tslib/tslib.es6.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/polyfill.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/error.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/dsn.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/integration.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/baseclient.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/transports/noop.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/basebackend.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/supports.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/tracekit.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/parsers.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/eventbuilder.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/request.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/api.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/promisebuffer.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/transports/base.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/transports/fetch.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/transports/xhr.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/backend.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/helpers.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/instrument.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/client.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/integrations/dedupe.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/integrations/useragent.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/sdk.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/core/esm/sdk.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/version.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/browser/esm/index.js","webpack://@edf-prj/landing-page/../packages/app-store/src/core/configure-store/configure-store.prod.js","webpack://@edf-prj/landing-page/../packages/app-store/src/core/configure-store/index.js","webpack://@edf-prj/landing-page/../packages/app-store/src/core/ducks-manager.js","webpack://@edf-prj/landing-page/../packages/app-store/src/core/utils.js","webpack://@edf-prj/landing-page/../packages/app-store/src/core/sagas-manager.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/context/dist/reach-utils-context.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/noop/dist/reach-utils-noop.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/descendants/dist/reach-descendants.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/auto-id/dist/reach-auto-id.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/accordion/dist/reach-accordion.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-controlled-state/dist/reach-utils-use-controlled-state.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@reach/utils/use-stateful-ref-value/dist/reach-utils-use-stateful-ref-value.esm.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/content/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/content/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/zustand/esm/vanilla.mjs","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/zustand/esm/index.mjs","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/zustand/esm/middleware.mjs","webpack://@edf-prj/landing-page/../packages/app-client/src/auth/authentication.zustand.js","webpack://@edf-prj/landing-page/../packages/app-client/src/constants.js","webpack://@edf-prj/landing-page/../packages/app-client/src/core/axios-clients-manager.js","webpack://@edf-prj/landing-page/../packages/app-client/src/core/error-codes.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/i18next/dist/esm/i18next.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/core/language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/ca-es.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/cy-gb.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/de-de.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/en-us.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/es-co.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/es-es.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/fa-ir.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/fr-ca.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/it-it.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/nl-nl.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/sl-si.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/ur-pk.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/zh-hans.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/zu-zu.language.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/languages/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/immer/dist/immer.esm.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/reselect/es/index.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/constants.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/store/i18n.duck.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-i18next/dist/es/context.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/core/android.i18nformat.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/store/i18n.saga.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/index.js","webpack://@edf-prj/landing-page/../packages/app-client/src/core/error-mapper.js","webpack://@edf-prj/landing-page/../packages/app-client/src/core/create-axios-clients.js","webpack://@edf-prj/landing-page/../packages/app-client/src/auth/endpoints/fetch-authentication-tokens.ts","webpack://@edf-prj/landing-page/../packages/app-client/src/utils/auth.utils.ts","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_baseHas.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_isKey.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_castPath.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_hasPath.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/has.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/cloneDeepWith.js","webpack://@edf-prj/landing-page/../packages/app-client/src/utils/gql.utils.js","webpack://@edf-prj/landing-page/../packages/app-client/src/utils/object.utils.js","webpack://@edf-prj/landing-page/../packages/app-client/src/utils/index.js","webpack://@edf-prj/landing-page/../packages/app-main/src/client/data-source-options.endpoint.api.js","webpack://@edf-prj/landing-page/../packages/app-main/src/client/user-read.endpoint.api.js","webpack://@edf-prj/landing-page/../packages/app-main/src/client/index.js","webpack://@edf-prj/landing-page/../packages/app-main/src/client/user-logout.endpoint.api.js","webpack://@edf-prj/landing-page/../packages/app-main/src/constants.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/components/Context.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/utils/batch.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/utils/Subscription.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/components/Provider.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/components/connectAdvanced.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/utils/shallowEqual.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/utils/bindActionCreators.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/connect/mapStateToProps.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/connect/mergeProps.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/connect/selectorFactory.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/connect/connect.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/hooks/useSelector.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/react-redux/es/index.js","webpack://@edf-prj/landing-page/../packages/app-phr/src/constants.js","webpack://@edf-prj/landing-page/../packages/app-phr/src/store/phr.duck.js","webpack://@edf-prj/landing-page/../packages/app-phr/src/client/ph-create.endpoint.api.js","webpack://@edf-prj/landing-page/../packages/app-phr/src/client/index.js","webpack://@edf-prj/landing-page/../packages/app-phr/src/store/phr.saga.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/data-source-options.duck.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/data-source-options.saga.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/dialog.duck.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/dialog.saga.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/snackbar.duck.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/snackbar.saga.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/user.duck.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_baseGet.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_baseSet.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_basePickBy.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_baseHasIn.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/hasIn.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_basePick.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_isFlattenable.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_baseFlatten.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/flatten.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_apply.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_overRest.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/constant.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/identity.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_baseSetToString.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_shortOut.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_setToString.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/_flatRest.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/lodash-es/pick.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/user.saga.js","webpack://@edf-prj/landing-page/../packages/app-main/src/store/index.js","webpack://@edf-prj/landing-page/../packages/app-i18n/src/store/index.js","webpack://@edf-prj/landing-page/../packages/app-main/src/containers/main-app/index.js","webpack://@edf-prj/landing-page/../packages/app-phr/src/store/index.js","webpack://@edf-prj/landing-page/../packages/app-main/src/containers/snackbar-provider/index.js","webpack://@edf-prj/landing-page/../packages/app-main/src/utils/user.util.js","webpack://@edf-prj/landing-page/../packages/app-main/src/utils/yup.util.js","webpack://@edf-prj/landing-page/../packages/app-logger/src/client/create-log.endpoint.api.js","webpack://@edf-prj/landing-page/../packages/app-logger/src/client/index.js","webpack://@edf-prj/landing-page/../packages/app-logger/src/utils.ts","webpack://@edf-prj/landing-page/../packages/app-logger/src/core/logger.ts","webpack://@edf-prj/landing-page/../packages/app-logger/src/index.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/edf.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/api.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/api.mapped.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/api.unauthorized.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/connection.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/fatal.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/unknown.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/validation.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/core/error-handle.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/api.missing-params.error.js","webpack://@edf-prj/landing-page/../packages/app-error/src/errors/client.error.js","webpack://@edf-prj/landing-page/../packages/app-date-time/src/core/locales/fa-ir.locale.js","webpack://@edf-prj/landing-page/../packages/app-date-time/src/core/locales/zu-zu.locale.js","webpack://@edf-prj/landing-page/../packages/app-date-time/src/core/index.js","webpack://@edf-prj/landing-page/../packages/app-date-time/src/core/date-time.js","webpack://@edf-prj/landing-page/../packages/app-date-time/src/index.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/header/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/header/index.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/accordion-item/index.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/styles.js","webpack://@edf-prj/landing-page/./src/components/publications-accordion-list/index.js","webpack://@edf-prj/landing-page/./src/components/tag/styles.js","webpack://@edf-prj/landing-page/./src/components/tag/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/createClass.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/defineProperty.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/@babel/runtime/helpers/typeof.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/hub/esm/session.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/hub/esm/hub.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/hub/esm/scope.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/hub/node_modules/tslib/tslib.es6.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/minimal/node_modules/tslib/tslib.es6.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/minimal/esm/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/types/esm/session.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/browser.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/is.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/logger.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/misc.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/node.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/memo.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/object.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/stacktrace.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/string.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/syncpromise.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/esm/time.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/@sentry/utils/node_modules/tslib/tslib.es6.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/available-typed-arrays/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/call-bind/callBound.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/call-bind/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/dayjs.min.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/ca.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/de.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/en-ca.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/es-us.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/es.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/fa.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/fr-ca.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/it.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/nl.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/sl.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/locale/ur.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/plugin/advancedFormat.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/plugin/customParseFormat.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/plugin/localizedFormat.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/plugin/relativeTime.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/plugin/timezone.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/dayjs/plugin/utc.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/define-data-property/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-define-property/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-errors/eval.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-errors/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-errors/range.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-errors/ref.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-errors/syntax.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-errors/type.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/es-errors/uri.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/for-each/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/function-bind/implementation.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/function-bind/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/get-intrinsic/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/gopd/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/has-property-descriptors/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/has-proto/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/has-symbols/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/has-symbols/shams.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/has-tostringtag/shams.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/hasown/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/inherits/inherits_browser.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/is-arguments/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/is-callable/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/is-generator-function/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/is-typed-array/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/make-error-cause/dist/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/make-error/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/omit-deep-lodash/lib/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/possible-typed-array-names/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/io-helpers.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/proc.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/runSaga.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/middleware.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/buffers.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/channel.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/io.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/sagaHelpers/fsmIterator.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/sagaHelpers/takeEvery.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/sagaHelpers/takeLatest.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/scheduler.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-saga/es/internal/utils.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/redux-sentry-middleware/dist/index.umd.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/retrack/node_modules/redux/es/redux.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/retrack/dist/es/retrack.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/set-function-length/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/use-sync-external-store/shim/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/use-sync-external-store/shim/with-selector.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/util/support/isBufferBrowser.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/util/support/types.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/util/util.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/uuid/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/uuid/lib/bytesToUuid.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/uuid/lib/rng-browser.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/uuid/v1.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/uuid/v4.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/node_modules/which-typed-array/index.js","webpack://@edf-prj/landing-page/../node_modules/gatsby/node_modules/babel-loader/lib/packages/app-logger/node_modules/loglevel/lib/loglevel.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_apply.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_arrayEach.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_assignValue.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseAssign.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseAssignIn.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseClone.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseCreate.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseFlatten.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseIsMap.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseIsSet.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseKeysIn.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseSetToString.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_baseUnset.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_cloneArrayBuffer.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_cloneBuffer.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_cloneDataView.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_cloneRegExp.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_cloneSymbol.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_cloneTypedArray.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_copyArray.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_copyObject.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_copySymbols.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_copySymbolsIn.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_customOmitClone.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_flatRest.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_getAllKeysIn.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_getPrototype.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_getSymbolsIn.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_initCloneArray.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_initCloneByTag.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_initCloneObject.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_isFlattenable.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_nativeKeysIn.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_overRest.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_parent.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_setToString.js","webpack://@edf-prj/landing-page/../node_modules/lodash/_shortOut.js","webpack://@edf-prj/landing-page/../node_modules/lodash/constant.js","webpack://@edf-prj/landing-page/../node_modules/lodash/flatten.js","webpack://@edf-prj/landing-page/../node_modules/lodash/isMap.js","webpack://@edf-prj/landing-page/../node_modules/lodash/isPlainObject.js","webpack://@edf-prj/landing-page/../node_modules/lodash/isSet.js","webpack://@edf-prj/landing-page/../node_modules/lodash/keysIn.js","webpack://@edf-prj/landing-page/../node_modules/lodash/last.js","webpack://@edf-prj/landing-page/../node_modules/lodash/omit.js"],"names":["isPossiblePrototype","$String","String","$TypeError","TypeError","module","exports","argument","wellKnownSymbol","create","defineProperty","UNSCOPABLES","ArrayPrototype","Array","prototype","undefined","configurable","value","key","uncurryThis","$Error","Error","replace","TEST","stack","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","test","dropEntries","prepareStackTrace","createNonEnumerableProperty","clearErrorStack","ERROR_STACK_INSTALLABLE","captureStackTrace","error","C","fails","createPropertyDescriptor","Object","aCallable","NATIVE_BIND","bind","fn","that","apply","arguments","object","method","getOwnPropertyDescriptor","classof","getMethod","isNullOrUndefined","Iterators","ITERATOR","it","call","anObject","tryToString","getIteratorMethod","usingIterator","iteratorMethod","length","toObject","floor","Math","charAt","stringSlice","slice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","str","position","captures","namedCaptures","replacement","tailPos","m","symbols","match","ch","capture","n","f","isObject","O","options","cause","isArrayIteratorMethod","lengthOfArrayLike","isPrototypeOf","getIterator","iteratorClose","Result","stopped","result","this","ResultPrototype","iterable","unboundFunction","iterator","iterFn","index","next","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","done","kind","innerResult","innerError","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","toString","$default","uncurryThisAccessor","requireObjectCoercible","aPossiblePrototype","setPrototypeOf","setter","CORRECT_SETTER","proto","__proto__","global","Promise","newPromiseCapability","x","constructor","promiseCapability","$","getPrototypeOf","copyConstructorProperties","installErrorCause","installErrorStack","iterate","normalizeStringArgument","TO_STRING_TAG","push","$AggregateError","errors","message","isInstance","AggregateErrorPrototype","errorsArray","name","arity","AggregateError","addToUnscopables","IS_PURE","NativePromiseConstructor","getBuiltIn","isCallable","speciesConstructor","promiseResolve","defineBuiltIn","NativePromisePrototype","target","real","forced","then","onFinally","isFunction","e","unsafe","isRegExp","getRegExpFlags","getSubstitution","REPLACE","indexOf","max","replaceAll","searchValue","replaceValue","IS_REG_EXP","flags","replacer","string","searchString","functionalReplace","searchLength","advanceBy","endOfLastMatch","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","filter","sym","enumerable","_objectSpread2","i","source","forEach","getOwnPropertyDescriptors","defineProperties","formatProdErrorMessage","code","$$observable","Symbol","observable","randomString","random","substring","split","join","ActionTypes","INIT","PROBE_UNKNOWN_ACTION","isPlainObject","obj","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","splice","dispatch","action","type","listeners","replaceReducer","nextReducer","_ref","outerSubscribe","observer","observeState","unsubscribe","compose","_len","funcs","_key","arg","reduce","a","b","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","map","middleware","_extends","assign","hasOwnProperty","defaultSetPayload","payload","defaultGetPayload","defaultGetError","nextListenerId","Number","createAsyncFunction","config","listenerId","asyncFunction","getPayload","getError","setPayload","start","extendStatics","d","p","__extends","__","Severity","Status","__assign","t","s","__values","o","__read","r","ar","__spread","concat","fromString","level","Debug","Info","Warning","Fatal","Critical","Log","fromHttpCode","Success","RateLimit","Invalid","Failed","Unknown","SDK_VERSION","prop","SentryError","_super","_newTarget","_this","DSN_REGEX","ERROR_MESSAGE","Dsn","from","_fromString","_fromComponents","_validate","withPassword","_a","host","path","pass","port","projectId","protocol","publicKey","exec","_b","_c","pop","projectMatch","components","user","component","isNaN","parseInt","installedIntegrations","filterDuplicates","integrations","acc","every","accIntegration","setupIntegrations","defaultIntegrations","userIntegrations","isArray","userIntegration","integrationsNames","alwaysLastToRun","getIntegrationsToSetup","integration","setupOnce","logger","log","setupIntegration","BaseClient","backendClass","_integrations","_numProcessing","_backend","_options","dsn","_dsn","captureException","exception","hint","scope","eventId","event_id","_process","_getBackend","eventFromException","event","_captureEvent","captureMessage","promisedEvent","is","eventFromMessage","captureEvent","captureSession","session","_isEnabled","release","_sendSession","update","init","getDsn","getOptions","flush","timeout","_isClientDoneProcessing","clientFinished","getTransport","close","transportFlushed","enabled","getIntegration","id","_oO","_updateSessionFromEvent","e_1","crashed","errored","exceptions","values","exceptions_1","exceptions_1_1","mechanism","handled","e_1_1","return","sessionNonTerminal","status","sendSession","ticked","interval","setInterval","clearInterval","_prepareEvent","normalizeDepth","prepared","timestamp","_applyClientOptions","_applyIntegrationsMetadata","finalScope","captureContext","applyToEvent","evt","_normalizeEvent","depth","normalized","breadcrumbs","data","contexts","extra","trace","_experiments","ensureNoCircularStructures","environment","dist","maxValueLength","request","url","integrationsArray","sdk","_sendEvent","sendEvent","_processEvent","finalEvent","reason","beforeSend","sampleRate","isTransaction","__sentry__","beforeSendResult","_ensureBeforeSendRv","processedEvent","getSession","originalException","rv","nullErr","NoopTransport","_","Skipped","BaseBackend","_transport","_setupTransport","_exception","_hint","_message","_level","supportsFetch","Headers","Request","Response","isNativeFetch","func","supportsReferrerPolicy","referrerPolicy","UNKNOWN_FUNCTION","chrome","gecko","winjs","geckoEval","chromeEval","reactMinifiedRegexp","computeStackTrace","ex","popSize","framesToPop","stacktrace","parts","opera10Regex","opera11Regex","lines","line","element","args","column","extractMessage","computeStackTraceFromStacktraceProp","popFrames","submatch","isNative","substr","isSafariExtension","isSafariWebExtension","columnNumber","computeStackTraceFromStackProp","failed","STACKTRACE_LIMIT","exceptionFromStacktrace","frames","prepareFramesForEvent","eventFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","colno","filename","function","in_app","lineno","reverse","eventFromUnknownInput","syntheticException","attachStacktrace","eventFromString","domException","name_1","tags","rejection","__serialized__","frames_1","eventFromPlainObject","synthetic","input","getSdkMetadataForEnvelopeHeader","api","metadata","version","enhanceEventWithSdkInfo","sdkInfo","packages","sessionToSentryRequest","body","JSON","stringify","sent_at","Date","toISOString","forceEnvelope","getEnvelopeEndpointWithUrlEncodedAuth","eventToSentryRequest","eventType","useEnvelope","debug_meta","transactionSampling","propertyIsEnumerable","samplingMethod","rate","req","getStoreEndpointWithUrlEncodedAuth","envelope","sample_rates","API","tunnel","_dsnObject","_tunnel","getBaseApiEndpoint","getStoreEndpoint","_getIngestEndpoint","_encodedAuth","_getEnvelopeEndpoint","getStoreEndpointPath","getRequestHeaders","clientName","clientVersion","header","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","encodeURIComponent","email","auth","sentry_key","sentry_version","PromiseBuffer","_limit","_buffer","isReady","add","taskProducer","task","remove","drain","capturedSetTimeout","setTimeout","clearTimeout","CATEGORY_MAPPING","transaction","attachment","BaseTransport","_rateLimits","_api","_metadata","_handleResponse","requestType","response","headers","_handleRateLimit","_disabledUntil","category","all","_isRateLimited","now","e_2","rlHeader","raHeader","trim","_d","parameters","headerDelay","delay","_e","_f","e_2_1","FetchTransport","fetchImpl","fetch","document","createElement","sandbox","hidden","head","appendChild","contentWindow","removeChild","getNativeFetchImplementation","_fetch","_sendRequest","sentryRequest","originalPayload","fetchParameters","get","catch","XHRTransport","XMLHttpRequest","onreadystatechange","readyState","getResponseHeader","open","setRequestHeader","send","BrowserBackend","transportOptions","transport","ignoreOnError","shouldIgnoreOnError","wrap","before","__sentry_wrapped__","sentryWrapped","wrappedArguments","handleEvent","addEventProcessor","property","__sentry_original__","injectReportDialog","script","async","src","onLoad","onload","lastHref","handlers","instrumented","instrument","console","originalConsoleLevel","_i","triggerHandlers","Function","instrumentConsole","triggerDOMHandler","globalDOMEventHandler","makeDOMEventHandler","addEventListener","originalAddEventListener","el","handlers_1","__sentry_instrumentation_handlers__","handlerForType","refCount","handler","originalRemoveEventListener","handlers_2","instrumentDOM","requestKeys","requestValues","xhrproto","originalOpen","xhr","__sentry_xhr__","toUpperCase","__sentry_own_request__","onreadystatechangeHandler","status_code","requestPos","args_1","endTimestamp","startTimestamp","original","readyStateArgs","originalSend","instrumentXHR","doc","err","supportsNativeFetch","originalFetch","handlerData","fetchData","getFetchMethod","getFetchUrl","instrumentFetch","isChromePackagedApp","app","runtime","hasHistoryApi","history","pushState","replaceState","supportsHistory","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","to","location","href","instrumentHistory","_oldOnErrorHandler","onerror","msg","_oldOnUnhandledRejectionHandler","onunhandledrejection","addInstrumentationHandler","callback","fetchArgs","debounceTimerID","lastCapturedEvent","debounceDuration","globalListener","tagName","isContentEditable","shouldSkipDOMEvent","previous","current","shouldShortcircuitPreviousDebounce","Breadcrumbs","dom","sentry","addSentryBreadcrumb","addBreadcrumb","_consoleBreadcrumb","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","breadcrumb","keyAttrs","serializeAttribute","parsedLoc","parsedFrom","parsedTo","relative","BrowserClient","showReportDialog","platform","originalFunctionToString","DEFAULT_IGNORE_ERRORS","InboundFilters","hub","self","client","getClient","clientOptions","_mergeOptions","_shouldDropEvent","_isSentryError","_isIgnoredError","_isDeniedUrl","_getEventFilterUrl","_isAllowedUrl","ignoreInternal","ignoreErrors","_getPossibleEventMessages","some","pattern","denyUrls","allowUrls","whitelistUrls","blacklistUrls","oO","frames_2","FunctionToString","context","DEFAULT_EVENT_TARGET","TryCatch","eventTarget","requestAnimationFrame","_wrapTimeFunction","_wrapRAF","_wrapXHR","_wrapEventTarget","originalCallback","eventName","wrappedEventHandler","originalEventHandler","wrapOptions","GlobalHandlers","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","detail","_eventFromRejectionWithPrimitive","groups","LinkedErrors","limit","_handler","linkedErrors","_walkErrorTree","Dedupe","addGlobalEventProcessor","getCurrentHub","currentEvent","_previousEvent","previousEvent","_isSameMessageEvent","_isSameExceptionEvent","currentMessage","previousMessage","_isSameFingerprint","_isSameStacktrace","_getFramesFromEvent","currentFrames","previousFrames","frameA","frameB","_getExceptionFromEvent","previousException","currentException","currentFingerprint","fingerprint","previousFingerprint","UserAgent","navigator","referrer","userAgent","Referer","window_1","SENTRY_RELEASE","autoSessionTracking","clientClass","debug","getScope","initialScope","bindClient","initAndBind","startSession","ignoreDuration","startSessionTracking","getUser","lastEventId","forceLoad","SDK_NAME","windowIntegrations","_window","Sentry","Integrations","INTEGRATIONS","reduxPromiseListener","createReduxPromiseListener","configureStore","initialState","sagaMiddleware","createSagaMiddleware","sentryMiddleware","createSentryMiddleware","stateTransformer","state","omitDeep","getUserContext","appUtils","main","username","role","deviceId","ducksManager","sagasManager","getStore","DucksManager","emitChange","reducers","setNamespacingFunction","strArr","_proto","setReducers","getReducers","combine","combineTrackReducers","setChangeListener","createActionName","reducerName","actionName","CANCEL_ALL_SAGAS_ACTION_TYPE","utils","SagasManger","sagas","setSagas","getSagas","setSagaMiddleware","setStore","createCancelableSaga","sagaName","originalSaga","cancelSagaActionType","sagaTask","fork","race","take","cancel","cancelSagaActionTypeCreator","started","cancelTaskAction","cancelableSagaActionType","cancelAbleSaga","cancelableSaga","startSagas","run","cancelSagas","_excluded","rootName","defaultContext","Ctx","createContext","props","children","excluded","sourceKeys","_objectWithoutPropertiesLoose","useMemo","Provider","childName","useContext","makeId","val","noop","_arrayLikeToArray","arr","len","arr2","_createForOfIteratorHelperLoose","allowArrayLike","minLen","_unsupportedIterableToArray","assignRef","ref","composeEventHandlers","theirHandler","ourHandler","defaultPrevented","canUseDOM","window","useLayoutEffect","useEffect","createDescendantContext","initialValue","descendants","registerDescendant","unregisterDescendant","useDescendant","descendant","indexProp","forceUpdate","useState","useCallback","_React$useContext","findIndex","item","DescendantProvider","items","set","explicitIndex","rest","newItems","sort","find","Boolean","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","newItem","serverHandoffComplete","genId","AccordionStates","_excluded2","_excluded3","_excluded4","AccordionDescendantContext","_createContext","AccordionProvider","useAccordionCtx","_createContext2","AccordionItemProvider","useAccordionItemCtx","Accordion","forwardRef","forwardedRef","_ref$as","as","Comp","defaultIndex","controlledIndex","onChange","_ref$readOnly","readOnly","_ref$collapsible","collapsible","_ref$multiple","multiple","_useControlledState","controlledValue","defaultValue","wasControlled","calledFrom","isControlled","useRef","_useState","valueState","setValue","useControlledState","_defaultIndex$","openPanels","setOpenPanels","_useDescendantsInit","setDescendants","providedId","useId","_id","initialId","_React$useState","setId","onSelectPanel","prevOpenPanels","includes","accordionId","AccordionItem","_ref2$as","_ref2$disabled","disabled","_useAccordionCtx","buttonRef","_useStatefulRefValue","setState","refValue","useStatefulRefValue","handleButtonRefSet","itemId","panelId","buttonId","Open","Collapsed","getDataState","AccordionButton","_ref3","_ref3$as","onClick","onKeyDown","onMouseDown","onPointerDown","tabIndex","_useAccordionItemCtx","ownRef","refs","node","_step","_iterator","useComposedRefs","currentIndex","_options$key","_options$orientation","orientation","_options$rotate","rotate","_options$rtl","rtl","handleKeyDown","focus","button","selectableDescendants","selectableIndex","preventDefault","getNextOption","prev","getPreviousOption","nextOrPrev","prevOrNext","prevOrFirst","ctrlKey","getFirstOption","first","nextOrLast","getLastOption","last","AccordionPanel","_ref4","_ref4$as","_useAccordionItemCtx2","makeStyles","theme","contentWrapper","padding","spacing","backgroundColor","marginTop","sectionTitle","fontSize","typography","pxToRem","marginBottom","color","text","tagsSection","width","tagsWrapper","display","overflowY","scrollbarWidth","msOverflowStyle","classes","useStyles","React","className","Grid","container","direction","Typography","variant","tag","Tag","justify","Button","createStoreImpl","createState","Set","partial","nextState","previousState","getInitialState","delete","destroy","warn","clear","useDebugValue","useSyncExternalStoreWithSelector","didWarnAboutEqualityFn","identity","createImpl","useBoundStore","selector","equalityFn","getServerState","useStore","createJSONStorage","getStorage","storage","getItem","parse","str2","reviver","setItem","newValue","removeItem","toThenable","onFulfilled","_onRejected","_onFulfilled","onRejected","persist","baseOptions","localStorage","serialize","deserialize","partialize","merge","persistedState","hasHydrated","hydrationListeners","finishHydrationListeners","thenableSerialize","errorInSync","thenable","serializedValue","savedSetState","configResult","stateFromStorage","hydrate","cb","postRehydrationCallback","onRehydrateStorage","storageValue","deserializedStorageValue","migrate","migratedState","_a2","setOptions","newOptions","clearStorage","rehydrate","onHydrate","onFinishHydration","oldImpl","skipHydration","newImpl","initialValues","accessToken","refreshToken","expiresIn","isAccountDeletionRevoked","password","otpToken","mfaEnabled","modifyEmailAuthToken","modifyPhoneNumberAuthToken","useAuthenticationStore","updateState","newState","resetState","process","REACT_APP_LOCAL_STORAGE_KEY_AUTH_STORE","AUTHENTICATION_SCOPES","AUTHENTICATION_GRANT_TYPES","AUTHENTICATION_CLIENT_IDS","AxiosClientsManager","clients","defaultOptions","createClient","clientId","axios","ClientError","_objectSpread","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","_inherits","subClass","superClass","writable","consoleLogger","output","Logger","concreteLogger","prefix","bool","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","observers","events","l","defer","res","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","shift","k","setPath","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","isIE10","deepFind","keySeparator","paths","j","mix","joinedPath","ResourceStore","_EventEmitter","ns","defaultNS","ignoreJSONStructure","lng","silent","addNamespaces","emit","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","handle","translator","processor","checkedLoadedFor","Translator","services","copy","language","interpolation","resolved","nsSeparator","namespaces","interpolator","nestingRegexp","lastKey","_this2","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","defaultVariables","interpolate","na","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsContextHandling","codes","hasLoadedNamespace","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","deprecate","isSupportedCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","c","fc","sets","nr","_rulesPluralsTypes","PluralResolver","rules","numbers","plurals","rule","getRule","number","idx","noAbs","abs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","format","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","RegExp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","formatters","doReduce","elem","v","Connector","backend","queue","languages","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","addResourceBundle","q","_getLastOfPath2","pushPath","what","fcName","tried","wait","read","queueLoad","loadOne","prepareLoading","_this5","isUpdate","transformOptions","nonExplicitWhitelist","I18n","modules","external","isInitialized","isClone","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","partialBundledLanguages","ret","tDescription","_format","lu","on","languageDetector","detection","_this2$store","_this2$store2","deferred","finish","changeLanguage","usedCallback","append","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","opts","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","Language","locale","localName","englishName","territory","timezones","notLoadedNamespaces","namespaceHasTranslations","getNamespaceTranslations","default","namespaceTranslation","pdashNamespace","webActivitiesNamespace","rdashTranslatablesNamespace","CaESLanguage","_Language","pdash","webActivities","rdashTranslatables","_inheritsLoose","CyGBLanguage","DeDELanguage","rdashNamespace","EnUSLanguage","rdash","EsCOLanguage","EsESLanguage","FaIrLanguage","FrCaLanguage","ItItLanguage","NlNlLanguage","SlSiLanguage","UrPkLanguage","ZhHansLanguage","ZuZULanguage","languageCodes","enUSLanguage","deDELanguage","faIRLanguage","frCaLanguage","itITLanguage","nlNLLanguage","itPKLanguage","esESLanguage","esCOLanguage","caESLanguage","slSILanguage","zuZULanguage","zhHansLanguage","cyGBLanguage","localeToLanguage","normalizeSupportedLanguage","languageCode","languageCodeSplit","actualLanguageCode","languageExist","normalizedLanguageCode","languageCodeExist","languageLocaleExist","languageSplit","languageLocale","FatalError","getAll","getAllLanguageCodes","snakeCaseNonTranslationKeys","excludedKeys","_toConsumableArray","camelCaseNonTranslationKeys","Q","Z","L","nn","u","has","X","Map","tn","y","h","freeze","isFrozen","rn","U","g","S","w","P","M","H","A","I","R","D","F","z","E","N","T","en","Proxy","revocable","revoke","proxy","J","K","G","W","B","Reflect","for","getOwnPropertyNames","deleteProperty","un","produce","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","op","an","defaultEqualityCheck","createSelector","memoize","memoizeOptions","recomputations","resultFunc","dependencies","dep","dependencyTypes","getDependencies","memoizedResultFunc","params","resetRecomputations","createSelectorCreator","equalityCheck","lastArgs","lastResult","areArgumentsShallowlyEqual","INITIALIZATION_STATUS","DUCK_NAME","duckActions","INITIALIZE","SET_INITIALIZATION_STATUS","ASK_SPACE_FOR_LANGUAGE_NAMESPACE","ASK_SPACE_FOR_LANGUAGE_NAMESPACE_SUCCEEDED","SET_LANGUAGE","SET_NAMESPACE","CHANGE_LANGUAGE","CHANGE_NAMESPACE","draft","initializationStatus","namespaceReducerActions","duckActionCreators","initialize","userLanguage","initializationSucceeded","initializationFailed","askSpaceForLanguageNamespace","askSpaceForLanguageNamespaceSucceeded","setLanguage","setNamespace","changeNamespace","i18nSelector","getSelector","duckSelectors","languageSelector","i18nState","namespaceSelector","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","ReportNamespaces","usedNamespaces","initReactI18next","instance","setDefaults","react","setI18n","placeholdersRegex","AndroidFormat","i18next","i18nextOptions","placeholders","parsedText","placeholder","placeholderPosition","placeholderValue","errorHandle","SAGA_NAME","setI18nextLanguage","select","i18nSelectors","namespaceTranslations","appDateTimeCore","checkAndSetLanguage","finalLanguage","normalizedFinalLanguage","put","i18nActionCreators","initializeI18next","use","maxRetries","timeoutMs","attempts","success","i18nActions","i18nSaga","takeEvery","variables","errorMapper","customErrorsOrMapper","ValidationErrorYup","ValidationError","ConnectionError","UnknownError","camelcaseKeys","_isObject","errorCode","APIMappedError","errorName","statusText","APIError","errorMessage","APIUnauthorizedError","baseUrl","REACT_APP_SERVER_BASE_URL","URL","origin","getInitialBaseUrl","defaultAxiosClients","baseURL","media","gql","file","REACT_APP_FILE_SERVER_BASE_URL","axiosClientId","axiosInstance","axiosClientsManager","interceptors","requestConfig","appClientAuth","authorization","userAuthData","appMainUtils","apiKey","pathname","isRefreshingToken","requestsQueue","processQueue","token","prom","previousConfig","_error$response","appClientUtils","retryConfig","responseData","normalizedPayload","snakeCaseKeys","grantType","appClientCore","post","revokedDeletion","appMainStore","userData","actionSource","shouldPersistUserData","shouldLoadFromAPI","shouldSetInitializationStatus","refreshError","isUserAuthenticated","appMain","authData","isAutoLogoutOccurred","autoLogoutFlag","REACT_APP_AUTO_LOGOUT_FLAG_STORAGE_KEY","setAutoLogoutLocalStorageFlag","isTrue","getAccountLockedDataFromLocalStorage","REACT_APP_ACCOUNT_LOCKED_STORAGE_KEY","setAccountLockedDataInLocalStorage","timestampMs","removeAccountLockedDataInLocalStorage","calculateAccountLockedTimeLeftFromLocalStorage","accountLockedTimestamp","nowDateTimeMS","appDateTime","toMillis","minutesLeft","diffInMS","isPublicEndpoint","endpointWithTrimmedSlashes","reIsDeepProp","reIsPlainProp","isSymbol","hasFunc","isLength","isArguments","customizer","CLONE_DEEP_FLAG","getNodeIdFromBase64Id","base64String","typeName","atob","gqlUtils","getBase64IdFromNodeId","nodeId","btoa","normalize","raw","_cloneDeepWith","deepData","_has","edges","__typename","restData","gqlData","objectUtils","toFormData","customFilesName","customFormDataFilesName","formData","FormData","stringifiedItem","File","responseSchema","array","of","shape","label","required","description","icon","is_cloud","data_sources","has_visualization","has_dashboard_template","export_formats","unit","subsystem","device","app_updated_at","nullable","bt_mac","cur_app_version","cur_os_version","date_created","device_id","last_app_version","last_os_version","last_used","manufacturer","model","os_updated_at","owner","wifi_mac","role_id","avatar","ensure","first_name","last_name","org_name","is_email_verified","is_phone_verified","mfa_enabled","phone","matrix_password","subscription_configs","mixed","preferred_notification_medium_ids","has_auto_logout","boolean","has_password_expiry","gender_id","age_id","education_id","marital_status_id","occupation_id","salary_id","userLogout","refresh_token","userRead","validatedData","validate","deviceInfo","normalizedUserData","roleId","readDataSourceOptions","stripUnknown","HTTP_CALL_STATUS","batch","getBatch","nullListeners","notify","Subscription","parentSub","handleChangeWrapper","addNestedSub","trySubscribe","notifyNestedSubs","onStateChange","createListenerCollection","tryUnsubscribe","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","subscription","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","Context","WrappedComponent","wrappedComponentName","displayName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","reactReduxForwardedRef","propsContext","ContextToUse","Consumer","isContextConsumer","contextValue","didStoreComeFromProps","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","useReducer","previousStateUpdateResult","renderedWrappedComponent","Connect","forwarded","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","stateOrDispatch","ownProps","mapDispatchToProps","actionCreators","boundActionCreators","_loop","actionCreator","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","nextStateProps","statePropsChanged","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","createConnect","_temp","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","_ref$selectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","newBatch","USER_SIGN_ACTION_SOURCES","SIGN_IN","SIGN_UP","RESET_PASSWORD","PHR_EVENT_TYPES","USER_SIGN_UP","USER_SIGN_IN","USER_LOGOUT","APPLICATION_OPENED","ACTIVITY_RESPONSES_UPLOAD_STARTED","ACTIVITY_RESPONSES_UPLOAD_FINISHED","ACTIVITY_RESPONSES_UPLOAD_FAILED","ACTIVITY_OPENED","ACTIVITY_CLOSED","ACTIVITY_FINISHED","AUDIT_TRAIL_PAGE_OPENED","ACTIVITIES_PAGE_OPENED","DATA_SOURCES_PAGE_OPENED","STUDY_BASICS_PAGE_OPENED","DATA_SOURCES_BEACONS_PAGE_OPENED","NOTIFICATION_TEMPLATES_PAGE_OPENED","NOTIFICATIONS_PAGE_OPENED","PARTICIPATION_PAGE_OPENED","PARTICIPATION_PENDING_INVITATION_PAGE_OPENED","ACTIVITY_SESSIONS_PAGE_OPENED","SURVEY_RESPONSES_PAGE_OPENED","DATA_EXPORT_PAGE_OPENED","RESEARCHERS_PAGE_OPENED","EDEN_INTRODUCTION_PAGE_OPENED","EDEN_DATA_CONFIRMATION_PAGE_OPENED","EDEN_CONSENT_PAGE_OPENED","EDEN_PARENTS_OF_MINOR_CONSENT_PAGE_OPENED","EDEN_PARTICIPANT_CONSENTED","EDEN_PARTICIPANT_DATA_CONFIRMED","SET_SEND_STATUS","USER_SIGN_ACTION","ROUTE_VISITED","EDEN_PHR_EVENTS","sendStatus","setSendStatusSucceeded","setSendStatusFailed","sendApplicationOpened","studies","sendUserSignAction","sendUserLogout","sendActivityOpened","studyId","activityId","sessionUuid","sendActivityClosed","sendActivityFinished","sTimeMs","pTimeMs","rTimeMs","statusId","tlTypeId","sendActivityResponseUploadStarted","sendActivityResponseUploadFinished","startTimeMs","sessionsSubmitted","sendActivityResponseUploadFailed","sendRouteVisited","sendEdenEvent","ethicaId","consentType","actionType","requestSchema","user_id","session_uuid","PHCreate","sessionUUID","PHRMessageBaseJSON","timeMs","activityOpenedAndClosedReportSchema","activityFinishedReportSchema","sendPHR","snakecaseKeys","PHRActionCreators","handleActivityEvents","_action$payload","handleUserAction","userDataSource","handleUserLogout","handleApplicationOpened","handleRouteVisited","handleEdenPHREvent","PHRSaga","PHRActions","takeLatest","FETCH_DATA_SOURCE_OPTIONS","SET_DATA_SOURCE_OPTIONS","SET_DATA_SOURCE_OPTIONS_STATUS","fetchDataSourceOptions","fetchDataSourceOptionsRequested","fetchDataSourceOptionsSucceeded","fetchDataSourceOptionsFailed","setDataSourceOptions","dataSourceOptionsSelector","dataSourceOptionsDataSelector","dataSourceOptionsLoadingSelector","dataSourceOptionsSucceededSelector","dataSourceOptionsFailedSelector","dataSourceOptionsInitializedSelector","handleFetchDataSourceOptions","dataSourceOptionsActionCreators","dataSourceOptionsSaga","dataSourceOptionsActions","REGISTER","UNREGISTER","ADD","REMOVE","OPEN","CLOSE","UPDATE_OPEN_STATUS","dialogs","dialogId","opened","openStatus","register","unregister","setOpenStatusOpened","setOpenStatusClosed","dialogSelector","dialogsSelector","dialogState","handleCloseDialog","dialogSelectors","dialogActionCreators","handleOpenDialog","handleUnregisterDialog","handleRegisterDialog","dialogSaga","dialogActions","ENQUEUE","DEQUEUE","SET_TO_SHOW_SNACKBAR","SET_SHOWING_SNACKBAR_ID","SET_SHOULD_OPEN","SHOW","SNACKBAR_OPENED","SNACKBAR_CLOSED","SNACKBAR_EXITED","snackbarsQueue","snackbar","toShowSnackbar","showingSnackbarId","snackbarId","shouldOpen","enqueue","dequeue","setToShowSnackbar","setShowingSnackbarId","setShouldOpen","show","closed","exited","snackbarSelector","toShowSnackbarSelector","snackbarState","showingSnackbarIdSelector","shouldOpenSelector","snackbarSelectors","nextSnackbar","snackbarActionCreators","uuid","uuidV4","snackbarSaga","snackbarActions","firstName","lastName","organization","externalUserDataActionSource","ageId","genderId","educationId","maritalStatusId","occupationId","salaryId","isEmailVerified","isPhoneVerified","hasAutoLogout","hasPasswordExpiry","isMFAEnabled","phoneNumber","logoutStatus","matrixPassword","subscriptionConfigs","preferredNotificationMediumIds","RESET","ASK_SPACE_TO_LOAD_USER_DATA","LOAD_USER_DATA_FROM_SPACE_SUCCEEDED","LOAD_USER_DATA_FROM_SPACE_FAILED","LOAD_USER_DATA_FROM_API","SET_USER_DATA","SET_USERNAME","SET_DEVICE_ID","SET_PHONE_NUMBER","SET_IS_EMAIL_VERIFIED","SET_IS_MFA_ENABLED","SET_IS_PHONE_VERIFIED","SET_USER_DATA_EXTERNAL","LOGOUT","SET_USER_DATA_EXTERNAL_ACTION_SOURCE","SET_LOGOUT_STATUS","_draft$id","verified","initializationStarted","resetInitializationStatus","loadUserDataFromAPI","setUserData","setUserDataExternal","setUserDataExternalActionSource","askSpaceToLoadUserData","loadUserDataFromSpaceSucceeded","loadUserDataFromSpaceFailed","setUsername","setDeviceId","setPhoneNumber","setEmailVerified","setIsMFAEnabled","setPhoneNumberNotVerified","setPhoneNumberVerified","logout","onSuccess","logoutLoading","logoutSucceeded","logoutFailed","userSelector","apiKeySelector","userState","usernameSelector","roleSelector","idSelector","avatarSelector","firstNameSelector","lastNameSelector","fullNameSelector","deviceIdSelector","organizationSelector","userDataExternalActionSourceSelector","isAnonymousUserSelector","emailVerifiedSelector","phoneVerifiedSelector","hasAutoLogoutSelector","hasPasswordExpirySelector","phoneNumberSelector","isMFAEnabledSelector","logoutStatusLoadingSelector","settingsState","logoutStatusSucceededSelector","logoutStatusFailedSelector","initializationStatusSelector","initializationStatusSucceededSelector","initializationStatusFailedSelector","initializationStatusStartedSelector","matrixUsernameSelector","REACT_APP_LOCAL_CHAT_MATRIX_SERVER_NAME","matrixPasswordSelector","notificationSettingsSelector","nested","objValue","predicate","spreadableSymbol","baseFlatten","isStrict","thisArg","nativeMax","transform","otherArgs","nativeNow","lastCalled","stamp","remaining","getAvatarUrl","serverBaseUrl","urlWithoutLeadingSlash","normalizeUserDataFromAPI","orgName","_pick","persistUserData","REACT_APP_LOCAL_STORAGE_KEY_USER","handleUserDeviceIdFromSpace","userDataFromSpace","userActionCreators","i18nStore","userActions","userSaga","inject","i18nStoreAsObject","i18nReducer","duck","i18nDuck","saga","i18nSagaName","snackbarDuck","snackbarReducer","userDuck","userReducer","dialogDuck","dialogReducer","dataSourceOptionsDuck","dataSourceOptionsReducer","userSagaName","snackbarSagaName","dialogSagaName","dataSourceOptionsSagaName","mainAppStore","PHRReducer","SnackbarProvider","_Component","render","others","Component","connect","snackbarOpened","snackbarClosed","snackbarExited","getData","getAuthData","googleLibPhoneNumber","os_version","extra_info","stack_trace","app_version","createLog","getDeviceOs","deviceOs","userAgentBasedData","Bowser","osName","getOSName","osVersion","getOSVersion","logLevelInstance","logLevel","isProd","setLevel","info","logToBackend","finalPayload","basePayload","appVersion","userId","stackTrace","extraInfo","EDFError","_BaseError","toJSON","BaseError","_EDFError","details","theCode","_APIError","anError","errorTypesToHandle","errorTypesToExclude","APIUnAuthorizedError","isErrorOfInterest","appLogger","fullStack","setTag","setExtras","faIR","weekdaysShort","weekdays","weekdaysMin","months","monthsShort","ordinal","formats","LTS","LT","LL","LLL","LLLL","ll","lll","llll","relativeTime","future","past","mm","hh","dd","MM","yy","initialized","dayjs","LocalizedFormat","utc","timezone","customParseFormat","advancedFormat","deDe","esES","caES","slSI","esUS","frCA","itIT","nlNL","urPK","enUS","zuZU","changeLocale","DateTime","dateTime","parseFormat","isValid","isBefore","isAfter","isBeforeToday","isSame","isSameDay","isSameWeek","isSameMonth","isSameYear","diffMillisecond","floatingPointResult","diff","diffSecond","diffMinute","diffHour","diffDay","diffWeek","diffMonth","diffYear","getFullYear","year","getMonth","month","valueOf","toUTCMillis","formatStr","formatUtc","time","startOfDay","startOf","startOfMinute","startOfHour","startOfWeek","startOfMonth","startOfYear","endOfYear","endOf","endOfDay","endOfWeek","endOfMonth","addMonth","monthCount","addYear","yearCount","addWeek","weekCount","addDay","dayCount","addHour","hour","subtractDay","subtract","subtractMonth","subtractWeek","subtractHour","getWeekDay","day","getDayOfMonth","date","getHour","getMinute","minute","setSecond","second","setMinute","setHour","setMonth","setYear","setMonthDay","getSecond","getAllWeekdaysOfDate","dayjsInstance","getUTCOffsetInMinutes","utcOffset","fromNow","withoutSuffix","compared","toNow","getMonthsFullName","getMonthsShortName","normalizeDates","dates","weekDaysFullName","daysOfWeekNumber","weekDaysShortName","weekDay","humanizeDuration","totalDurationInSecond","round","getCurrent","Intl","DateTimeFormat","resolvedOptions","timeZone","timezoneName","FORMATS","DATE_TIME","getTimezoneOffset","offsetInMinutes","offsetInHours","isPositive","minutes","ceil","DATE_MED","MEDIA_DATETIME","DATE_TIME_HUMAN_READABLE","DATE_TIME_NO_SEC","DATE","DATE_HUMAN_READABLE","DATE_HUMAN_READABLE_SHORT_MONTH","TIME","HOUR_MINUTE","WEEK_DAY_SHORT_NAME","MONTH_NAME_WITH_YEAR","MONTH_SHORT_NAME_WITH_YEAR","MONTH_SHORT_NAME_WITH_DAY","MONTH_SHORT_NAME_WITH_ORDINAL_DAY","MONTH_NAME_WITH_DAY","MONTH_FULL_NAME","FULL_YEAR","DAY","DAY_WEEK","WEEK_DAY_WITH_DATE","WEEK_DAY_SHORT_WITH_DATE","WEEK_DAY_WITH_ORDINAL_DAY","WEEK_DAY_WITH_ORDINAL_DAY_WITH_COMMA","DATE_IN_LOCALE","TIME_IN_LOCALE","MERIDIEM","HOUR_MINUTE_WITH_SEPARATOR","FULL_DATE_TIME_LOCALE","FULL_DATE_TIME_LOCALE_ACTIVITY_SESSIONS","ADHERENCE_REPORT_API_MODIFIED_DATE_FORMAT","HOUR_MINUTE_MERIDIEM_WITH_SEPARATOR","DATE_HUMAN_READABLE_WITH_SEPARATOR","HOUR_MINUTE_MERIDIEM","DATE_HOUR_MINUTE_MERIDIEM","YEAR_MONTH","ISO_8601","MONTH_DAY","EtcUTC","root","borderBottom","expanded","title","cursor","fontWeight","palette","primary","subtitle","sideContentWrapper","justifyContent","breakpoints","up","gap","buttonWrapper","border","buttonText","textTransform","buttonIconWrapper","height","borderRadius","alignItems","marginLeft","buttonIcon","common","white","buttonIconUp","authors","isExpanded","_useAccordionItemCtx3","clsx","xs","md","author","FontAwesomeIcon","margin","RUIAccordionItem","Header","publishDate","fullArticleUrl","Content","abstract","noItemFound","textAlign","PublicationsAccordionList","loading","Loading","publication","defaultProps","flexShrink","clickable","selected","Constructor","__esModule","_defineProperties","descriptor","protoProps","staticProps","_typeof","Session","sid","duration","startingTime","ipAddress","ip_address","did","attrs","user_agent","API_VERSION","Hub","_version","_stack","getStackTop","isOlderThan","pushScope","getStack","popScope","withScope","_lastEventId","finalHint","_invokeClient","beforeBreadcrumb","maxBreadcrumbs","mergedBreadcrumb","finalBreadcrumb","setUser","setTags","extras","setExtra","setContext","configureScope","oldHub","makeMain","startSpan","_callExtensionMethod","startTransaction","customSamplingContext","traceHeaders","endSession","_sendSessionUpdate","setSession","currentSession","getMainCarrier","__SENTRY__","extensions","carrier","registry","getHubFromCarrier","setHubOnCarrier","hasHubOnCarrier","activeDomain","domain","active","registryHubTopStack","_Oo","getHubFromActiveDomain","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_contexts","newScope","_span","_session","_transactionName","_fingerprint","_requestSession","addScopeListener","_notifyScopeListeners","getRequestSession","setRequestSession","requestSession","setFingerprint","setTransactionName","setTransaction","setSpan","span","getSpan","getTransaction","spanRecorder","spans","updatedScope","maxCrumbs","min","clearBreadcrumbs","getTraceContext","transactionName","_applyFingerprint","_notifyEventProcessors","getGlobalEventProcessors","final","globalEventProcessors","callOnHub","SessionStatus","RequestSessionStatus","htmlTreeAsString","currentElem","out","nextStr","_htmlElementAsString","separator","parentNode","attr","keyAttrPairs","keyAttr","getAttribute","keyAttrPair","allowedAttrs","isError","wat","isInstanceOf","isErrorEvent","isDOMError","isDOMException","isString","isPrimitive","isEvent","Event","isElement","Element","isThenable","isSyntheticEvent","base","PREFIX","_enabled","disable","enable","fallbackGlobalObject","getGlobalObject","uuid4","crypto","msCrypto","getRandomValues","Uint16Array","pad","num","parseUrl","query","fragment","getEventDescription","consoleSandbox","originalConsole","wrappedLevels","addExceptionTypeValue","addExceptionMechanism","getLocationHref","defaultRetryAfter","parseRetryAfterHeader","headerDate","isNodeEnv","dynamicRequire","mod","require","Memo","_hasWeakSet","WeakSet","_inner","unmemoize","fill","replacementFactory","wrapped","urlEncode","getWalkSource","event_1","currentTarget","CustomEvent","jsonSize","encodeURI","utf8Length","normalizeToSize","maxSize","serialized","normalizeValue","_events","walk","memo","Infinity","serializeValue","innerKey","extractExceptionKeysForMessage","maxLength","includedKeys","dropUndefinedKeys","defaultFunctionName","getFunctionName","truncate","safeJoin","delimiter","isMatchingPattern","States","SyncPromise","executor","_state","PENDING","_handlers","_resolve","_setResult","RESOLVED","_reject","REJECTED","_value","_executeHandlers","_attachHandler","cachedHandlers","onfulfilled","onrejected","collection","counter","resolvedCollection","finally","onfinally","isRejected","dateTimestampSource","nowSeconds","platformPerformance","performance","getNodePerformance","timeOrigin","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","threshold","performanceNow","dateNow","timeOriginDelta","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","possibleNames","globalThis","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","ms","$L","$u","$x","$offset","$d","NaN","UTC","$y","$M","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","$g","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","invalidDate","meridiem","YY","YYYY","MMM","MMMM","DD","ddd","dddd","HH","ss","SSS","toUTCString","extend","$i","isDayjs","Ls","yearStart","weekYear","isoWeekYear","week","isoWeek","offsetName","zone","offset","afternoon","milliseconds","SS","Do","Y","ZZ","parser","hours","parseTwoDigitYear","seconds","fromToBase","thresholds","rounding","timeZoneName","hour12","formatToParts","tz","toLocaleString","$timezone","guess","setDefault","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","desc","EvalError","RangeError","ReferenceError","SyntaxError","URIError","toStr","list","receiver","forEachArray","forEachString","forEachObject","concatty","bound","arrLike","slicy","boundLength","boundArgs","joiner","joiny","implementation","$EvalError","$RangeError","$ReferenceError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","hasProto","getProto","needsEval","TypedArray","Uint8Array","INTRINSICS","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","eval","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","parseFloat","SharedArrayBuffer","Uint8ClampedArray","Uint32Array","WeakMap","WeakRef","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasPropertyDescriptors","hasArrayLengthDefineBug","foo","$Object","origSymbol","hasSymbolSham","symObj","syms","toStringTag","$hasOwn","ctor","superCtor","super_","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","GeneratorFunction","isFnRegex","generatorFunc","getGeneratorFunc","whichTypedArray","makeError","util_1","SEPARATOR_TEXT","inspect","custom","customInspect","construct","cname","setFunctionName","properties","_slicedToArray","_arr","_n","_s","sliceIterator","omit","isNil","omitDeepLodash","omitDeepOnOwnProps","_iteratorNormalCompletion","_didIteratorError","_iteratorError","entries","_step$value","patternOrChannel","worker","NOT_ITERATOR_ERROR","CHANNEL_END","TASK_CANCEL","matchers","wildcard","patterns","matcher","_predicate","wrapHelper","helper","proc","parentContext","parentEffectId","cont","effectsString","runParallelEffect","runAllEffect","sagaMonitor","onError","logError","sagaStack","stdChannel","taskContext","_done","_ref9","_mutatorMap","_deferredEnd","def","_isRunning","_error","_result","joiners","isRunning","isCancelled","_isCancelled","isAborted","_isAborted","descs","_defineEnumerableProperties","newTask","mainTask","taskQueue","tasks","completed","abort","cancelAll","addTask","isErr","getTasks","taskNames","forkQueue","end","throw","isMainRunning","runEffect","effect","effectId","effectTriggered","effectSettled","currCb","effectRejected","effectResolved","effectCancelled","resolvePromise","runForkEffect","resolveIterator","channel","maybe","takeCb","inp","runTakeEffect","runPutEffect","effects","childCbs","chCbAtKey","_response","runRaceEffect","runCallEffect","_ref5","cpsCb","runCPSEffect","runJoinEffect","taskToCancel","runCancelEffect","_ref7","runSelectEffect","_ref8","buffer","buffers","runChannelEffect","runFlushEffect","runCancelledEffect","runGetContextEffect","runSetContextEffect","cancelPromise","_ref6","detached","taskIterator","pc","eff","createTaskIterator","_task","completedCount","results","NON_GENERATOR_ERR","RUN_SAGA_SIGNATURE","runSaga","storeInterface","_storeInterface","actionDispatched","_ref$context","_objectWithoutProperties","emitter","sagaEmitter","zeroBuffer","isEmpty","ringBuffer","overflowAction","pushIndex","popIndex","doubledLimit","none","fixed","dropping","sliding","expanding","initialSize","CHANNEL_END_TYPE","END","isEnd","subscribers","sub","INVALID_BUFFER","UNDEFINED_INPUT_ERROR","eventChannel","chan","takers","checkForbiddenStates","__takers__","__closed__","IO","TAKE","PUT","ALL","RACE","CALL","FORK","JOIN","CANCEL","SELECT","ACTION_CHANNEL","CANCELLED","FLUSH","GET_CONTEXT","SET_CONTEXT","TEST_HINT","getFnCallDesc","meth","_fn","_fn2","_len6","_key6","_len7","_key7","actionChannel","sync","createAsEffectType","asEffect","cps","cancelled","getContext","qEnd","safeName","entry","fsmIterator","fsm","q0","qNext","_fsm$qNext","_updateState","yTake","setAction","ac","q1","q2","yFork","yCancel","setTask","q3","semaphore","suspend","asap","TASK","HELPER","MATCH","SAGA_ACTION","SELF_CANCELLATION","konst","kTrue","ident","check","notUndef","undef","ob","buf","pat","stringableFunc","timeoutId","autoInc","seed","uid","kThrow","kReturn","makeIterator","deprecationWarning","updateIncentive","deprecated","preferred","internalErr","createSetContextWarning","ctx","wrapSagaDispatch","_defineProperty","getUndefined","getType","_options$breadcrumbDa","breadcrumbDataFromAction","_options$breadcrumbMe","breadcrumbMessageFromAction","_options$actionTransf","actionTransformer","_options$stateTransfo","_options$breadcrumbCa","breadcrumbCategory","_options$filterBreadc","filterBreadcrumbActions","getTags","lastAction","factory","combineReducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","combinedReducer","__RETRACK_GET_PATH_ARRAY__","reducerKey","namespacingFunction","customFunction","actionTypes","actionTypesClone","define","hasDescriptors","gOPD","$floor","functionLengthIsConfigurable","functionLengthIsWritable","getSnapshot","inst","useSyncExternalStore","hasValue","readUInt8","isArgumentsObject","isGeneratorFunction","isTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isPromise","isArrayBufferView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","descriptors","formatRegExp","objects","isNull","noDeprecation","warned","throwDeprecation","traceDeprecation","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","seen","stylize","stylizeNoColor","colors","isBoolean","showHidden","_extend","isUndefined","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","arrayToHash","formatError","isDate","braces","formatProperty","formatArray","cur","numLinesEst","reduceToSingleString","re","objectToString","debuglog","pid","types","isNativeError","isBuffer","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","promiseReject","callbackify","callbackified","maybeCb","nextTick","v1","v4","byteToHex","bth","rnds8","rnds","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","ii","availableTypedArrays","typedArrays","$slice","cache","typedArray","superProto","getter","trySlices","tryTypedArrays","definition","undefinedType","isIE","logMethods","bindMethod","traceForIE","realMethod","replaceLoggingMethods","loggerName","methodFactory","enableLoggingWhenConsoleArrives","defaultMethodFactory","defaultLevel","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","ignore","cookie","getPersistedLevel","storedLevel","levels","getLevel","SILENT","setDefaultLevel","enableAll","TRACE","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","_log","noConflict","getLoggers","iteratee","baseAssignValue","eq","copyObject","keysIn","Stack","arrayEach","assignValue","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","getTag","initCloneArray","initCloneByTag","initCloneObject","argsTag","funcTag","objectTag","cloneableTags","baseClone","bitmask","isDeep","isFlat","isFull","isArr","isFunc","stacked","subValue","objectCreate","baseCreate","arrayPush","isFlattenable","isObjectLike","isPrototype","nativeKeysIn","isProto","baseSetToString","castPath","parent","toKey","arrayBuffer","byteLength","freeExports","nodeType","freeModule","Buffer","allocUnsafe","cloneArrayBuffer","dataView","byteOffset","reFlags","symbolProto","symbolValueOf","symbol","isNew","getSymbols","getSymbolsIn","flatten","overRest","setToString","baseGetAllKeys","getPrototype","overArg","stubArray","cloneDataView","cloneRegExp","cloneSymbol","cloneTypedArray","Ctor","isConcatSpreadable","baseGet","baseSlice","shortOut","baseIsMap","baseUnary","nodeUtil","nodeIsMap","baseGetTag","funcProto","objectProto","funcToString","objectCtorString","baseIsSet","nodeIsSet","arrayLikeKeys","baseKeysIn","isArrayLike","arrayMap","baseUnset","customOmitClone","flatRest"],"mappings":"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","file":"7a2edf7e830131ff632fc9204cb8e9ee8f2fd8ee-fd4bdf63de7f3faa92b5.js","sourcesContent":["'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\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","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = new 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","'use strict';\nvar 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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar 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","'use strict';\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 = 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 new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar 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 new $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","'use strict';\nvar 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","'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 new $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","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\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 setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\nvar 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 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 installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Error = Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf(new $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 installErrorStack(that, $AggregateError, that.stack, 1);\n if (arguments.length > 2) installErrorCause(that, arguments[2]);\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","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.aggregate-error.constructor');\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\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","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = indexOf(string, searchString);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.aggregate-error');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.string.replace-all');\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}","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};\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 while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(obj) === proto;\n}\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n if (process.env.NODE_ENV !== 'production') {\n // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\n function miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\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 if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\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 return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n }\n function ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n }\n function isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n }\n function 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 typeOfVal = miniKindOf(val);\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 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 if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\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 return enhancer(createStore)(reducer, preloadedState);\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 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 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 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 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 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 var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\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 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 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 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 if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\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 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 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 function observable() {\n var _ref;\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 function observeState() {\n if (observer.next) {\n observer.next(getState());\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 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 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}\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 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 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 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 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}\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 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 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\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\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 if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n var shapeAssertionError;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n var hasChanged = false;\n var nextState = {};\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 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 nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\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\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\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 var boundActionCreators = {};\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\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 if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n if (funcs.length === 1) {\n return funcs[0];\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 return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\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 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() {}\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}\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };","var _extends = Object.assign || 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\n// \n\nvar defaultSetPayload = function defaultSetPayload(action, payload) {\n return _extends({}, action, {\n payload: payload\n });\n};\nvar defaultGetPayload = function defaultGetPayload(action) {\n return action.payload;\n};\nvar defaultGetError = function defaultGetError(action) {\n return action.payload;\n};\nfunction createListener() {\n var nextListenerId = 0;\n var listeners = {};\n var dispatch = void 0;\n var middleware = function middleware(store) {\n dispatch = store.dispatch;\n return function (next) {\n return function (action) {\n // This could potentially be improved performance-wise by doing a hash lookup\n // by action.type to not loop through all the listeners on every action,\n // but there will probably be no listeners for the majority of an application's\n // lifecycle, so this structure was chosen for its ease of cleanup.\n Object.keys(listeners).forEach(function (key) {\n return listeners[Number(key)](action);\n });\n return next(action);\n };\n };\n };\n var createAsyncFunction = function createAsyncFunction(config) {\n var listenerId = nextListenerId++;\n var unsubscribe = function unsubscribe() {\n delete listeners[listenerId];\n };\n if (!dispatch) {\n throw new Error('The redux-promise-listener middleware is not installed');\n }\n var asyncFunction = function asyncFunction(payload) {\n return new Promise(function (resolve, reject) {\n var listener = function listener(action) {\n if (action.type === config.resolve || typeof config.resolve === 'function' && config.resolve(action)) {\n unsubscribe();\n resolve((config.getPayload || defaultGetPayload)(action));\n } else if (action.type === config.reject || typeof config.reject === 'function' && config.reject(action)) {\n unsubscribe();\n reject((config.getError || defaultGetError)(action));\n }\n };\n listeners[listenerId] = listener;\n dispatch((config.setPayload || defaultSetPayload)({\n type: config.start\n }, payload));\n });\n };\n return {\n asyncFunction: asyncFunction,\n unsubscribe: unsubscribe\n };\n };\n return {\n middleware: middleware,\n createAsyncFunction: createAsyncFunction\n };\n}\n\n//\n\nexport default createListener;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(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)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n}","/** JSDoc */\n// eslint-disable-next-line import/export\nexport var Severity;\n(function (Severity) {\n /** JSDoc */\n Severity[\"Fatal\"] = \"fatal\";\n /** JSDoc */\n Severity[\"Error\"] = \"error\";\n /** JSDoc */\n Severity[\"Warning\"] = \"warning\";\n /** JSDoc */\n Severity[\"Log\"] = \"log\";\n /** JSDoc */\n Severity[\"Info\"] = \"info\";\n /** JSDoc */\n Severity[\"Debug\"] = \"debug\";\n /** JSDoc */\n Severity[\"Critical\"] = \"critical\";\n})(Severity || (Severity = {}));\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n(function (Severity) {\n /**\n * Converts a string-based level into a {@link Severity}.\n *\n * @param level string representation of Severity\n * @returns Severity\n */\n function fromString(level) {\n switch (level) {\n case 'debug':\n return Severity.Debug;\n case 'info':\n return Severity.Info;\n case 'warn':\n case 'warning':\n return Severity.Warning;\n case 'error':\n return Severity.Error;\n case 'fatal':\n return Severity.Fatal;\n case 'critical':\n return Severity.Critical;\n case 'log':\n default:\n return Severity.Log;\n }\n }\n Severity.fromString = fromString;\n})(Severity || (Severity = {}));","/** The status of an event. */\n// eslint-disable-next-line import/export\nexport var Status;\n(function (Status) {\n /** The status could not be determined. */\n Status[\"Unknown\"] = \"unknown\";\n /** The event was skipped due to configuration or callbacks. */\n Status[\"Skipped\"] = \"skipped\";\n /** The event was sent to Sentry successfully. */\n Status[\"Success\"] = \"success\";\n /** The client is currently rate limited and will try again later. */\n Status[\"RateLimit\"] = \"rate_limit\";\n /** The event could not be processed. */\n Status[\"Invalid\"] = \"invalid\";\n /** A server-side error ocurred during submission. */\n Status[\"Failed\"] = \"failed\";\n})(Status || (Status = {}));\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n(function (Status) {\n /**\n * Converts a HTTP status code into a {@link Status}.\n *\n * @param code The HTTP response status code.\n * @returns The send status or {@link Status.Unknown}.\n */\n function fromHttpCode(code) {\n if (code >= 200 && code < 300) {\n return Status.Success;\n }\n if (code === 429) {\n return Status.RateLimit;\n }\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n if (code >= 500) {\n return Status.Failed;\n }\n return Status.Unknown;\n }\n Status.fromHttpCode = fromHttpCode;\n})(Status || (Status = {}));","export var SDK_VERSION = '6.10.0';","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(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)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n}","export var setPrototypeOf = Object.setPrototypeOf || ({\n __proto__: []\n} instanceof Array ? setProtoOf : mixinProperties);\n/**\n * setPrototypeOf polyfill using __proto__\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction setProtoOf(obj, proto) {\n // @ts-ignore __proto__ does not exist on obj\n obj.__proto__ = proto;\n return obj;\n}\n/**\n * setPrototypeOf polyfill using mixin\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction mixinProperties(obj, proto) {\n for (var prop in proto) {\n // eslint-disable-next-line no-prototype-builtins\n if (!obj.hasOwnProperty(prop)) {\n // @ts-ignore typescript complains about indexing so we remove\n obj[prop] = proto[prop];\n }\n }\n return obj;\n}","import { __extends } from \"tslib\";\nimport { setPrototypeOf } from './polyfill';\n/** An error emitted by Sentry SDKs and related utilities. */\nvar SentryError = /** @class */function (_super) {\n __extends(SentryError, _super);\n function SentryError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _newTarget.prototype.constructor.name;\n setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return SentryError;\n}(Error);\nexport { SentryError };","import { __read } from \"tslib\";\nimport { SentryError } from './error';\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n/** Error message */\nvar ERROR_MESSAGE = 'Invalid Dsn';\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nvar Dsn = /** @class */function () {\n /** Creates a new Dsn component */\n function Dsn(from) {\n if (typeof from === 'string') {\n this._fromString(from);\n } else {\n this._fromComponents(from);\n }\n this._validate();\n }\n /**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n Dsn.prototype.toString = function (withPassword) {\n if (withPassword === void 0) {\n withPassword = false;\n }\n var _a = this,\n host = _a.host,\n path = _a.path,\n pass = _a.pass,\n port = _a.port,\n projectId = _a.projectId,\n protocol = _a.protocol,\n publicKey = _a.publicKey;\n return protocol + \"://\" + publicKey + (withPassword && pass ? \":\" + pass : '') + (\"@\" + host + (port ? \":\" + port : '') + \"/\" + (path ? path + \"/\" : path) + projectId);\n };\n /** Parses a string into this Dsn. */\n Dsn.prototype._fromString = function (str) {\n var match = DSN_REGEX.exec(str);\n if (!match) {\n throw new SentryError(ERROR_MESSAGE);\n }\n var _a = __read(match.slice(1), 6),\n protocol = _a[0],\n publicKey = _a[1],\n _b = _a[2],\n pass = _b === void 0 ? '' : _b,\n host = _a[3],\n _c = _a[4],\n port = _c === void 0 ? '' : _c,\n lastPath = _a[5];\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n if (projectId) {\n var projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n this._fromComponents({\n host: host,\n pass: pass,\n path: path,\n projectId: projectId,\n port: port,\n protocol: protocol,\n publicKey: publicKey\n });\n };\n /** Maps Dsn components into this instance. */\n Dsn.prototype._fromComponents = function (components) {\n // TODO this is for backwards compatibility, and can be removed in a future version\n if ('user' in components && !('publicKey' in components)) {\n components.publicKey = components.user;\n }\n this.user = components.publicKey || '';\n this.protocol = components.protocol;\n this.publicKey = components.publicKey || '';\n this.pass = components.pass || '';\n this.host = components.host;\n this.port = components.port || '';\n this.path = components.path || '';\n this.projectId = components.projectId;\n };\n /** Validates this Dsn and throws on error. */\n Dsn.prototype._validate = function () {\n var _this = this;\n ['protocol', 'publicKey', 'host', 'projectId'].forEach(function (component) {\n if (!_this[component]) {\n throw new SentryError(ERROR_MESSAGE + \": \" + component + \" missing\");\n }\n });\n if (!this.projectId.match(/^\\d+$/)) {\n throw new SentryError(ERROR_MESSAGE + \": Invalid projectId \" + this.projectId);\n }\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new SentryError(ERROR_MESSAGE + \": Invalid protocol \" + this.protocol);\n }\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new SentryError(ERROR_MESSAGE + \": Invalid port \" + this.port);\n }\n };\n return Dsn;\n}();\nexport { Dsn };","import { __read, __spread } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\nexport var installedIntegrations = [];\n/**\n * @private\n */\nfunction filterDuplicates(integrations) {\n return integrations.reduce(function (acc, integrations) {\n if (acc.every(function (accIntegration) {\n return integrations.name !== accIntegration.name;\n })) {\n acc.push(integrations);\n }\n return acc;\n }, []);\n}\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options) {\n var defaultIntegrations = options.defaultIntegrations && __spread(options.defaultIntegrations) || [];\n var userIntegrations = options.integrations;\n var integrations = __spread(filterDuplicates(defaultIntegrations));\n if (Array.isArray(userIntegrations)) {\n // Filter out integrations that are also included in user options\n integrations = __spread(integrations.filter(function (integrations) {\n return userIntegrations.every(function (userIntegration) {\n return userIntegration.name !== integrations.name;\n });\n }), filterDuplicates(userIntegrations));\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(integrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n // Make sure that if present, `Debug` integration will always run last\n var integrationsNames = integrations.map(function (i) {\n return i.name;\n });\n var alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push.apply(integrations, __spread(integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1)));\n }\n return integrations;\n}\n/** Setup given integration */\nexport function setupIntegration(integration) {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n logger.log(\"Integration installed: \" + integration.name);\n}\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options) {\n var integrations = {};\n getIntegrationsToSetup(options).forEach(function (integration) {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n return integrations;\n}","import { __assign, __read, __spread, __values } from \"tslib\";\n/* eslint-disable max-lines */\nimport { Scope } from '@sentry/hub';\nimport { SessionStatus } from '@sentry/types';\nimport { dateTimestampInSeconds, Dsn, isPlainObject, isPrimitive, isThenable, logger, normalize, SentryError, SyncPromise, truncate, uuid4 } from '@sentry/utils';\nimport { setupIntegrations } from './integration';\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nvar BaseClient = /** @class */function () {\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n function BaseClient(backendClass, options) {\n /** Array of used integrations. */\n this._integrations = {};\n /** Number of calls being processed */\n this._numProcessing = 0;\n this._backend = new backendClass(options);\n this._options = options;\n if (options.dsn) {\n this._dsn = new Dsn(options.dsn);\n }\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n BaseClient.prototype.captureException = function (exception, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._process(this._getBackend().eventFromException(exception, hint).then(function (event) {\n return _this._captureEvent(event, hint, scope);\n }).then(function (result) {\n eventId = result;\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureMessage = function (message, level, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n var promisedEvent = isPrimitive(message) ? this._getBackend().eventFromMessage(String(message), level, hint) : this._getBackend().eventFromException(message, hint);\n this._process(promisedEvent.then(function (event) {\n return _this._captureEvent(event, hint, scope);\n }).then(function (result) {\n eventId = result;\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureEvent = function (event, hint, scope) {\n var eventId = hint && hint.event_id;\n this._process(this._captureEvent(event, hint, scope).then(function (result) {\n eventId = result;\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureSession = function (session) {\n if (!this._isEnabled()) {\n logger.warn('SDK not enabled, will not capture session.');\n return;\n }\n if (!(typeof session.release === 'string')) {\n logger.warn('Discarded session because of missing or non-string release');\n } else {\n this._sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n session.update({\n init: false\n });\n }\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getDsn = function () {\n return this._dsn;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getOptions = function () {\n return this._options;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.flush = function (timeout) {\n var _this = this;\n return this._isClientDoneProcessing(timeout).then(function (clientFinished) {\n return _this._getBackend().getTransport().close(timeout).then(function (transportFlushed) {\n return clientFinished && transportFlushed;\n });\n });\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.close = function (timeout) {\n var _this = this;\n return this.flush(timeout).then(function (result) {\n _this.getOptions().enabled = false;\n return result;\n });\n };\n /**\n * Sets up the integrations\n */\n BaseClient.prototype.setupIntegrations = function () {\n if (this._isEnabled()) {\n this._integrations = setupIntegrations(this._options);\n }\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getIntegration = function (integration) {\n try {\n return this._integrations[integration.id] || null;\n } catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Client\");\n return null;\n }\n };\n /** Updates existing session based on the provided event */\n BaseClient.prototype._updateSessionFromEvent = function (session, event) {\n var e_1, _a;\n var crashed = false;\n var errored = false;\n var exceptions = event.exception && event.exception.values;\n if (exceptions) {\n errored = true;\n try {\n for (var exceptions_1 = __values(exceptions), exceptions_1_1 = exceptions_1.next(); !exceptions_1_1.done; exceptions_1_1 = exceptions_1.next()) {\n var ex = exceptions_1_1.value;\n var mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (exceptions_1_1 && !exceptions_1_1.done && (_a = exceptions_1.return)) _a.call(exceptions_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n var sessionNonTerminal = session.status === SessionStatus.Ok;\n var shouldUpdateAndSend = sessionNonTerminal && session.errors === 0 || sessionNonTerminal && crashed;\n if (shouldUpdateAndSend) {\n session.update(__assign(__assign({}, crashed && {\n status: SessionStatus.Crashed\n }), {\n errors: session.errors || Number(errored || crashed)\n }));\n this.captureSession(session);\n }\n };\n /** Deliver captured session to Sentry */\n BaseClient.prototype._sendSession = function (session) {\n this._getBackend().sendSession(session);\n };\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n BaseClient.prototype._isClientDoneProcessing = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var ticked = 0;\n var tick = 1;\n var interval = setInterval(function () {\n if (_this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n };\n /** Returns the current backend. */\n BaseClient.prototype._getBackend = function () {\n return this._backend;\n };\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n BaseClient.prototype._isEnabled = function () {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n };\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n BaseClient.prototype._prepareEvent = function (event, scope, hint) {\n var _this = this;\n var _a = this.getOptions().normalizeDepth,\n normalizeDepth = _a === void 0 ? 3 : _a;\n var prepared = __assign(__assign({}, event), {\n event_id: event.event_id || (hint && hint.event_id ? hint.event_id : uuid4()),\n timestamp: event.timestamp || dateTimestampInSeconds()\n });\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n var finalScope = scope;\n if (hint && hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n // We prepare the result here with a resolved Event.\n var result = SyncPromise.resolve(prepared);\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n return result.then(function (evt) {\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return _this._normalizeEvent(evt, normalizeDepth);\n }\n return evt;\n });\n };\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n BaseClient.prototype._normalizeEvent = function (event, depth) {\n if (!event) {\n return null;\n }\n var normalized = __assign(__assign(__assign(__assign(__assign({}, event), event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(function (b) {\n return __assign(__assign({}, b), b.data && {\n data: normalize(b.data, depth)\n });\n })\n }), event.user && {\n user: normalize(event.user, depth)\n }), event.contexts && {\n contexts: normalize(event.contexts, depth)\n }), event.extra && {\n extra: normalize(event.extra, depth)\n });\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n normalized.contexts.trace = event.contexts.trace;\n }\n var _a = this.getOptions()._experiments,\n _experiments = _a === void 0 ? {} : _a;\n if (_experiments.ensureNoCircularStructures) {\n return normalize(normalized);\n }\n return normalized;\n };\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n BaseClient.prototype._applyClientOptions = function (event) {\n var options = this.getOptions();\n var environment = options.environment,\n release = options.release,\n dist = options.dist,\n _a = options.maxValueLength,\n maxValueLength = _a === void 0 ? 250 : _a;\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n var exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n var request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n };\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n BaseClient.prototype._applyIntegrationsMetadata = function (event) {\n var integrationsArray = Object.keys(this._integrations);\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = __spread(event.sdk.integrations || [], integrationsArray);\n }\n };\n /**\n * Tells the backend to send this event\n * @param event The Sentry event to send\n */\n BaseClient.prototype._sendEvent = function (event) {\n this._getBackend().sendEvent(event);\n };\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n BaseClient.prototype._captureEvent = function (event, hint, scope) {\n return this._processEvent(event, hint, scope).then(function (finalEvent) {\n return finalEvent.event_id;\n }, function (reason) {\n logger.error(reason);\n return undefined;\n });\n };\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n BaseClient.prototype._processEvent = function (event, hint, scope) {\n var _this = this;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _a = this.getOptions(),\n beforeSend = _a.beforeSend,\n sampleRate = _a.sampleRate;\n if (!this._isEnabled()) {\n return SyncPromise.reject(new SentryError('SDK not enabled, will not capture event.'));\n }\n var isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return SyncPromise.reject(new SentryError(\"Discarding event because it's not included in the random sample (sampling rate = \" + sampleRate + \")\"));\n }\n return this._prepareEvent(event, scope, hint).then(function (prepared) {\n if (prepared === null) {\n throw new SentryError('An event processor returned null, will not send event.');\n }\n var isInternalException = hint && hint.data && hint.data.__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n var beforeSendResult = beforeSend(prepared, hint);\n return _this._ensureBeforeSendRv(beforeSendResult);\n }).then(function (processedEvent) {\n if (processedEvent === null) {\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n var session = scope && scope.getSession && scope.getSession();\n if (!isTransaction && session) {\n _this._updateSessionFromEvent(session, processedEvent);\n }\n _this._sendEvent(processedEvent);\n return processedEvent;\n }).then(null, function (reason) {\n if (reason instanceof SentryError) {\n throw reason;\n }\n _this.captureException(reason, {\n data: {\n __sentry__: true\n },\n originalException: reason\n });\n throw new SentryError(\"Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: \" + reason);\n });\n };\n /**\n * Occupies the client with processing and event\n */\n BaseClient.prototype._process = function (promise) {\n var _this = this;\n this._numProcessing += 1;\n void promise.then(function (value) {\n _this._numProcessing -= 1;\n return value;\n }, function (reason) {\n _this._numProcessing -= 1;\n return reason;\n });\n };\n /**\n * Verifies that return value of configured `beforeSend` is of expected type.\n */\n BaseClient.prototype._ensureBeforeSendRv = function (rv) {\n var nullErr = '`beforeSend` method has to return `null` or a valid event.';\n if (isThenable(rv)) {\n return rv.then(function (event) {\n if (!(isPlainObject(event) || event === null)) {\n throw new SentryError(nullErr);\n }\n return event;\n }, function (e) {\n throw new SentryError(\"beforeSend rejected with \" + e);\n });\n } else if (!(isPlainObject(rv) || rv === null)) {\n throw new SentryError(nullErr);\n }\n return rv;\n };\n return BaseClient;\n}();\nexport { BaseClient };","import { Status } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n/** Noop transport */\nvar NoopTransport = /** @class */function () {\n function NoopTransport() {}\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.sendEvent = function (_) {\n return SyncPromise.resolve({\n reason: \"NoopTransport: Event has been skipped because no Dsn is configured.\",\n status: Status.Skipped\n });\n };\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.close = function (_) {\n return SyncPromise.resolve(true);\n };\n return NoopTransport;\n}();\nexport { NoopTransport };","import { logger, SentryError } from '@sentry/utils';\nimport { NoopTransport } from './transports/noop';\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nvar BaseBackend = /** @class */function () {\n /** Creates a new backend instance. */\n function BaseBackend(options) {\n this._options = options;\n if (!this._options.dsn) {\n logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n BaseBackend.prototype.eventFromException = function (_exception, _hint) {\n throw new SentryError('Backend has to implement `eventFromException` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromMessage = function (_message, _level, _hint) {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendEvent = function (event) {\n void this._transport.sendEvent(event).then(null, function (reason) {\n logger.error(\"Error while sending event: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendSession = function (session) {\n if (!this._transport.sendSession) {\n logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n void this._transport.sendSession(session).then(null, function (reason) {\n logger.error(\"Error while sending session: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.getTransport = function () {\n return this._transport;\n };\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n BaseBackend.prototype._setupTransport = function () {\n return new NoopTransport();\n };\n return BaseBackend;\n}();\nexport { BaseBackend };","import { logger } from './logger';\nimport { getGlobalObject } from './misc';\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError() {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException() {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n var global = getGlobalObject();\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n var result = false;\n var doc = global.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof doc.createElement === \"function\") {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver() {\n return 'ReportingObserver' in getGlobalObject();\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n try {\n new Request('_', {\n referrerPolicy: 'origin'\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var chrome = global.chrome;\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}","/**\n * This was originally forked from https://github.com/occ/TraceKit, but has since been\n * largely modified and is now maintained as part of Sentry JS SDK.\n */\nimport { __assign } from \"tslib\";\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nvar geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nvar chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nvar reactMinifiedRegexp = /Minified React error #\\d+;/i;\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function computeStackTrace(ex) {\n var stack = null;\n var popSize = 0;\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n popSize = ex.framesToPop;\n } else if (reactMinifiedRegexp.test(ex.message)) {\n popSize = 1;\n }\n }\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n } catch (e) {\n // no-empty\n }\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n } catch (e) {\n // no-empty\n }\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true\n };\n}\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, complexity\nfunction computeStackTraceFromStackProp(ex) {\n if (!ex || !ex.stack) {\n return null;\n }\n var stack = [];\n var lines = ex.stack.split('\\n');\n var isEval;\n var submatch;\n var parts;\n var element;\n for (var i = 0; i < lines.length; ++i) {\n if (parts = chrome.exec(lines[i])) {\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n // Arpad: Working with the regexp above is super painful. it is quite a hack, but just stripping the `address at `\n // prefix here seems like the quickest solution for now.\n var url = parts[2] && parts[2].indexOf('address at ') === 0 ? parts[2].substr('address at '.length) : parts[2];\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n var func = parts[1] || UNKNOWN_FUNCTION;\n var isSafariExtension = func.indexOf('safari-extension') !== -1;\n var isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n if (isSafariExtension || isSafariWebExtension) {\n func = func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION;\n url = isSafariExtension ? \"safari-extension:\" + url : \"safari-web-extension:\" + url;\n }\n element = {\n url: url,\n func: func,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n } else if (parts = winjs.exec(lines[i])) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n } else if (parts = gecko.exec(lines[i])) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || \"eval\";\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = ''; // no column when eval\n } else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = ex.columnNumber + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(',') : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n } else {\n continue;\n }\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack\n };\n}\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction computeStackTraceFromStacktraceProp(ex) {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace;\n var opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n var opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\((.*)\\))? in (.*):\\s*$/i;\n var lines = stacktrace.split('\\n');\n var stack = [];\n var parts;\n for (var line = 0; line < lines.length; line += 2) {\n var element = null;\n if (parts = opera10Regex.exec(lines[line])) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null\n };\n } else if (parts = opera11Regex.exec(lines[line])) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(',') : [],\n line: +parts[1],\n column: +parts[2]\n };\n }\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack\n };\n}\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace, popSize) {\n try {\n return __assign(__assign({}, stacktrace), {\n stack: stacktrace.stack.slice(popSize)\n });\n } catch (e) {\n return stacktrace;\n }\n}\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}","import { extractExceptionKeysForMessage, isEvent, normalizeToSize } from '@sentry/utils';\nimport { computeStackTrace } from './tracekit';\nvar STACKTRACE_LIMIT = 50;\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromStacktrace(stacktrace) {\n var frames = prepareFramesForEvent(stacktrace.stack);\n var exception = {\n type: stacktrace.name,\n value: stacktrace.message\n };\n if (frames && frames.length) {\n exception.stacktrace = {\n frames: frames\n };\n }\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n return exception;\n}\n/**\n * @hidden\n */\nexport function eventFromPlainObject(exception, syntheticException, rejection) {\n var event = {\n exception: {\n values: [{\n type: isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: \"Non-Error \" + (rejection ? 'promise rejection' : 'exception') + \" captured with keys: \" + extractExceptionKeysForMessage(exception)\n }]\n },\n extra: {\n __serialized__: normalizeToSize(exception)\n }\n };\n if (syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1\n };\n }\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromStacktrace(stacktrace) {\n var exception = exceptionFromStacktrace(stacktrace);\n return {\n exception: {\n values: [exception]\n }\n };\n}\n/**\n * @hidden\n */\nexport function prepareFramesForEvent(stack) {\n if (!stack || !stack.length) {\n return [];\n }\n var localStack = stack;\n var firstFrameFunction = localStack[0].func || '';\n var lastFrameFunction = localStack[localStack.length - 1].func || '';\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n // The frame where the crash happened, should be the last entry in the array\n return localStack.slice(0, STACKTRACE_LIMIT).map(function (frame) {\n return {\n colno: frame.column === null ? undefined : frame.column,\n filename: frame.url || localStack[0].url,\n function: frame.func || '?',\n in_app: true,\n lineno: frame.line === null ? undefined : frame.line\n };\n }).reverse();\n}","import { __assign } from \"tslib\";\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, addExceptionTypeValue, isDOMError, isDOMException, isError, isErrorEvent, isEvent, isPlainObject, SyncPromise } from '@sentry/utils';\nimport { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';\nimport { computeStackTrace } from './tracekit';\n/**\n * Builds and Event from a Exception\n * @hidden\n */\nexport function eventFromException(options, exception, hint) {\n var syntheticException = hint && hint.syntheticException || undefined;\n var event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: options.attachStacktrace\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic'\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n}\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(options, message, level, hint) {\n if (level === void 0) {\n level = Severity.Info;\n }\n var syntheticException = hint && hint.syntheticException || undefined;\n var event = eventFromString(message, syntheticException, {\n attachStacktrace: options.attachStacktrace\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n}\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(exception, syntheticException, options) {\n if (options === void 0) {\n options = {};\n }\n var event;\n if (isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception;\n // eslint-disable-next-line no-param-reassign\n exception = errorEvent.error;\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isDOMError(exception) || isDOMException(exception)) {\n // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)\n // then we just extract the name, code, and message, as they don't provide anything else\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n var domException = exception;\n var name_1 = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? name_1 + \": \" + domException.message : name_1;\n event = eventFromString(message, syntheticException, options);\n addExceptionTypeValue(event, message);\n if ('code' in domException) {\n event.tags = __assign(__assign({}, event.tags), {\n 'DOMException.code': \"\" + domException.code\n });\n }\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it is plain Object or Event, serialize it manually and extract options\n // This will allow us to group events based on top-level keys\n // which is much better than creating new group when any key/value change\n var objectException = exception;\n event = eventFromPlainObject(objectException, syntheticException, options.rejection);\n addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\n }\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception, syntheticException, options);\n addExceptionTypeValue(event, \"\" + exception, undefined);\n addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromString(input, syntheticException, options) {\n if (options === void 0) {\n options = {};\n }\n var event = {\n message: input\n };\n if (options.attachStacktrace && syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1\n };\n }\n return event;\n}","import { __assign, __read, __rest, __spread } from \"tslib\";\n/** Extract sdk info from from the API metadata */\nfunction getSdkMetadataForEnvelopeHeader(api) {\n if (!api.metadata || !api.metadata.sdk) {\n return;\n }\n var _a = api.metadata.sdk,\n name = _a.name,\n version = _a.version;\n return {\n name: name,\n version: version\n };\n}\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event, sdkInfo) {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = __spread(event.sdk.integrations || [], sdkInfo.integrations || []);\n event.sdk.packages = __spread(event.sdk.packages || [], sdkInfo.packages || []);\n return event;\n}\n/** Creates a SentryRequest from a Session. */\nexport function sessionToSentryRequest(session, api) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n var envelopeHeaders = JSON.stringify(__assign(__assign({\n sent_at: new Date().toISOString()\n }, sdkInfo && {\n sdk: sdkInfo\n }), api.forceEnvelope() && {\n dsn: api.getDsn().toString()\n }));\n // I know this is hacky but we don't want to add `session` to request type since it's never rate limited\n var type = 'aggregates' in session ? 'sessions' : 'session';\n var itemHeaders = JSON.stringify({\n type: type\n });\n return {\n body: envelopeHeaders + \"\\n\" + itemHeaders + \"\\n\" + JSON.stringify(session),\n type: type,\n url: api.getEnvelopeEndpointWithUrlEncodedAuth()\n };\n}\n/** Creates a SentryRequest from an event. */\nexport function eventToSentryRequest(event, api) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n var eventType = event.type || 'event';\n var useEnvelope = eventType === 'transaction' || api.forceEnvelope();\n var _a = event.debug_meta || {},\n transactionSampling = _a.transactionSampling,\n metadata = __rest(_a, [\"transactionSampling\"]);\n var _b = transactionSampling || {},\n samplingMethod = _b.method,\n sampleRate = _b.rate;\n if (Object.keys(metadata).length === 0) {\n delete event.debug_meta;\n } else {\n event.debug_meta = metadata;\n }\n var req = {\n body: JSON.stringify(sdkInfo ? enhanceEventWithSdkInfo(event, api.metadata.sdk) : event),\n type: eventType,\n url: useEnvelope ? api.getEnvelopeEndpointWithUrlEncodedAuth() : api.getStoreEndpointWithUrlEncodedAuth()\n };\n // https://develop.sentry.dev/sdk/envelopes/\n // Since we don't need to manipulate envelopes nor store them, there is no\n // exported concept of an Envelope with operations including serialization and\n // deserialization. Instead, we only implement a minimal subset of the spec to\n // serialize events inline here.\n if (useEnvelope) {\n var envelopeHeaders = JSON.stringify(__assign(__assign({\n event_id: event.event_id,\n sent_at: new Date().toISOString()\n }, sdkInfo && {\n sdk: sdkInfo\n }), api.forceEnvelope() && {\n dsn: api.getDsn().toString()\n }));\n var itemHeaders = JSON.stringify({\n type: eventType,\n // TODO: Right now, sampleRate may or may not be defined (it won't be in the cases of inheritance and\n // explicitly-set sampling decisions). Are we good with that?\n sample_rates: [{\n id: samplingMethod,\n rate: sampleRate\n }]\n });\n // The trailing newline is optional. We intentionally don't send it to avoid\n // sending unnecessary bytes.\n //\n // const envelope = `${envelopeHeaders}\\n${itemHeaders}\\n${req.body}\\n`;\n var envelope = envelopeHeaders + \"\\n\" + itemHeaders + \"\\n\" + req.body;\n req.body = envelope;\n }\n return req;\n}","import { Dsn, urlEncode } from '@sentry/utils';\nvar SENTRY_API_VERSION = '7';\n/**\n * Helper class to provide urls, headers and metadata that can be used to form\n * different types of requests to Sentry endpoints.\n * Supports both envelopes and regular event requests.\n **/\nvar API = /** @class */function () {\n /** Create a new instance of API */\n function API(dsn, metadata, tunnel) {\n if (metadata === void 0) {\n metadata = {};\n }\n this.dsn = dsn;\n this._dsnObject = new Dsn(dsn);\n this.metadata = metadata;\n this._tunnel = tunnel;\n }\n /** Returns the Dsn object. */\n API.prototype.getDsn = function () {\n return this._dsnObject;\n };\n /** Does this transport force envelopes? */\n API.prototype.forceEnvelope = function () {\n return !!this._tunnel;\n };\n /** Returns the prefix to construct Sentry ingestion API endpoints. */\n API.prototype.getBaseApiEndpoint = function () {\n var dsn = this.getDsn();\n var protocol = dsn.protocol ? dsn.protocol + \":\" : '';\n var port = dsn.port ? \":\" + dsn.port : '';\n return protocol + \"//\" + dsn.host + port + (dsn.path ? \"/\" + dsn.path : '') + \"/api/\";\n };\n /** Returns the store endpoint URL. */\n API.prototype.getStoreEndpoint = function () {\n return this._getIngestEndpoint('store');\n };\n /**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n API.prototype.getStoreEndpointWithUrlEncodedAuth = function () {\n return this.getStoreEndpoint() + \"?\" + this._encodedAuth();\n };\n /**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n API.prototype.getEnvelopeEndpointWithUrlEncodedAuth = function () {\n if (this.forceEnvelope()) {\n return this._tunnel;\n }\n return this._getEnvelopeEndpoint() + \"?\" + this._encodedAuth();\n };\n /** Returns only the path component for the store endpoint. */\n API.prototype.getStoreEndpointPath = function () {\n var dsn = this.getDsn();\n return (dsn.path ? \"/\" + dsn.path : '') + \"/api/\" + dsn.projectId + \"/store/\";\n };\n /**\n * Returns an object that can be used in request headers.\n * This is needed for node and the old /store endpoint in sentry\n */\n API.prototype.getRequestHeaders = function (clientName, clientVersion) {\n // CHANGE THIS to use metadata but keep clientName and clientVersion compatible\n var dsn = this.getDsn();\n var header = [\"Sentry sentry_version=\" + SENTRY_API_VERSION];\n header.push(\"sentry_client=\" + clientName + \"/\" + clientVersion);\n header.push(\"sentry_key=\" + dsn.publicKey);\n if (dsn.pass) {\n header.push(\"sentry_secret=\" + dsn.pass);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', ')\n };\n };\n /** Returns the url to the report dialog endpoint. */\n API.prototype.getReportDialogEndpoint = function (dialogOptions) {\n if (dialogOptions === void 0) {\n dialogOptions = {};\n }\n var dsn = this.getDsn();\n var endpoint = this.getBaseApiEndpoint() + \"embed/error-page/\";\n var encodedOptions = [];\n encodedOptions.push(\"dsn=\" + dsn.toString());\n for (var key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions.push(\"name=\" + encodeURIComponent(dialogOptions.user.name));\n }\n if (dialogOptions.user.email) {\n encodedOptions.push(\"email=\" + encodeURIComponent(dialogOptions.user.email));\n }\n } else {\n encodedOptions.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(dialogOptions[key]));\n }\n }\n if (encodedOptions.length) {\n return endpoint + \"?\" + encodedOptions.join('&');\n }\n return endpoint;\n };\n /** Returns the envelope endpoint URL. */\n API.prototype._getEnvelopeEndpoint = function () {\n return this._getIngestEndpoint('envelope');\n };\n /** Returns the ingest API endpoint for target. */\n API.prototype._getIngestEndpoint = function (target) {\n if (this._tunnel) {\n return this._tunnel;\n }\n var base = this.getBaseApiEndpoint();\n var dsn = this.getDsn();\n return \"\" + base + dsn.projectId + \"/\" + target + \"/\";\n };\n /** Returns a URL-encoded string with auth config suitable for a query string. */\n API.prototype._encodedAuth = function () {\n var dsn = this.getDsn();\n var auth = {\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION\n };\n return urlEncode(auth);\n };\n return API;\n}();\nexport { API };","import { SentryError } from './error';\nimport { SyncPromise } from './syncpromise';\n/** A simple queue that holds promises. */\nvar PromiseBuffer = /** @class */function () {\n function PromiseBuffer(_limit) {\n this._limit = _limit;\n /** Internal set of queued Promises */\n this._buffer = [];\n }\n /**\n * Says if the buffer is ready to take more requests\n */\n PromiseBuffer.prototype.isReady = function () {\n return this._limit === undefined || this.length() < this._limit;\n };\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n PromiseBuffer.prototype.add = function (taskProducer) {\n var _this = this;\n if (!this.isReady()) {\n return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n // start the task and add its promise to the queue\n var task = taskProducer();\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n void task.then(function () {\n return _this.remove(task);\n })\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, function () {\n return _this.remove(task).then(null, function () {\n // We have to add another catch here because `this.remove()` starts a new promise chain.\n });\n });\n return task;\n };\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n PromiseBuffer.prototype.remove = function (task) {\n var removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n return removedTask;\n };\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n PromiseBuffer.prototype.length = function () {\n return this._buffer.length;\n };\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n PromiseBuffer.prototype.drain = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n // if all promises resolve in time, cancel the timer and resolve to `true`\n void SyncPromise.all(_this._buffer).then(function () {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }).then(null, function () {\n resolve(true);\n });\n });\n };\n return PromiseBuffer;\n}();\nexport { PromiseBuffer };","import { __values } from \"tslib\";\nimport { API } from '@sentry/core';\nimport { Status } from '@sentry/types';\nimport { logger, parseRetryAfterHeader, PromiseBuffer, SentryError } from '@sentry/utils';\nvar CATEGORY_MAPPING = {\n event: 'error',\n transaction: 'transaction',\n session: 'session',\n attachment: 'attachment'\n};\n/** Base Transport class implementation */\nvar BaseTransport = /** @class */function () {\n function BaseTransport(options) {\n this.options = options;\n /** A simple buffer holding all requests. */\n this._buffer = new PromiseBuffer(30);\n /** Locks transport after receiving rate limits in a response */\n this._rateLimits = {};\n this._api = new API(options.dsn, options._metadata, options.tunnel);\n // eslint-disable-next-line deprecation/deprecation\n this.url = this._api.getStoreEndpointWithUrlEncodedAuth();\n }\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.sendEvent = function (_) {\n throw new SentryError('Transport Class has to implement `sendEvent` method');\n };\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.close = function (timeout) {\n return this._buffer.drain(timeout);\n };\n /**\n * Handle Sentry repsonse for promise-based transports.\n */\n BaseTransport.prototype._handleResponse = function (_a) {\n var requestType = _a.requestType,\n response = _a.response,\n headers = _a.headers,\n resolve = _a.resolve,\n reject = _a.reject;\n var status = Status.fromHttpCode(response.status);\n /**\n * \"The name is case-insensitive.\"\n * https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n */\n var limited = this._handleRateLimit(headers);\n if (limited) logger.warn(\"Too many \" + requestType + \" requests, backing off until: \" + this._disabledUntil(requestType));\n if (status === Status.Success) {\n resolve({\n status: status\n });\n return;\n }\n reject(response);\n };\n /**\n * Gets the time that given category is disabled until for rate limiting\n */\n BaseTransport.prototype._disabledUntil = function (requestType) {\n var category = CATEGORY_MAPPING[requestType];\n return this._rateLimits[category] || this._rateLimits.all;\n };\n /**\n * Checks if a category is rate limited\n */\n BaseTransport.prototype._isRateLimited = function (requestType) {\n return this._disabledUntil(requestType) > new Date(Date.now());\n };\n /**\n * Sets internal _rateLimits from incoming headers. Returns true if headers contains a non-empty rate limiting header.\n */\n BaseTransport.prototype._handleRateLimit = function (headers) {\n var e_1, _a, e_2, _b;\n var now = Date.now();\n var rlHeader = headers['x-sentry-rate-limits'];\n var raHeader = headers['retry-after'];\n if (rlHeader) {\n try {\n // rate limit headers are of the form\n //
,
,..\n // where each
is of the form\n // : : : \n // where\n // is a delay in ms\n // is the event type(s) (error, transaction, etc) being rate limited and is of the form\n // ;;...\n // is what's being limited (org, project, or key) - ignored by SDK\n // is an arbitrary string like \"org_quota\" - ignored by SDK\n for (var _c = __values(rlHeader.trim().split(',')), _d = _c.next(); !_d.done; _d = _c.next()) {\n var limit = _d.value;\n var parameters = limit.split(':', 2);\n var headerDelay = parseInt(parameters[0], 10);\n var delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n try {\n for (var _e = (e_2 = void 0, __values(parameters[1].split(';'))), _f = _e.next(); !_f.done; _f = _e.next()) {\n var category = _f.value;\n this._rateLimits[category || 'all'] = new Date(now + delay);\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n return true;\n } else if (raHeader) {\n this._rateLimits.all = new Date(now + parseRetryAfterHeader(now, raHeader));\n return true;\n }\n return false;\n };\n return BaseTransport;\n}();\nexport { BaseTransport };","import { __extends } from \"tslib\";\nimport { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';\nimport { getGlobalObject, isNativeFetch, logger, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nfunction getNativeFetchImplementation() {\n /* eslint-disable @typescript-eslint/unbound-method */\n var _a, _b;\n // Fast path to avoid DOM I/O\n var global = getGlobalObject();\n if (isNativeFetch(global.fetch)) {\n return global.fetch.bind(global);\n }\n var document = global.document;\n var fetchImpl = global.fetch;\n // eslint-disable-next-line deprecation/deprecation\n if (typeof ((_a = document) === null || _a === void 0 ? void 0 : _a.createElement) === \"function\") {\n try {\n var sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n if ((_b = sandbox.contentWindow) === null || _b === void 0 ? void 0 : _b.fetch) {\n fetchImpl = sandbox.contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n return fetchImpl.bind(global);\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n/** `fetch` based transport */\nvar FetchTransport = /** @class */function (_super) {\n __extends(FetchTransport, _super);\n function FetchTransport(options, fetchImpl) {\n if (fetchImpl === void 0) {\n fetchImpl = getNativeFetchImplementation();\n }\n var _this = _super.call(this, options) || this;\n _this._fetch = fetchImpl;\n return _this;\n }\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendEvent = function (event) {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n };\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendSession = function (session) {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n };\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n FetchTransport.prototype._sendRequest = function (sentryRequest, originalPayload) {\n var _this = this;\n if (this._isRateLimited(sentryRequest.type)) {\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n reason: \"Transport for \" + sentryRequest.type + \" requests locked till \" + this._disabledUntil(sentryRequest.type) + \" due to too many requests.\",\n status: 429\n });\n }\n var options = {\n body: sentryRequest.body,\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: supportsReferrerPolicy() ? 'origin' : ''\n };\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n return this._buffer.add(function () {\n return new SyncPromise(function (resolve, reject) {\n void _this._fetch(sentryRequest.url, options).then(function (response) {\n var headers = {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After')\n };\n _this._handleResponse({\n requestType: sentryRequest.type,\n response: response,\n headers: headers,\n resolve: resolve,\n reject: reject\n });\n }).catch(reject);\n });\n });\n };\n return FetchTransport;\n}(BaseTransport);\nexport { FetchTransport };","import { __extends } from \"tslib\";\nimport { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\n/** `XHR` based transport */\nvar XHRTransport = /** @class */function (_super) {\n __extends(XHRTransport, _super);\n function XHRTransport() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendEvent = function (event) {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n };\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendSession = function (session) {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n };\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n XHRTransport.prototype._sendRequest = function (sentryRequest, originalPayload) {\n var _this = this;\n if (this._isRateLimited(sentryRequest.type)) {\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n reason: \"Transport for \" + sentryRequest.type + \" requests locked till \" + this._disabledUntil(sentryRequest.type) + \" due to too many requests.\",\n status: 429\n });\n }\n return this._buffer.add(function () {\n return new SyncPromise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (request.readyState === 4) {\n var headers = {\n 'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': request.getResponseHeader('Retry-After')\n };\n _this._handleResponse({\n requestType: sentryRequest.type,\n response: request,\n headers: headers,\n resolve: resolve,\n reject: reject\n });\n }\n };\n request.open('POST', sentryRequest.url);\n for (var header in _this.options.headers) {\n if (_this.options.headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, _this.options.headers[header]);\n }\n }\n request.send(sentryRequest.body);\n });\n });\n };\n return XHRTransport;\n}(BaseTransport);\nexport { XHRTransport };","import { __assign, __extends } from \"tslib\";\nimport { BaseBackend } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { supportsFetch } from '@sentry/utils';\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { FetchTransport, XHRTransport } from './transports';\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nvar BrowserBackend = /** @class */function (_super) {\n __extends(BrowserBackend, _super);\n function BrowserBackend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromException = function (exception, hint) {\n return eventFromException(this._options, exception, hint);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromMessage = function (message, level, hint) {\n if (level === void 0) {\n level = Severity.Info;\n }\n return eventFromMessage(this._options, message, level, hint);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype._setupTransport = function () {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return _super.prototype._setupTransport.call(this);\n }\n var transportOptions = __assign(__assign({}, this._options.transportOptions), {\n dsn: this._options.dsn,\n tunnel: this._options.tunnel,\n _metadata: this._options._metadata\n });\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n return new FetchTransport(transportOptions);\n }\n return new XHRTransport(transportOptions);\n };\n return BrowserBackend;\n}(BaseBackend);\nexport { BrowserBackend };","import { __assign } from \"tslib\";\nimport { API, captureException, withScope } from '@sentry/core';\nimport { addExceptionMechanism, addExceptionTypeValue, logger } from '@sentry/utils';\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n/**\n * @hidden\n */\nexport function ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(function () {\n ignoreOnError -= 1;\n });\n}\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(fn, options, before) {\n if (options === void 0) {\n options = {};\n }\n if (typeof fn !== 'function') {\n return fn;\n }\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n }\n // If this has already been wrapped in the past, return that wrapped function\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n /* eslint-disable prefer-rest-params */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var sentryWrapped = function () {\n var args = Array.prototype.slice.call(arguments);\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n var wrappedArguments = args.map(function (arg) {\n return wrap(arg, options);\n });\n if (fn.handleEvent) {\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return fn.handleEvent.apply(this, wrappedArguments);\n }\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n var processedEvent = __assign({}, event);\n if (options.mechanism) {\n addExceptionTypeValue(processedEvent, undefined, undefined);\n addExceptionMechanism(processedEvent, options.mechanism);\n }\n processedEvent.extra = __assign(__assign({}, processedEvent.extra), {\n arguments: args\n });\n return processedEvent;\n });\n captureException(ex);\n });\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped\n });\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true\n },\n __sentry_original__: {\n enumerable: false,\n value: fn\n }\n });\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function () {\n return fn.name;\n }\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n return sentryWrapped;\n}\n/**\n * Injects the Report Dialog script\n * @hidden\n */\nexport function injectReportDialog(options) {\n if (options === void 0) {\n options = {};\n }\n if (!options.eventId) {\n logger.error(\"Missing eventId option in showReportDialog call\");\n return;\n }\n if (!options.dsn) {\n logger.error(\"Missing dsn option in showReportDialog call\");\n return;\n }\n var script = document.createElement('script');\n script.async = true;\n script.src = new API(options.dsn).getReportDialogEndpoint(options);\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n (document.head || document.body).appendChild(script);\n}","import { __assign, __values } from \"tslib\";\nimport { isInstanceOf, isString } from './is';\nimport { logger } from './logger';\nimport { getGlobalObject } from './misc';\nimport { fill } from './object';\nimport { getFunctionName } from './stacktrace';\nimport { supportsHistory, supportsNativeFetch } from './supports';\nvar global = getGlobalObject();\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\nvar handlers = {};\nvar instrumented = {};\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n instrumented[type] = true;\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n logger.warn('unknown instrumentation type:', type);\n }\n}\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(handler) {\n if (!handler || typeof handler.type !== 'string' || typeof handler.callback !== 'function') {\n return;\n }\n handlers[handler.type] = handlers[handler.type] || [];\n handlers[handler.type].push(handler.callback);\n instrument(handler.type);\n}\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n var e_1, _a;\n if (!type || !handlers[type]) {\n return;\n }\n try {\n for (var _b = __values(handlers[type] || []), _c = _b.next(); !_c.done; _c = _b.next()) {\n var handler = _c.value;\n try {\n handler(data);\n } catch (e) {\n logger.error(\"Error while triggering instrumentation handler.\\nType: \" + type + \"\\nName: \" + getFunctionName(handler) + \"\\nError: \" + e);\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n}\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n fill(global.console, level, function (originalConsoleLevel) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n triggerHandlers('console', {\n args: args,\n level: level\n });\n // this fails for some browsers. :(\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n}\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n fill(global, 'fetch', function (originalFetch) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var handlerData = {\n args: args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args)\n },\n startTimestamp: Date.now()\n };\n triggerHandlers('fetch', __assign({}, handlerData));\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(global, args).then(function (response) {\n triggerHandlers('fetch', __assign(__assign({}, handlerData), {\n endTimestamp: Date.now(),\n response: response\n }));\n return response;\n }, function (error) {\n triggerHandlers('fetch', __assign(__assign({}, handlerData), {\n endTimestamp: Date.now(),\n error: error\n }));\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n });\n };\n });\n}\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs) {\n if (fetchArgs === void 0) {\n fetchArgs = [];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs) {\n if (fetchArgs === void 0) {\n fetchArgs = [];\n }\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n // Poor man's implementation of ES6 `Map`, tracking and keeping in sync key and value separately.\n var requestKeys = [];\n var requestValues = [];\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var xhr = this;\n var url = args[1];\n xhr.__sentry_xhr__ = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1]\n };\n // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (isString(url) && xhr.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n var onreadystatechangeHandler = function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n if (xhr.__sentry_xhr__) {\n xhr.__sentry_xhr__.status_code = xhr.status;\n }\n } catch (e) {\n /* do nothing */\n }\n try {\n var requestPos = requestKeys.indexOf(xhr);\n if (requestPos !== -1) {\n // Make sure to pop both key and value to keep it in sync.\n requestKeys.splice(requestPos);\n var args_1 = requestValues.splice(requestPos)[0];\n if (xhr.__sentry_xhr__ && args_1[0] !== undefined) {\n xhr.__sentry_xhr__.body = args_1[0];\n }\n }\n } catch (e) {\n /* do nothing */\n }\n triggerHandlers('xhr', {\n args: args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr: xhr\n });\n }\n };\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original) {\n return function () {\n var readyStateArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n readyStateArgs[_i] = arguments[_i];\n }\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n return originalOpen.apply(xhr, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n requestKeys.push(this);\n requestValues.push(args);\n triggerHandlers('xhr', {\n args: args,\n startTimestamp: Date.now(),\n xhr: this\n });\n return originalSend.apply(this, args);\n };\n });\n}\nvar lastHref;\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\nvar debounceDuration = 1000;\nvar debounceTimerID;\nvar lastCapturedEvent;\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous, current) {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event) {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n try {\n var target = event.target;\n if (!target || !target.tagName) {\n return true;\n }\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n return true;\n}\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler, globalListener) {\n if (globalListener === void 0) {\n globalListener = false;\n }\n return function (event) {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n var name = event.type === 'keypress' ? 'input' : event.type;\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name: name,\n global: globalListener\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name: name,\n global: globalListener\n });\n lastCapturedEvent = event;\n }\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(function () {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n var triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n var globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach(function (target) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var proto = global[target] && global[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n var handlers_1 = el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers_1[type] = handlers_1[type] || {\n refCount: 0\n };\n if (!handlerForType.handler) {\n var handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n fill(proto, 'removeEventListener', function (originalRemoveEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n var handlers_2 = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers_2[type];\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers_2[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers_2).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n });\n });\n}\nvar _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column: column,\n error: error,\n line: line,\n msg: msg,\n url: url\n });\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n}\nvar _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return true;\n };\n}","import { __assign, __read, __spread } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addInstrumentationHandler, getEventDescription, getGlobalObject, htmlTreeAsString, parseUrl, safeJoin } from '@sentry/utils';\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nvar Breadcrumbs = /** @class */function () {\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n /**\n * @inheritDoc\n */\n this.name = Breadcrumbs.id;\n this._options = __assign({\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true\n }, options);\n }\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n Breadcrumbs.prototype.addSentryBreadcrumb = function (event) {\n if (!this._options.sentry) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"sentry.\" + (event.type === 'transaction' ? 'transaction' : 'event'),\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event)\n }, {\n event: event\n });\n };\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n Breadcrumbs.prototype.setupOnce = function () {\n var _this = this;\n if (this._options.console) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._consoleBreadcrumb.apply(_this, __spread(args));\n },\n type: 'console'\n });\n }\n if (this._options.dom) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._domBreadcrumb.apply(_this, __spread(args));\n },\n type: 'dom'\n });\n }\n if (this._options.xhr) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._xhrBreadcrumb.apply(_this, __spread(args));\n },\n type: 'xhr'\n });\n }\n if (this._options.fetch) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._fetchBreadcrumb.apply(_this, __spread(args));\n },\n type: 'fetch'\n });\n }\n if (this._options.history) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._historyBreadcrumb.apply(_this, __spread(args));\n },\n type: 'history'\n });\n }\n };\n /**\n * Creates breadcrumbs from console API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._consoleBreadcrumb = function (handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console'\n },\n level: Severity.fromString(handlerData.level),\n message: safeJoin(handlerData.args, ' ')\n };\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = \"Assertion failed: \" + (safeJoin(handlerData.args.slice(1), ' ') || 'console.assert');\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level\n });\n };\n /**\n * Creates breadcrumbs from DOM API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._domBreadcrumb = function (handlerData) {\n var target;\n var keyAttrs = typeof this._options.dom === 'object' ? this._options.dom.serializeAttribute : undefined;\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target ? htmlTreeAsString(handlerData.event.target, keyAttrs) : htmlTreeAsString(handlerData.event, keyAttrs);\n } catch (e) {\n target = '';\n }\n if (target.length === 0) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"ui.\" + handlerData.name,\n message: target\n }, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global\n });\n };\n /**\n * Creates breadcrumbs from XHR API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._xhrBreadcrumb = function (handlerData) {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n var _a = handlerData.xhr.__sentry_xhr__ || {},\n method = _a.method,\n url = _a.url,\n status_code = _a.status_code,\n body = _a.body;\n getCurrentHub().addBreadcrumb({\n category: 'xhr',\n data: {\n method: method,\n url: url,\n status_code: status_code\n },\n type: 'http'\n }, {\n xhr: handlerData.xhr,\n input: body\n });\n return;\n }\n };\n /**\n * Creates breadcrumbs from fetch API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._fetchBreadcrumb = function (handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: handlerData.fetchData,\n level: Severity.Error,\n type: 'http'\n }, {\n data: handlerData.error,\n input: handlerData.args\n });\n } else {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: __assign(__assign({}, handlerData.fetchData), {\n status_code: handlerData.response.status\n }),\n type: 'http'\n }, {\n input: handlerData.args,\n response: handlerData.response\n });\n }\n };\n /**\n * Creates breadcrumbs from history API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._historyBreadcrumb = function (handlerData) {\n var global = getGlobalObject();\n var from = handlerData.from;\n var to = handlerData.to;\n var parsedLoc = parseUrl(global.location.href);\n var parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to);\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to\n }\n });\n };\n /**\n * @inheritDoc\n */\n Breadcrumbs.id = 'Breadcrumbs';\n return Breadcrumbs;\n}();\nexport { Breadcrumbs };","import { __assign, __extends } from \"tslib\";\nimport { BaseClient, SDK_VERSION } from '@sentry/core';\nimport { getGlobalObject, logger } from '@sentry/utils';\nimport { BrowserBackend } from './backend';\nimport { injectReportDialog } from './helpers';\nimport { Breadcrumbs } from './integrations';\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nvar BrowserClient = /** @class */function (_super) {\n __extends(BrowserClient, _super);\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n function BrowserClient(options) {\n if (options === void 0) {\n options = {};\n }\n var _this = this;\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [{\n name: 'npm:@sentry/browser',\n version: SDK_VERSION\n }],\n version: SDK_VERSION\n };\n _this = _super.call(this, BrowserBackend, options) || this;\n return _this;\n }\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n BrowserClient.prototype.showReportDialog = function (options) {\n if (options === void 0) {\n options = {};\n }\n // doesn't work without a document (React Native)\n var document = getGlobalObject().document;\n if (!document) {\n return;\n }\n if (!this._isEnabled()) {\n logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n injectReportDialog(__assign(__assign({}, options), {\n dsn: options.dsn || this.getDsn()\n }));\n };\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._prepareEvent = function (event, scope, hint) {\n event.platform = event.platform || 'javascript';\n return _super.prototype._prepareEvent.call(this, event, scope, hint);\n };\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._sendEvent = function (event) {\n var integration = this.getIntegration(Breadcrumbs);\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n _super.prototype._sendEvent.call(this, event);\n };\n return BrowserClient;\n}(BaseClient);\nexport { BrowserClient };","import { __read, __spread } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n/** Inbound filters configurable by the user */\nvar InboundFilters = /** @class */function () {\n function InboundFilters(_options) {\n if (_options === void 0) {\n _options = {};\n }\n this._options = _options;\n /**\n * @inheritDoc\n */\n this.name = InboundFilters.id;\n }\n /**\n * @inheritDoc\n */\n InboundFilters.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n // This checks prevents most of the occurrences of the bug linked below:\n // https://github.com/getsentry/sentry-javascript/issues/2622\n // The bug is caused by multiple SDK instances, where one is minified and one is using non-mangled code.\n // Unfortunatelly we cannot fix it reliably (thus reserved property in rollup's terser config),\n // as we cannot force people using multiple instances in their apps to sync SDK versions.\n var options = typeof self._mergeOptions === 'function' ? self._mergeOptions(clientOptions) : {};\n if (typeof self._shouldDropEvent !== 'function') {\n return event;\n }\n return self._shouldDropEvent(event, options) ? null : event;\n }\n return event;\n });\n };\n /** JSDoc */\n InboundFilters.prototype._shouldDropEvent = function (event, options) {\n if (this._isSentryError(event, options)) {\n logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isDeniedUrl(event, options)) {\n logger.warn(\"Event dropped due to being matched by `denyUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n if (!this._isAllowedUrl(event, options)) {\n logger.warn(\"Event dropped due to not being matched by `allowUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n return false;\n };\n /** JSDoc */\n InboundFilters.prototype._isSentryError = function (event, options) {\n if (!options.ignoreInternal) {\n return false;\n }\n try {\n return event && event.exception && event.exception.values && event.exception.values[0] && event.exception.values[0].type === 'SentryError' || false;\n } catch (_oO) {\n return false;\n }\n };\n /** JSDoc */\n InboundFilters.prototype._isIgnoredError = function (event, options) {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n return this._getPossibleEventMessages(event).some(function (message) {\n // Not sure why TypeScript complains here...\n return options.ignoreErrors.some(function (pattern) {\n return isMatchingPattern(message, pattern);\n });\n });\n };\n /** JSDoc */\n InboundFilters.prototype._isDeniedUrl = function (event, options) {\n // TODO: Use Glob instead?\n if (!options.denyUrls || !options.denyUrls.length) {\n return false;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? false : options.denyUrls.some(function (pattern) {\n return isMatchingPattern(url, pattern);\n });\n };\n /** JSDoc */\n InboundFilters.prototype._isAllowedUrl = function (event, options) {\n // TODO: Use Glob instead?\n if (!options.allowUrls || !options.allowUrls.length) {\n return true;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? true : options.allowUrls.some(function (pattern) {\n return isMatchingPattern(url, pattern);\n });\n };\n /** JSDoc */\n InboundFilters.prototype._mergeOptions = function (clientOptions) {\n if (clientOptions === void 0) {\n clientOptions = {};\n }\n return {\n allowUrls: __spread(this._options.whitelistUrls || [], this._options.allowUrls || [], clientOptions.whitelistUrls || [], clientOptions.allowUrls || []),\n denyUrls: __spread(this._options.blacklistUrls || [], this._options.denyUrls || [], clientOptions.blacklistUrls || [], clientOptions.denyUrls || []),\n ignoreErrors: __spread(this._options.ignoreErrors || [], clientOptions.ignoreErrors || [], DEFAULT_IGNORE_ERRORS),\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true\n };\n };\n /** JSDoc */\n InboundFilters.prototype._getPossibleEventMessages = function (event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n var _a = event.exception.values && event.exception.values[0] || {},\n _b = _a.type,\n type = _b === void 0 ? '' : _b,\n _c = _a.value,\n value = _c === void 0 ? '' : _c;\n return [\"\" + value, type + \": \" + value];\n } catch (oO) {\n logger.error(\"Cannot extract message for event \" + getEventDescription(event));\n return [];\n }\n }\n return [];\n };\n /** JSDoc */\n InboundFilters.prototype._getEventFilterUrl = function (event) {\n try {\n if (event.stacktrace) {\n var frames_1 = event.stacktrace.frames;\n return frames_1 && frames_1[frames_1.length - 1].filename || null;\n }\n if (event.exception) {\n var frames_2 = event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return frames_2 && frames_2[frames_2.length - 1].filename || null;\n }\n return null;\n } catch (oO) {\n logger.error(\"Cannot extract url for event \" + getEventDescription(event));\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n InboundFilters.id = 'InboundFilters';\n return InboundFilters;\n}();\nexport { InboundFilters };","var originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\nvar FunctionToString = /** @class */function () {\n function FunctionToString() {\n /**\n * @inheritDoc\n */\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n FunctionToString.prototype.setupOnce = function () {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this.__sentry_original__ || this;\n return originalFunctionToString.apply(context, args);\n };\n };\n /**\n * @inheritDoc\n */\n FunctionToString.id = 'FunctionToString';\n return FunctionToString;\n}();\nexport { FunctionToString };","import { __assign } from \"tslib\";\nimport { fill, getFunctionName, getGlobalObject } from '@sentry/utils';\nimport { wrap } from '../helpers';\nvar DEFAULT_EVENT_TARGET = ['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'];\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nvar TryCatch = /** @class */function () {\n /**\n * @inheritDoc\n */\n function TryCatch(options) {\n /**\n * @inheritDoc\n */\n this.name = TryCatch.id;\n this._options = __assign({\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true\n }, options);\n }\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n TryCatch.prototype.setupOnce = function () {\n var global = getGlobalObject();\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n }\n if (this._options.setInterval) {\n fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n }\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n }\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this));\n }\n if (this._options.eventTarget) {\n var eventTarget = Array.isArray(this._options.eventTarget) ? this._options.eventTarget : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(this._wrapEventTarget.bind(this));\n }\n };\n /** JSDoc */\n TryCatch.prototype._wrapTimeFunction = function (original) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: {\n function: getFunctionName(original)\n },\n handled: true,\n type: 'instrument'\n }\n });\n return original.apply(this, args);\n };\n };\n /** JSDoc */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n TryCatch.prototype._wrapRAF = function (original) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (callback) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.call(this, wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original)\n },\n handled: true,\n type: 'instrument'\n }\n }));\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapEventTarget = function (target) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var global = getGlobalObject();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var proto = global[target] && global[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target: target\n },\n handled: true,\n type: 'instrument'\n }\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n return original.call(this, eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target: target\n },\n handled: true,\n type: 'instrument'\n }\n }), options);\n };\n });\n fill(proto, 'removeEventListener', function (originalRemoveEventListener) {\n return function (eventName, fn, options) {\n var _a;\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n var wrappedEventHandler = fn;\n try {\n var originalEventHandler = (_a = wrappedEventHandler) === null || _a === void 0 ? void 0 : _a.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n });\n };\n /** JSDoc */\n TryCatch.prototype._wrapXHR = function (originalSend) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var xhr = this;\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n xmlHttpRequestProps.forEach(function (prop) {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original)\n },\n handled: true,\n type: 'instrument'\n }\n };\n // If Instrument integration has been called before TryCatch, get the name of original function\n if (original.__sentry_original__) {\n wrapOptions.mechanism.data.handler = getFunctionName(original.__sentry_original__);\n }\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n return originalSend.apply(this, args);\n };\n };\n /**\n * @inheritDoc\n */\n TryCatch.id = 'TryCatch';\n return TryCatch;\n}();\nexport { TryCatch };","import { __assign } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, addInstrumentationHandler, getLocationHref, isErrorEvent, isPrimitive, isString, logger } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n/** Global handlers */\nvar GlobalHandlers = /** @class */function () {\n /** JSDoc */\n function GlobalHandlers(options) {\n /**\n * @inheritDoc\n */\n this.name = GlobalHandlers.id;\n /** JSDoc */\n this._onErrorHandlerInstalled = false;\n /** JSDoc */\n this._onUnhandledRejectionHandlerInstalled = false;\n this._options = __assign({\n onerror: true,\n onunhandledrejection: true\n }, options);\n }\n /**\n * @inheritDoc\n */\n GlobalHandlers.prototype.setupOnce = function () {\n Error.stackTraceLimit = 50;\n if (this._options.onerror) {\n logger.log('Global Handler attached: onerror');\n this._installGlobalOnErrorHandler();\n }\n if (this._options.onunhandledrejection) {\n logger.log('Global Handler attached: onunhandledrejection');\n this._installGlobalOnUnhandledRejectionHandler();\n }\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnErrorHandler = function () {\n var _this = this;\n if (this._onErrorHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: function (data) {\n var error = data.error;\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return;\n }\n var client = currentHub.getClient();\n var event = error === undefined && isString(data.msg) ? _this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column) : _this._enhanceEventWithInitialFrame(eventFromUnknownInput(error || data.msg, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false\n }), data.url, data.line, data.column);\n addExceptionMechanism(event, {\n handled: false,\n type: 'onerror'\n });\n currentHub.captureEvent(event, {\n originalException: error\n });\n },\n type: 'error'\n });\n this._onErrorHandlerInstalled = true;\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnUnhandledRejectionHandler = function () {\n var _this = this;\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: function (e) {\n var error = e;\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return true;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error) ? _this._eventFromRejectionWithPrimitive(error) : eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true\n });\n event.level = Severity.Error;\n addExceptionMechanism(event, {\n handled: false,\n type: 'onunhandledrejection'\n });\n currentHub.captureEvent(event, {\n originalException: error\n });\n return;\n },\n type: 'unhandledrejection'\n });\n this._onUnhandledRejectionHandlerInstalled = true;\n };\n /**\n * This function creates a stack from an old, error-less onerror handler.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n GlobalHandlers.prototype._eventFromIncompleteOnError = function (msg, url, line, column) {\n var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n // If 'message' is ErrorEvent, get real message from inside\n var message = isErrorEvent(msg) ? msg.message : msg;\n var name;\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n var event = {\n exception: {\n values: [{\n type: name || 'Error',\n value: message\n }]\n }\n };\n return this._enhanceEventWithInitialFrame(event, url, line, column);\n };\n /**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\n GlobalHandlers.prototype._eventFromRejectionWithPrimitive = function (reason) {\n return {\n exception: {\n values: [{\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: \"Non-Error promise rejection captured with value: \" + String(reason)\n }]\n }\n };\n };\n /** JSDoc */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n GlobalHandlers.prototype._enhanceEventWithInitialFrame = function (event, url, line, column) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].stacktrace = event.exception.values[0].stacktrace || {};\n event.exception.values[0].stacktrace.frames = event.exception.values[0].stacktrace.frames || [];\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref();\n if (event.exception.values[0].stacktrace.frames.length === 0) {\n event.exception.values[0].stacktrace.frames.push({\n colno: colno,\n filename: filename,\n function: '?',\n in_app: true,\n lineno: lineno\n });\n }\n return event;\n };\n /**\n * @inheritDoc\n */\n GlobalHandlers.id = 'GlobalHandlers';\n return GlobalHandlers;\n}();\nexport { GlobalHandlers };","import { __read, __spread } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { isInstanceOf } from '@sentry/utils';\nimport { exceptionFromStacktrace } from '../parsers';\nimport { computeStackTrace } from '../tracekit';\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n/** Adds SDK info to an event. */\nvar LinkedErrors = /** @class */function () {\n /**\n * @inheritDoc\n */\n function LinkedErrors(options) {\n if (options === void 0) {\n options = {};\n }\n /**\n * @inheritDoc\n */\n this.name = LinkedErrors.id;\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event, hint) {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n if (self) {\n return self._handler(event, hint);\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._handler = function (event, hint) {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n var linkedErrors = this._walkErrorTree(hint.originalException, this._key);\n event.exception.values = __spread(linkedErrors, event.exception.values);\n return event;\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._walkErrorTree = function (error, key, stack) {\n if (stack === void 0) {\n stack = [];\n }\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= this._limit) {\n return stack;\n }\n var stacktrace = computeStackTrace(error[key]);\n var exception = exceptionFromStacktrace(stacktrace);\n return this._walkErrorTree(error[key], key, __spread([exception], stack));\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.id = 'LinkedErrors';\n return LinkedErrors;\n}();\nexport { LinkedErrors };","/** Deduplication filter */\nvar Dedupe = /** @class */function () {\n function Dedupe() {\n /**\n * @inheritDoc\n */\n this.name = Dedupe.id;\n }\n /**\n * @inheritDoc\n */\n Dedupe.prototype.setupOnce = function (addGlobalEventProcessor, getCurrentHub) {\n addGlobalEventProcessor(function (currentEvent) {\n var self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (self._shouldDropEvent(currentEvent, self._previousEvent)) {\n return null;\n }\n } catch (_oO) {\n return self._previousEvent = currentEvent;\n }\n return self._previousEvent = currentEvent;\n }\n return currentEvent;\n });\n };\n /** JSDoc */\n Dedupe.prototype._shouldDropEvent = function (currentEvent, previousEvent) {\n if (!previousEvent) {\n return false;\n }\n if (this._isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n if (this._isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n return false;\n };\n /** JSDoc */\n Dedupe.prototype._isSameMessageEvent = function (currentEvent, previousEvent) {\n var currentMessage = currentEvent.message;\n var previousMessage = previousEvent.message;\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n // If only one event has a stacktrace, but not the other one, they are not the same\n if (currentMessage && !previousMessage || !currentMessage && previousMessage) {\n return false;\n }\n if (currentMessage !== previousMessage) {\n return false;\n }\n if (!this._isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n if (!this._isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n return true;\n };\n /** JSDoc */\n Dedupe.prototype._getFramesFromEvent = function (event) {\n var exception = event.exception;\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n } else if (event.stacktrace) {\n return event.stacktrace.frames;\n }\n return undefined;\n };\n /** JSDoc */\n Dedupe.prototype._isSameStacktrace = function (currentEvent, previousEvent) {\n var currentFrames = this._getFramesFromEvent(currentEvent);\n var previousFrames = this._getFramesFromEvent(previousEvent);\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n // If only one event has a stacktrace, but not the other one, they are not the same\n if (currentFrames && !previousFrames || !currentFrames && previousFrames) {\n return false;\n }\n currentFrames = currentFrames;\n previousFrames = previousFrames;\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n // Otherwise, compare the two\n for (var i = 0; i < previousFrames.length; i++) {\n var frameA = previousFrames[i];\n var frameB = currentFrames[i];\n if (frameA.filename !== frameB.filename || frameA.lineno !== frameB.lineno || frameA.colno !== frameB.colno || frameA.function !== frameB.function) {\n return false;\n }\n }\n return true;\n };\n /** JSDoc */\n Dedupe.prototype._getExceptionFromEvent = function (event) {\n return event.exception && event.exception.values && event.exception.values[0];\n };\n /** JSDoc */\n Dedupe.prototype._isSameExceptionEvent = function (currentEvent, previousEvent) {\n var previousException = this._getExceptionFromEvent(previousEvent);\n var currentException = this._getExceptionFromEvent(currentEvent);\n if (!previousException || !currentException) {\n return false;\n }\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n if (!this._isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n if (!this._isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n return true;\n };\n /** JSDoc */\n Dedupe.prototype._isSameFingerprint = function (currentEvent, previousEvent) {\n var currentFingerprint = currentEvent.fingerprint;\n var previousFingerprint = previousEvent.fingerprint;\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n // If only one event has a fingerprint, but not the other one, they are not the same\n if (currentFingerprint && !previousFingerprint || !currentFingerprint && previousFingerprint) {\n return false;\n }\n currentFingerprint = currentFingerprint;\n previousFingerprint = previousFingerprint;\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n };\n /**\n * @inheritDoc\n */\n Dedupe.id = 'Dedupe';\n return Dedupe;\n}();\nexport { Dedupe };","import { __assign } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nvar global = getGlobalObject();\n/** UserAgent */\nvar UserAgent = /** @class */function () {\n function UserAgent() {\n /**\n * @inheritDoc\n */\n this.name = UserAgent.id;\n }\n /**\n * @inheritDoc\n */\n UserAgent.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var _a, _b, _c;\n if (getCurrentHub().getIntegration(UserAgent)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n // grab as much info as exists and add it to the event\n var url = ((_a = event.request) === null || _a === void 0 ? void 0 : _a.url) || ((_b = global.location) === null || _b === void 0 ? void 0 : _b.href);\n var referrer = (global.document || {}).referrer;\n var userAgent = (global.navigator || {}).userAgent;\n var headers = __assign(__assign(__assign({}, (_c = event.request) === null || _c === void 0 ? void 0 : _c.headers), referrer && {\n Referer: referrer\n }), userAgent && {\n 'User-Agent': userAgent\n });\n var request = __assign(__assign({}, url && {\n url: url\n }), {\n headers: headers\n });\n return __assign(__assign({}, event), {\n request: request\n });\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n UserAgent.id = 'UserAgent';\n return UserAgent;\n}();\nexport { UserAgent };","import { __assign } from \"tslib\";\nimport { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { addInstrumentationHandler, getGlobalObject, logger, SyncPromise } from '@sentry/utils';\nimport { BrowserClient } from './client';\nimport { wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, Dedupe, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\nexport var defaultIntegrations = [new CoreIntegrations.InboundFilters(), new CoreIntegrations.FunctionToString(), new TryCatch(), new Breadcrumbs(), new GlobalHandlers(), new LinkedErrors(), new Dedupe(), new UserAgent()];\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options) {\n if (options === void 0) {\n options = {};\n }\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window_1 = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window_1.SENTRY_RELEASE && window_1.SENTRY_RELEASE.id) {\n options.release = window_1.SENTRY_RELEASE.id;\n }\n }\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = true;\n }\n initAndBind(BrowserClient, options);\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options) {\n if (options === void 0) {\n options = {};\n }\n var hub = getCurrentHub();\n var scope = hub.getScope();\n if (scope) {\n options.user = __assign(__assign({}, scope.getUser()), options.user);\n }\n if (!options.eventId) {\n options.eventId = hub.lastEventId();\n }\n var client = hub.getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId() {\n return getCurrentHub().lastEventId();\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad() {\n // Noop\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback) {\n callback();\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrap(fn) {\n return internalWrap(fn)();\n}\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking() {\n var window = getGlobalObject();\n var document = window.document;\n if (typeof document === 'undefined') {\n logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n var hub = getCurrentHub();\n // The only way for this to be false is for there to be a version mismatch between @sentry/browser (>= 6.0.0) and\n // @sentry/hub (< 5.27.0). In the simple case, there won't ever be such a mismatch, because the two packages are\n // pinned at the same version in package.json, but there are edge cases where it's possible. See\n // https://github.com/getsentry/sentry-javascript/issues/3207 and\n // https://github.com/getsentry/sentry-javascript/issues/3234 and\n // https://github.com/getsentry/sentry-javascript/issues/3278.\n if (typeof hub.startSession !== 'function' || typeof hub.captureSession !== 'function') {\n return;\n }\n // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n hub.startSession({\n ignoreDuration: true\n });\n hub.captureSession();\n // We want to create a session for every navigation as well\n addInstrumentationHandler({\n callback: function (_a) {\n var from = _a.from,\n to = _a.to;\n // Don't create an additional session for the initial route or if the location did not change\n if (from === undefined || from === to) {\n return;\n }\n hub.startSession({\n ignoreDuration: true\n });\n hub.captureSession();\n },\n type: 'history'\n });\n}","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(clientClass, options) {\n var _a;\n if (options.debug === true) {\n logger.enable();\n }\n var hub = getCurrentHub();\n (_a = hub.getScope()) === null || _a === void 0 ? void 0 : _a.update(options.initialScope);\n var client = new clientClass(options);\n hub.bindClient(client);\n}","// TODO: Remove in the next major release and rely only on @sentry/core SDK_VERSION and SdkInfo metadata\nexport var SDK_NAME = 'sentry.javascript.browser';","import { __assign } from \"tslib\";\nexport * from './exports';\nimport { Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nimport * as BrowserIntegrations from './integrations';\nimport * as Transports from './transports';\nvar windowIntegrations = {};\n// This block is needed to add compatibility with the integrations packages when used with a CDN\nvar _window = getGlobalObject();\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\nvar INTEGRATIONS = __assign(__assign(__assign({}, windowIntegrations), CoreIntegrations), BrowserIntegrations);\nexport { INTEGRATIONS as Integrations, Transports };","import omitDeep from 'omit-deep-lodash';\nimport { applyMiddleware, createStore } from 'redux';\nimport createReduxPromiseListener from 'redux-promise-listener';\nimport createSagaMiddleware from 'redux-saga';\nimport createSentryMiddleware from 'redux-sentry-middleware';\nimport * as Sentry from '@sentry/browser';\n\nimport appUtils from '@edf-pkg/app-utils';\n\nimport ducksManager from '../ducks-manager';\nimport sagasManager from '../sagas-manager';\n\nconst reduxPromiseListener = createReduxPromiseListener();\nlet store = null;\nexport default function configureStore(initialState = {}) {\n const sagaMiddleware = createSagaMiddleware();\n const sentryMiddleware = createSentryMiddleware(Sentry, {\n stateTransformer(state) {\n return omitDeep(state, [\n 'initializationStatus',\n 'app',\n 'snackbar',\n 'user',\n 'dialog',\n 'phr',\n 'app-web',\n 'data',\n 'studies',\n 'join-study',\n 'study',\n 'settings-user',\n 'survey',\n 'answer-indicator',\n ]);\n },\n getUserContext(state) {\n if (appUtils.object.hasKey(state, 'main') && appUtils.object.hasKey(state.main, 'user')) {\n const { id, username, role, deviceId } = state.main.user;\n return { id, username, role, deviceId };\n }\n return {};\n },\n });\n\n store = createStore(\n ducksManager.combine(),\n initialState,\n applyMiddleware(sagaMiddleware, sentryMiddleware, reduxPromiseListener.middleware)\n );\n\n ducksManager.setChangeListener(() => {\n store.replaceReducer(ducksManager.combine());\n });\n\n sagasManager.setStore(store);\n sagasManager.setSagaMiddleware(sagaMiddleware);\n\n sagasManager.setChangeListener(() => {\n sagasManager.startSagas();\n });\n\n return { store };\n}\n\nexport function getStore() {\n return store;\n}\n\nexport const promiseListener = reduxPromiseListener;\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./configure-store.prod');\n} else {\n module.exports = require('./configure-store.dev');\n}\n","import { combineTrackReducers, setNamespacingFunction } from 'retrack';\n\nexport class DucksManager {\n constructor() {\n this.emitChange = null;\n this.reducers = {};\n setNamespacingFunction((strArr) => `edf/${strArr.join('/')}`);\n }\n\n setReducers(reducers) {\n this.reducers = reducers;\n }\n\n getReducers() {\n return { ...this.reducers };\n }\n\n add(name, reducer) {\n this.reducers = { ...this.reducers, [name]: reducer };\n if (this.emitChange) {\n this.emitChange();\n }\n }\n\n combine() {\n return combineTrackReducers(this.reducers);\n }\n\n setChangeListener(listener) {\n if (!this.emitChange) {\n listener();\n }\n this.emitChange = listener;\n }\n}\n\nconst ducksManager = new DucksManager();\nexport default ducksManager;\n","export function createActionName(reducerName, actionName) {\n return `edf/${reducerName}/${actionName}`;\n}\n","import { cancel, fork, race, take } from 'redux-saga/effects';\n\nimport * as utils from './utils';\n\nconst CANCEL_ALL_SAGAS_ACTION_TYPE = utils.createActionName('sagas-manager', 'CANCEL_ALL_SAGAS');\n\nclass SagasManger {\n constructor() {\n this.emitChange = null;\n this.sagaMiddleware = null;\n this.store = null;\n this.sagas = {};\n }\n\n setSagas(sagas) {\n this.sagas = sagas;\n }\n\n getSagas() {\n return this.sagas;\n }\n\n setSagaMiddleware(sagaMiddleware) {\n this.sagaMiddleware = sagaMiddleware;\n }\n\n setStore(store) {\n this.store = store;\n }\n\n static createCancelableSaga(sagaName, originalSaga, cancelSagaActionType) {\n return function* cancelableSaga() {\n const sagaTask = yield fork(originalSaga());\n\n yield race([take(CANCEL_ALL_SAGAS_ACTION_TYPE), take(cancelSagaActionType)]);\n yield cancel(sagaTask);\n };\n }\n\n static cancelSagaActionTypeCreator(sagaName) {\n return utils.createActionName('sagas-manager', `CANCEL_${sagaName}_SAGA`);\n }\n\n add(sagaName, originalSaga) {\n if (Object.prototype.hasOwnProperty.call(this.sagas, sagaName) && this.sagas[sagaName].started) {\n this.store.dispatch({\n type: this.sagas[sagaName].cancelTaskAction,\n });\n }\n\n const cancelableSagaActionType = SagasManger.cancelSagaActionTypeCreator(sagaName);\n const cancelAbleSaga = SagasManger.createCancelableSaga(sagaName, () => originalSaga, cancelableSagaActionType);\n this.sagas[sagaName] = {\n originalSaga,\n cancelableSaga: cancelAbleSaga,\n cancelTaskAction: cancelableSagaActionType,\n started: false,\n };\n\n if (this.emitChange) {\n this.emitChange();\n }\n }\n\n startSagas() {\n if (this.sagaMiddleware) {\n Object.keys(this.sagas).forEach((sagaName) => {\n if (!this.sagas[sagaName].started) {\n this.sagaMiddleware.run(this.sagas[sagaName].cancelableSaga);\n this.sagas[sagaName].started = true;\n }\n });\n }\n }\n\n cancelSagas() {\n if (this.store) {\n this.store.dispatch({\n type: CANCEL_ALL_SAGAS_ACTION_TYPE,\n });\n }\n }\n\n setChangeListener(listener) {\n /*\n * TODO\n * Next line is just a fix for app-main store which register the saga, before configure-store register a listener,\n * so we run the listener after being registered. It's an edge case and will occur only for app-main. So, It's\n * safe for now.\n */\n if (!this.emitChange) {\n listener();\n }\n this.emitChange = listener;\n }\n}\n\nconst instance = new SagasManger();\nexport default instance;\n","import { createContext as createContext$1, useMemo, createElement, useContext } from 'react';\nfunction _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}\nvar _excluded = [\"children\"];\n/** @deprecated */\n\nfunction createNamedContext(name, defaultValue) {\n var Ctx = /*#__PURE__*/createContext$1(defaultValue);\n if (process.env.NODE_ENV !== \"production\") {\n Ctx.displayName = name;\n }\n return Ctx;\n} ////////////////////////////////////////////////////////////////////////////////\n\nfunction createContext(rootName, defaultContext) {\n var Ctx = /*#__PURE__*/createContext$1(defaultContext);\n function Provider(props) {\n var children = props.children,\n context = _objectWithoutPropertiesLoose(props, _excluded);\n var value = useMemo(function () {\n return context;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Object.values(context));\n return /*#__PURE__*/createElement(Ctx.Provider, {\n value: value\n }, children);\n }\n function useContext$1(childName) {\n var context = useContext(Ctx);\n if (context) {\n return context;\n }\n if (defaultContext) {\n return defaultContext;\n }\n throw Error(childName + \" must be rendered inside of a \" + rootName + \" component.\");\n }\n if (process.env.NODE_ENV !== \"production\") {\n Ctx.displayName = rootName + \"Context\";\n Provider.displayName = rootName + \"Provider\";\n }\n return [Provider, useContext$1];\n}\nexport { createContext, createNamedContext };","/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\nexport { makeId };","function noop() {}\nexport { noop };","import { useCallback } from 'react';\nimport { isFunction } from '../../type-check/dist/reach-utils-type-check.esm.js';\nfunction _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}\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}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useCallback(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\nexport { assignRef, useComposedRefs };","/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\nexport { isBoolean, isFunction, isNumber, isString };","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\nexport { composeEventHandlers };","function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\nexport { canUseDOM };","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\nexport { useIsomorphicLayoutEffect };","import { createContext, useContext, useState, useCallback, createElement, useMemo } from 'react';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { noop } from '@reach/utils/noop';\nfunction _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}\nfunction _extends() {\n _extends = Object.assign || 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}\nvar _excluded = [\"element\", \"index\"];\nfunction createDescendantContext(name, initialValue) {\n if (initialValue === void 0) {\n initialValue = {};\n }\n var descendants = [];\n var ctx = /*#__PURE__*/createContext(_extends({\n descendants: descendants,\n registerDescendant: noop,\n unregisterDescendant: noop\n }, initialValue));\n if (process.env.NODE_ENV !== \"production\") {\n ctx.displayName = name;\n }\n return ctx;\n}\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\n\nfunction useDescendant(descendant, context, indexProp) {\n var forceUpdate = useForceUpdate();\n var _React$useContext = useContext(context),\n registerDescendant = _React$useContext.registerDescendant,\n unregisterDescendant = _React$useContext.unregisterDescendant,\n descendants = _React$useContext.descendants; // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render and we will re-register descendants so that\n // everything is up-to-date before the user interacts with a collection.\n\n var index = indexProp != null ? indexProp : descendants.findIndex(function (item) {\n return item.element === descendant.element;\n }); // Prevent any flashing\n\n useIsomorphicLayoutEffect(function () {\n if (!descendant.element) forceUpdate();\n registerDescendant(_extends({}, descendant, {\n index: index\n }));\n return function () {\n unregisterDescendant(descendant.element);\n };\n }, [descendant, forceUpdate, index, registerDescendant, unregisterDescendant].concat(Object.values(descendant)));\n return index;\n}\nfunction useDescendantsInit() {\n return useState([]);\n}\nfunction useDescendants(ctx) {\n return useContext(ctx).descendants;\n}\nfunction DescendantProvider(_ref) {\n var Ctx = _ref.context,\n children = _ref.children,\n items = _ref.items,\n set = _ref.set;\n var registerDescendant = useCallback(function (_ref2) {\n var element = _ref2.element,\n explicitIndex = _ref2.index,\n rest = _objectWithoutPropertiesLoose(_ref2, _excluded);\n if (!element) {\n return;\n }\n set(function (items) {\n var newItems;\n if (explicitIndex != null) {\n return [].concat(items, [_extends({}, rest, {\n element: element,\n index: explicitIndex\n })]).sort(function (a, b) {\n return a.index - b.index;\n });\n } else if (items.length === 0) {\n // If there are no items, register at index 0 and bail.\n newItems = [_extends({}, rest, {\n element: element,\n index: 0\n })];\n } else if (items.find(function (item) {\n return item.element === element;\n })) {\n // If the element is already registered, just use the same array\n newItems = items;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n var index = items.findIndex(function (item) {\n if (!item.element || !element) {\n return false;\n } // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n\n return Boolean(item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);\n });\n var newItem = _extends({}, rest, {\n element: element,\n index: index\n }); // If an index is not found we will push the element to the end.\n\n if (index === -1) {\n newItems = [].concat(items, [newItem]);\n } else {\n newItems = [].concat(items.slice(0, index), [newItem], items.slice(index));\n }\n }\n return newItems.map(function (item, index) {\n return _extends({}, item, {\n index: index\n });\n });\n });\n },\n // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n var unregisterDescendant = useCallback(function (element) {\n if (!element) {\n return;\n }\n set(function (items) {\n return items.filter(function (item) {\n return element !== item.element;\n });\n });\n },\n // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n return /*#__PURE__*/createElement(Ctx.Provider, {\n value: useMemo(function () {\n return {\n descendants: items,\n registerDescendant: registerDescendant,\n unregisterDescendant: unregisterDescendant\n };\n }, [items, registerDescendant, unregisterDescendant])\n }, children);\n}\n/**\n * Testing this as an abstraction for compound components that use keyboard\n * navigation. Hoping this will help us prevent bugs and mismatched behavior\n * across various components, but it may also prove to be too messy of an\n * abstraction in the end.\n *\n * Currently used in:\n * - Tabs\n * - Accordion\n *\n * @param context\n * @param options\n */\n\nfunction useDescendantKeyDown(context, options) {\n var _React$useContext2 = useContext(context),\n descendants = _React$useContext2.descendants;\n var callback = options.callback,\n currentIndex = options.currentIndex,\n filter = options.filter,\n _options$key = options.key,\n key = _options$key === void 0 ? \"index\" : _options$key,\n _options$orientation = options.orientation,\n orientation = _options$orientation === void 0 ? \"vertical\" : _options$orientation,\n _options$rotate = options.rotate,\n rotate = _options$rotate === void 0 ? true : _options$rotate,\n _options$rtl = options.rtl,\n rtl = _options$rtl === void 0 ? false : _options$rtl;\n return function handleKeyDown(event) {\n if (![\"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\", \"PageUp\", \"PageDown\", \"Home\", \"End\"].includes(event.key)) {\n return;\n }\n var index = currentIndex != null ? currentIndex : -1; // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n\n var selectableDescendants = filter ? descendants.filter(filter) : descendants; // We need some options for any of this to work!\n\n if (!selectableDescendants.length) {\n return;\n }\n var selectableIndex = selectableDescendants.findIndex(function (descendant) {\n return descendant.index === currentIndex;\n });\n function getNextOption() {\n var atBottom = index === getLastOption().index;\n return atBottom ? rotate ? getFirstOption() : selectableDescendants[selectableIndex] : selectableDescendants[(selectableIndex + 1) % selectableDescendants.length];\n }\n function getPreviousOption() {\n var atTop = index === getFirstOption().index;\n return atTop ? rotate ? getLastOption() : selectableDescendants[selectableIndex] : selectableDescendants[(selectableIndex - 1 + selectableDescendants.length) % selectableDescendants.length];\n }\n function getFirstOption() {\n return selectableDescendants[0];\n }\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n switch (event.key) {\n case \"ArrowDown\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var next = getNextOption();\n callback(key === \"option\" ? next : next[key]);\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var prev = getPreviousOption();\n callback(key === \"option\" ? prev : prev[key]);\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();\n callback(key === \"option\" ? nextOrPrev : nextOrPrev[key]);\n }\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var prevOrNext = (rtl ? getPreviousOption : getNextOption)();\n callback(key === \"option\" ? prevOrNext : prevOrNext[key]);\n }\n break;\n case \"PageUp\":\n event.preventDefault();\n var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();\n callback(key === \"option\" ? prevOrFirst : prevOrFirst[key]);\n break;\n case \"Home\":\n event.preventDefault();\n var first = getFirstOption();\n callback(key === \"option\" ? first : first[key]);\n break;\n case \"PageDown\":\n event.preventDefault();\n var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();\n callback(key === \"option\" ? nextOrLast : nextOrLast[key]);\n break;\n case \"End\":\n event.preventDefault();\n var last = getLastOption();\n callback(key === \"option\" ? last : last[key]);\n break;\n }\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { DescendantProvider, createDescendantContext, useDescendant, useDescendantKeyDown, useDescendants, useDescendantsInit };","import { useState, useCallback } from 'react';\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\nexport { useForceUpdate };","import { useId as useId$1, useState, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\nfunction genId() {\n return ++id;\n}\n/* eslint-disable react-hooks/rules-of-hooks */\n\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\nfunction useId(providedId) {\n var _ref;\n\n // TODO: Remove error flag when updating internal deps to React 18. None of\n // our tricks will play well with concurrent rendering anyway.\n // @ts-expect-error\n if (typeof useId$1 === \"function\") {\n // @ts-expect-error\n var _id = useId$1(providedId);\n return providedId != null ? providedId : _id;\n } // If this instance isn't part of the initial render, we don't have to do the\n // double render/patch-up dance. We can just generate the ID and return it.\n\n var initialId = providedId != null ? providedId : serverHandoffComplete ? genId() : null;\n var _React$useState = useState(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n // Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n // rendering flicker, though it'll make the first render slower (unlikely\n // to matter, but you're welcome to measure your app and let us know if\n // it's a problem).\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n // Flag all future uses of `useId` to skip the update dance. This is in\n // `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n // accidentally bail out of the patch-up dance prematurely.\n serverHandoffComplete = true;\n }\n }, []);\n return (_ref = providedId != null ? providedId : id) != null ? _ref : undefined;\n}\nexport { useId };","import { forwardRef, useCallback, createElement, useRef, useMemo } from 'react';\nimport { createContext } from '@reach/utils/context';\nimport { isNumber, isBoolean } from '@reach/utils/type-check';\nimport { makeId } from '@reach/utils/make-id';\nimport { noop } from '@reach/utils/noop';\nimport { useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { useControlledState } from '@reach/utils/use-controlled-state';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { useStatefulRefValue } from '@reach/utils/use-stateful-ref-value';\nimport { createDescendantContext, useDescendantsInit, DescendantProvider, useDescendant, useDescendantKeyDown } from '@reach/descendants';\nimport { useId } from '@reach/auto-id';\nimport PropTypes from 'prop-types';\nfunction _extends() {\n _extends = Object.assign || 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}\nfunction _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}\nvar _excluded = [\"as\", \"children\", \"defaultIndex\", \"index\", \"onChange\", \"readOnly\", \"collapsible\", \"multiple\"],\n _excluded2 = [\"as\", \"children\", \"disabled\", \"index\"],\n _excluded3 = [\"as\", \"children\", \"onClick\", \"onKeyDown\", \"onMouseDown\", \"onPointerDown\", \"tabIndex\"],\n _excluded4 = [\"as\", \"children\"];\nvar AccordionDescendantContext = /*#__PURE__*/createDescendantContext(\"AccordionDescendantContext\");\nvar _createContext = /*#__PURE__*/createContext(\"Accordion\"),\n AccordionProvider = _createContext[0],\n useAccordionCtx = _createContext[1];\nvar _createContext2 = /*#__PURE__*/createContext(\"AccordionItem\"),\n AccordionItemProvider = _createContext2[0],\n useAccordionItemCtx = _createContext2[1]; ////////////////////////////////////////////////////////////////////////////////\n\nvar AccordionStates; ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Accordion\n *\n * The wrapper component for all other accordion components. Each accordion\n * component will consist of accordion items whose buttons are keyboard\n * navigable using arrow keys.\n *\n * @see Docs https://reach.tech/accordion#accordion-1\n */\n\n(function (AccordionStates) {\n AccordionStates[\"Open\"] = \"OPEN\";\n AccordionStates[\"Collapsed\"] = \"COLLAPSED\";\n})(AccordionStates || (AccordionStates = {}));\nvar Accordion = /*#__PURE__*/forwardRef(function Accordion(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n children = _ref.children,\n defaultIndex = _ref.defaultIndex,\n controlledIndex = _ref.index,\n onChange = _ref.onChange,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$collapsible = _ref.collapsible,\n collapsible = _ref$collapsible === void 0 ? false : _ref$collapsible,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var _useControlledState = useControlledState({\n controlledValue: controlledIndex,\n defaultValue: function defaultValue() {\n if (defaultIndex != null) {\n // If multiple is set to true, we need to make sure the `defaultIndex`\n // is an array (and vice versa).\n if (multiple) {\n return Array.isArray(defaultIndex) ? defaultIndex : [defaultIndex];\n } else {\n var _defaultIndex$;\n return Array.isArray(defaultIndex) ? (_defaultIndex$ = defaultIndex[0]) != null ? _defaultIndex$ : 0 : defaultIndex;\n }\n }\n if (collapsible) {\n // Collapsible accordions with no defaultIndex will start with all\n // panels collapsed.\n return multiple ? [] : -1;\n } // Otherwise the first panel will be our default.\n\n // Otherwise the first panel will be our default.\n return multiple ? [0] : 0;\n },\n calledFrom: \"Tabs\"\n }),\n openPanels = _useControlledState[0],\n setOpenPanels = _useControlledState[1];\n var _useDescendantsInit = useDescendantsInit(),\n descendants = _useDescendantsInit[0],\n setDescendants = _useDescendantsInit[1];\n var id = useId(props.id);\n var onSelectPanel = useCallback(function (index) {\n onChange && onChange(index);\n setOpenPanels(function (prevOpenPanels) {\n /*\n * If we're dealing with an uncontrolled component, the index arg\n * in selectChange will always be a number rather than an array.\n */\n index = index; // multiple allowed\n\n if (multiple) {\n // state will always be an array here\n prevOpenPanels = prevOpenPanels;\n if (\n // User is clicking on an already-open button\n prevOpenPanels.includes(index)) {\n // Other panels are open OR accordion is allowed to collapse\n if (prevOpenPanels.length > 1 || collapsible) {\n // Close the panel by filtering it from the array\n return prevOpenPanels.filter(function (i) {\n return i !== index;\n });\n }\n } else {\n // Open the panel by adding it to the array.\n return [].concat(prevOpenPanels, [index]).sort();\n }\n } else {\n prevOpenPanels = prevOpenPanels;\n return prevOpenPanels === index && collapsible ? -1 : index;\n }\n return prevOpenPanels;\n });\n }, [collapsible, multiple, onChange, setOpenPanels]);\n useCheckStyles(\"accordion\");\n return /*#__PURE__*/createElement(DescendantProvider, {\n context: AccordionDescendantContext,\n items: descendants,\n set: setDescendants\n }, /*#__PURE__*/createElement(AccordionProvider, {\n accordionId: id,\n openPanels: openPanels,\n onSelectPanel: readOnly ? noop : onSelectPanel,\n readOnly: readOnly\n }, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: forwardedRef,\n \"data-reach-accordion\": \"\"\n }), children)));\n});\n/**\n * @see Docs https://reach.tech/accordion#accordion-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Accordion.displayName = \"Accordion\";\n Accordion.propTypes = {\n children: PropTypes.node.isRequired,\n defaultIndex: /*#__PURE__*/PropTypes.oneOfType([PropTypes.number, /*#__PURE__*/PropTypes.arrayOf(PropTypes.number)]),\n index: function index(props, name, compName, location, propName) {\n var val = props[name];\n if (props[name] != null && props.onChange == null && !props.readOnly) {\n return new Error(\"You provided an `index` prop to `Accordion` without an `onChange` handler. This will render a read-only accordion element. If the accordion should be functional, remove the `index` value to render an uncontrolled accordion or set an `onChange` handler to set an index when a change occurs. If the accordion is intended to have a fixed state, use the `readOnly` prop with a `defaultIndex` instead of an `index`.\");\n }\n if (props[name] != null && props.defaultIndex != null) {\n return new Error(\"You provided an `index` prop as well as a `defaultIndex` prop to `Accordion`. If you want a controlled component, use the index prop with an onChange handler. If you want an uncontrolled component, remove the index prop and use `defaultIndex` instead.\");\n }\n if (Array.isArray(props[name])) {\n return props[name].some(function (i) {\n return !isNumber(i);\n }) ? new Error(\"You provided an array as an index in `Accordion` but one or more of the values are not numeric. Please check to make sure all indices are valid numbers.\") : null;\n } else if (props[name] != null && !isNumber(props[name])) {\n return new Error(\"Invalid prop \\\"\" + propName + \"\\\" supplied to \\\"\" + compName + \"\\\". Expected \\\"number\\\", received \\\"\" + (Array.isArray(val) ? \"array\" : typeof val) + \"\\\".\");\n }\n return null;\n },\n multiple: function multiple(props, name, compName, location, propName) {\n if (!props[name] && Array.isArray(props.defaultIndex)) {\n return new Error(\"The \\\"\" + propName + \"\\\" prop supplied to \\\"\" + compName + \"\\\" is not set or set to \\\"false\\\", but an array of indices was provided to the \\\"defaultIndex\\\" prop. \\\"\" + compName + \"\\\" can only have more than one default index if the \\\"\" + propName + \"\\\" prop is set to \\\"true\\\".\");\n } else if (props[name] != null && !isBoolean(props[name])) {\n return new Error(\"Invalid prop \\\"\" + propName + \"\\\" supplied to \\\"\" + compName + \"\\\". Expected \\\"boolean\\\", received \\\"\" + (Array.isArray(props[name]) ? \"array\" : typeof props[name]) + \"\\\".\");\n }\n return null;\n },\n onChange: PropTypes.func,\n readOnly: PropTypes.bool,\n collapsible: PropTypes.bool\n };\n}\n/**\n * AccordionItem\n *\n * A group that wraps a an accordion's button and panel components.\n *\n * @see Docs https://reach.tech/accordion#accordionitem\n */\n\nvar AccordionItem = /*#__PURE__*/forwardRef(function AccordionItem(_ref2, forwardedRef) {\n var _ref2$as = _ref2.as,\n Comp = _ref2$as === void 0 ? \"div\" : _ref2$as,\n children = _ref2.children,\n _ref2$disabled = _ref2.disabled,\n disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,\n indexProp = _ref2.index,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n var _useAccordionCtx = useAccordionCtx(\"AccordionItem\"),\n accordionId = _useAccordionCtx.accordionId,\n openPanels = _useAccordionCtx.openPanels,\n readOnly = _useAccordionCtx.readOnly;\n var buttonRef = useRef(null);\n var _useStatefulRefValue = useStatefulRefValue(buttonRef, null),\n element = _useStatefulRefValue[0],\n handleButtonRefSet = _useStatefulRefValue[1];\n var descendant = useMemo(function () {\n return {\n element: element,\n disabled: disabled\n };\n }, [disabled, element]);\n var index = useDescendant(descendant, AccordionDescendantContext, indexProp); // We need unique IDs for the panel and button to point to one another\n\n var itemId = makeId(accordionId, index);\n var panelId = makeId(\"panel\", itemId);\n var buttonId = makeId(\"button\", itemId);\n var state = (Array.isArray(openPanels) ? openPanels.includes(index) && AccordionStates.Open : openPanels === index && AccordionStates.Open) || AccordionStates.Collapsed;\n var context = {\n buttonId: buttonId,\n buttonRef: buttonRef,\n disabled: disabled,\n handleButtonRefSet: handleButtonRefSet,\n index: index,\n itemId: itemId,\n panelId: panelId,\n state: state\n };\n return /*#__PURE__*/createElement(AccordionItemProvider, context, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: forwardedRef,\n \"data-reach-accordion-item\": \"\",\n \"data-state\": getDataState(state),\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-read-only\": readOnly ? \"\" : undefined\n }), children));\n});\n/**\n * @see Docs https://reach.tech/accordion#accordionitem-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n AccordionItem.displayName = \"AccordionItem\";\n AccordionItem.propTypes = {\n disabled: PropTypes.bool\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * AccordionButton\n *\n * The trigger button a user clicks to interact with an accordion.\n *\n * Must be a direct child of a `AccordionItem`.\n *\n * @see Docs https://reach.tech/accordion#accordionbutton\n */\n\nvar AccordionButton = /*#__PURE__*/forwardRef(function AccordionButton(_ref3, forwardedRef) {\n var _ref3$as = _ref3.as,\n Comp = _ref3$as === void 0 ? \"button\" : _ref3$as,\n children = _ref3.children,\n onClick = _ref3.onClick,\n onKeyDown = _ref3.onKeyDown;\n _ref3.onMouseDown;\n _ref3.onPointerDown;\n var tabIndex = _ref3.tabIndex,\n props = _objectWithoutPropertiesLoose(_ref3, _excluded3);\n var _useAccordionCtx2 = useAccordionCtx(\"AccordionButton\"),\n onSelectPanel = _useAccordionCtx2.onSelectPanel;\n var _useAccordionItemCtx = useAccordionItemCtx(\"AccordionButton\"),\n disabled = _useAccordionItemCtx.disabled,\n buttonId = _useAccordionItemCtx.buttonId,\n ownRef = _useAccordionItemCtx.buttonRef,\n handleButtonRefSet = _useAccordionItemCtx.handleButtonRefSet,\n index = _useAccordionItemCtx.index,\n panelId = _useAccordionItemCtx.panelId,\n state = _useAccordionItemCtx.state;\n var ref = useComposedRefs(forwardedRef, handleButtonRefSet);\n function handleClick(event) {\n event.preventDefault();\n if (disabled) {\n return;\n }\n ownRef.current.focus();\n onSelectPanel(index);\n }\n var handleKeyDown = useDescendantKeyDown(AccordionDescendantContext, {\n currentIndex: index,\n orientation: \"vertical\",\n key: \"element\",\n rotate: true,\n callback: function callback(element) {\n element == null ? void 0 : element.focus();\n },\n filter: function filter(button) {\n return !button.disabled;\n }\n });\n return /*#__PURE__*/createElement(Comp // Each accordion header `button` is wrapped in an element with role\n // `heading` that has a value set for `aria-level` that is appropriate\n // for the information architecture of the page.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n // I believe this should be left for apps to handle, since headings\n // are necessarily context-aware. An app can wrap a button inside any\n // arbitrary tag(s).\n // TODO: Revisit documentation and examples\n // @example\n //
\n //

\n // Click Me\n //

\n // \n //
\n // The title of each accordion header is contained in an element with\n // role `button`. We use an HTML button by default, so we can omit\n // this attribute.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n // role=\"button\"\n // The accordion header `button` element has `aria-controls` set to the\n // ID of the element containing the accordion panel content.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n , _extends({\n \"aria-controls\": panelId // If the accordion panel associated with an accordion header is\n // visible, the header `button` element has `aria-expanded` set to\n // `true`. If the panel is not visible, `aria-expanded` is set to\n // `false`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n ,\n\n \"aria-expanded\": state === AccordionStates.Open,\n tabIndex: disabled ? -1 : tabIndex\n }, props, {\n ref: ref,\n \"data-reach-accordion-button\": \"\",\n \"data-state\": getDataState(state) // If the accordion panel associated with an accordion header is\n // visible, and if the accordion does not permit the panel to be\n // collapsed, the header `button` element has `aria-disabled` set to\n // `true`. We can use `disabled` since we opt for an HTML5 `button`\n // element.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n ,\n\n disabled: disabled || undefined,\n id: buttonId,\n onClick: composeEventHandlers(onClick, handleClick),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n }), children);\n});\n/**\n * @see Docs https://reach.tech/accordion#accordionbutton-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n AccordionButton.displayName = \"AccordionButton\";\n AccordionButton.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * AccordionPanel\n *\n * The collapsible panel in which inner content for an accordion item is\n * rendered.\n *\n * @see Docs https://reach.tech/accordion#accordionpanel\n */\n\nvar AccordionPanel = /*#__PURE__*/forwardRef(function AccordionPanel(_ref4, forwardedRef) {\n var _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"div\" : _ref4$as,\n children = _ref4.children,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded4);\n var _useAccordionItemCtx2 = useAccordionItemCtx(\"AccordionPanel\"),\n disabled = _useAccordionItemCtx2.disabled,\n panelId = _useAccordionItemCtx2.panelId,\n buttonId = _useAccordionItemCtx2.buttonId,\n state = _useAccordionItemCtx2.state;\n return /*#__PURE__*/createElement(Comp, _extends({\n hidden: state !== AccordionStates.Open // Optionally, each element that serves as a container for panel content\n // has role `region` and `aria-labelledby` with a value that refers to\n // the button that controls display of the panel.\n // Role `region` is especially helpful to the perception of structure by\n // screen reader users when panels contain heading elements or a nested\n // accordion.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#accordion\n // Avoid using the region role in circumstances that create landmark\n // region proliferation, e.g., in an accordion that contains more than\n // approximately 6 panels that can be expanded at the same time.\n // A user can override this with `role=\"none\"` or `role=\"presentation\"`\n // TODO: Add to docs\n ,\n\n role: \"region\",\n \"aria-labelledby\": buttonId\n }, props, {\n ref: forwardedRef,\n \"data-reach-accordion-panel\": \"\",\n \"data-disabled\": disabled || undefined,\n \"data-state\": getDataState(state),\n id: panelId\n }), children);\n});\n/**\n * @see Docs https://reach.tech/accordion#accordionpanel-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n AccordionPanel.displayName = \"AccordionPanel\";\n AccordionPanel.propTypes = {\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hook that exposes data for a given `Accordion` component to its\n * descendants.\n *\n * @see Docs https://reach.tech/accordion#useaccordioncontext\n */\n\nfunction useAccordionContext() {\n var _useAccordionCtx3 = useAccordionCtx(\"useAccordionContext\"),\n openPanels = _useAccordionCtx3.openPanels,\n accordionId = _useAccordionCtx3.accordionId;\n return useMemo(function () {\n var panels = [];\n return {\n id: accordionId,\n openPanels: panels.concat(openPanels).filter(function (i) {\n return i >= 0;\n })\n };\n }, [accordionId, openPanels]);\n}\n/**\n * A hook that exposes data for a given `AccordionItem` component to its\n * descendants.\n *\n * @see Docs https://reach.tech/accordion#useaccordionitemcontext\n */\n\nfunction useAccordionItemContext() {\n var _useAccordionItemCtx3 = useAccordionItemCtx(\"useAccordionItemContext\"),\n index = _useAccordionItemCtx3.index,\n state = _useAccordionItemCtx3.state;\n return useMemo(function () {\n return {\n index: index,\n isExpanded: state === AccordionStates.Open\n };\n }, [index, state]);\n} ////////////////////////////////////////////////////////////////////////////////\n\nfunction getDataState(state) {\n return state === AccordionStates.Open ? \"open\" : \"collapsed\";\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { Accordion, AccordionButton, AccordionItem, AccordionPanel, AccordionStates, useAccordionContext, useAccordionItemContext };","import { useRef, useState, useCallback } from 'react';\nimport warning from 'tiny-warning';\n\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\n\nfunction useControlledState(_ref) {\n var controlledValue = _ref.controlledValue,\n defaultValue = _ref.defaultValue,\n _ref$calledFrom = _ref.calledFrom,\n calledFrom = _ref$calledFrom === void 0 ? \"A component\" : _ref$calledFrom;\n var wasControlled = controlledValue !== undefined;\n var _useRef = useRef(wasControlled),\n isControlled = _useRef.current;\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(!(!isControlled && wasControlled), calledFrom + \" is changing from controlled to uncontrolled. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(isControlled && !wasControlled), calledFrom + \" is changing from uncontrolled to controlled. Components should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.\") : void 0;\n }\n var _useState = useState(isControlled ? controlledValue : defaultValue),\n valueState = _useState[0],\n setValue = _useState[1];\n var set = useCallback(function (n) {\n if (!isControlled) {\n setValue(n);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return [isControlled ? controlledValue : valueState, set];\n}\nexport { useControlledState };","import { useState, useCallback } from 'react';\nfunction useStatefulRefValue(ref, initialState) {\n var _useState = useState(initialState),\n state = _useState[0],\n setState = _useState[1];\n var callbackRef = useCallback(function (refValue) {\n ref.current = refValue;\n setState(refValue); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return [state, callbackRef];\n}\nexport { useStatefulRefValue };","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n contentWrapper: {\n padding: theme.spacing(2),\n backgroundColor: '#F8FAFF',\n marginTop: theme.spacing(0.5),\n },\n sectionTitle: {\n fontSize: theme.typography.pxToRem(16),\n marginBottom: theme.spacing(1),\n color: '#3C4B68',\n },\n text: {\n color: '#606060',\n },\n tagsSection: {\n width: '100%',\n },\n tagsWrapper: {\n display: 'flex',\n overflowY: 'auto',\n // Hide scrollbar for Chrome, Safari, Firefox and edge\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n },\n}));\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Grid, Typography } from '@material-ui/core';\nimport { AccordionPanel } from '@reach/accordion';\n\nimport Button from '$landing-page/components/button';\nimport Tag from '$landing-page/components/tag';\n\nimport useStyles from './styles';\n\nconst Content = (props) => {\n const { tags, text, url } = props;\n\n const classes = useStyles(props);\n\n return (\n \n
\n \n {tags.length > 0 && (\n \n \n Keywords\n \n
\n {tags.map((tag) => (\n \n ))}\n
\n
\n )}\n \n \n Abstract\n \n \n {text}\n \n \n \n \n \n
\n
\n
\n );\n};\n\nContent.propTypes = {\n tags: PropTypes.array.isRequired,\n text: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nexport default Content;\n","const createStoreImpl = createState => {\n let state;\n const listeners = /* @__PURE__ */new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach(listener => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\");\n }\n listeners.clear();\n };\n const api = {\n setState,\n getState,\n getInitialState,\n subscribe,\n destroy\n };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = createState => createState ? createStoreImpl(createState) : createStoreImpl;\nvar vanilla = createState => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\"[DEPRECATED] Default export is deprecated. Instead use import { createStore } from 'zustand/vanilla'.\");\n }\n return createStore(createState);\n};\nexport { createStore, vanilla as default };","import { createStore } from 'zustand/vanilla';\nexport * from 'zustand/vanilla';\nimport ReactExports from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\nconst {\n useDebugValue\n} = ReactExports;\nconst {\n useSyncExternalStoreWithSelector\n} = useSyncExternalStoreExports;\nlet didWarnAboutEqualityFn = false;\nconst identity = arg => arg;\nfunction useStore(api) {\n let selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;\n let equalityFn = arguments.length > 2 ? arguments[2] : undefined;\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && equalityFn && !didWarnAboutEqualityFn) {\n console.warn(\"[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937\");\n didWarnAboutEqualityFn = true;\n }\n const slice = useSyncExternalStoreWithSelector(api.subscribe, api.getState, api.getServerState || api.getInitialState, selector, equalityFn);\n useDebugValue(slice);\n return slice;\n}\nconst createImpl = createState => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && typeof createState !== \"function\") {\n console.warn(\"[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.\");\n }\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = createState => createState ? createImpl(createState) : createImpl;\nvar react = createState => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\"[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`.\");\n }\n return create(createState);\n};\nexport { create, react as default, useStore };","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = action => {\n set(state => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return {\n dispatch: function () {\n return api.dispatch(...arguments);\n },\n ...initial\n };\n};\nconst redux = reduxImpl;\nconst trackedConnections = /* @__PURE__ */new Map();\nconst getTrackedConnectionState = name => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(Object.entries(api.stores).map(_ref => {\n let [key, api2] = _ref;\n return [key, api2.getState()];\n }));\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return {\n type: \"tracked\",\n store,\n ...existingConnection\n };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return {\n type: \"tracked\",\n store,\n ...newConnection\n };\n};\nconst devtoolsImpl = function (fn) {\n let devtoolsOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (set, get, api) => {\n const {\n enabled,\n anonymousActionType,\n store,\n ...options\n } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {}\n if (!extensionConnector) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\"[zustand devtools middleware] Please install/enable Redux devtools extension\");\n }\n return fn(set, get, api);\n }\n const {\n connection,\n ...connectionInformation\n } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? {\n type: nameOrAction\n } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send({\n ...action,\n type: \"\".concat(store, \"/\").concat(action.type)\n }, {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n });\n return r;\n };\n const setStateFromDevtools = function () {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...arguments);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(Object.fromEntries(Object.entries(connectionInformation.stores).map(_ref2 => {\n let [key, store2] = _ref2;\n return [key, key === connectionInformation.store ? initialState : store2.getState()];\n })));\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = function () {\n for (var _len = arguments.length, a = new Array(_len), _key = 0; _key < _len; _key++) {\n a[_key] = arguments[_key];\n }\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn('[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.');\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe(message => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\"[zustand devtools middleware] Unsupported action format\");\n return;\n }\n return parseJsonThen(message.payload, action => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\"\\n [zustand devtools middleware] Unsupported __setState action format. \\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\\n and value of this only key should be a state object. Example: { \\\"type\\\": \\\"__setState\\\", \\\"state\\\": { \\\"abc123Store\\\": { \\\"foo\\\": \\\"bar\\\" } } }\\n \");\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n });\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, state => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, state => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\":\n {\n const {\n nextLiftedState\n } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(null,\n // FIXME no-any\n nextLiftedState);\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n };\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\"[zustand devtools middleware] Could not parse the received json\", e);\n }\n if (parsed !== void 0) f(parsed);\n};\nconst subscribeWithSelectorImpl = fn => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = state => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\nconst combine = (initialState, create) => function () {\n return Object.assign({}, initialState, create(...arguments));\n};\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: name => {\n var _a;\n const parse = str2 => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: name => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = fn => input => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst oldImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n getStorage: () => localStorage,\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n partialize: state => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */new Set();\n const finishHydrationListeners = /* @__PURE__ */new Set();\n let storage;\n try {\n storage = options.getStorage();\n } catch (e) {}\n if (!storage) {\n return config(function () {\n console.warn(\"[zustand persist middleware] Unable to update item '\".concat(options.name, \"', the given storage is currently unavailable.\"));\n set(...arguments);\n }, get, api);\n }\n const thenableSerialize = toThenable(options.serialize);\n const setItem = () => {\n const state = options.partialize({\n ...get()\n });\n let errorInSync;\n const thenable = thenableSerialize({\n state,\n version: options.version\n }).then(serializedValue => storage.setItem(options.name, serializedValue)).catch(e => {\n errorInSync = e;\n });\n if (errorInSync) {\n throw errorInSync;\n }\n return thenable;\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(function () {\n set(...arguments);\n void setItem();\n }, get, api);\n let stateFromStorage;\n const hydrate = () => {\n var _a;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach(cb => cb(get()));\n const postRehydrationCallback = ((_a = options.onRehydrateStorage) == null ? void 0 : _a.call(options, get())) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then(storageValue => {\n if (storageValue) {\n return options.deserialize(storageValue);\n }\n }).then(deserializedStorageValue => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(deserializedStorageValue.state, deserializedStorageValue.version);\n }\n console.error(\"State loaded from storage couldn't be migrated since no migrate function was provided\");\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then(migratedState => {\n var _a2;\n stateFromStorage = options.merge(migratedState, (_a2 = get()) != null ? _a2 : configResult);\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n hasHydrated = true;\n finishHydrationListeners.forEach(cb => cb(stateFromStorage));\n }).catch(e => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: newOptions => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.getStorage) {\n storage = newOptions.getStorage();\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: cb => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: cb => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n hydrate();\n return stateFromStorage || configResult;\n};\nconst newImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: state => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */new Set();\n const finishHydrationListeners = /* @__PURE__ */new Set();\n let storage = options.storage;\n if (!storage) {\n return config(function () {\n console.warn(\"[zustand persist middleware] Unable to update item '\".concat(options.name, \"', the given storage is currently unavailable.\"));\n set(...arguments);\n }, get, api);\n }\n const setItem = () => {\n const state = options.partialize({\n ...get()\n });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(function () {\n set(...arguments);\n void setItem();\n }, get, api);\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach(cb => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then(deserializedStorageValue => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(deserializedStorageValue.state, deserializedStorageValue.version);\n }\n console.error(\"State loaded from storage couldn't be migrated since no migrate function was provided\");\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then(migratedState => {\n var _a2;\n stateFromStorage = options.merge(migratedState, (_a2 = get()) != null ? _a2 : configResult);\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach(cb => cb(stateFromStorage));\n }).catch(e => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: newOptions => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: cb => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: cb => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persistImpl = (config, baseOptions) => {\n if (\"getStorage\" in baseOptions || \"serialize\" in baseOptions || \"deserialize\" in baseOptions) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\"[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.\");\n }\n return oldImpl(config, baseOptions);\n }\n return newImpl(config, baseOptions);\n};\nconst persist = persistImpl;\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };","import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\nconst initialValues = {\n accessToken: null,\n refreshToken: null,\n expiresIn: null,\n isAccountDeletionRevoked: false,\n username: null,\n password: null,\n otpToken: null,\n mfaEnabled: false,\n modifyEmailAuthToken: null,\n modifyPhoneNumberAuthToken: null,\n};\n\n// TODO: When using TypeScript for this zustand stores, There is a issue where the store is not being updated from a different files.\n// I've used JS for now, but we should switch to TS and fix this issue later.\nexport const useAuthenticationStore = create(\n persist(\n (set) => ({\n ...initialValues,\n updateState: ({\n accessToken,\n refreshToken,\n expiresIn,\n isAccountDeletionRevoked,\n username,\n password,\n otpToken,\n mfaEnabled,\n modifyEmailAuthToken,\n modifyPhoneNumberAuthToken,\n }) => {\n const newState = {\n ...(accessToken && { accessToken }),\n ...(refreshToken && { refreshToken }),\n ...(expiresIn && { expiresIn }),\n ...(isAccountDeletionRevoked && { isAccountDeletionRevoked }),\n ...(username && { username }),\n ...(password && { password }),\n ...(otpToken && { otpToken }),\n ...(mfaEnabled && { mfaEnabled }),\n ...(modifyEmailAuthToken && { modifyEmailAuthToken }),\n ...(modifyPhoneNumberAuthToken && { modifyPhoneNumberAuthToken }),\n };\n set(newState);\n },\n resetState: () => {\n set(initialValues);\n },\n }),\n {\n name: process.env.REACT_APP_LOCAL_STORAGE_KEY_AUTH_STORE,\n partialize: (state) => ({\n refreshToken: state.refreshToken,\n accessToken: state.accessToken,\n isAccountDeletionRevoked: state.isAccountDeletionRevoked,\n expiresIn: state.expiresIn,\n }),\n }\n )\n);\n","export const REQUEST_TIMEOUT_MS = 60000;\n\nexport const AUTHENTICATION_SCOPES = {\n ALL: '__all__',\n MODIFY_EMAIL: 'modify_email',\n MODIFY_PHONE_NUMBER: 'modify_phone',\n};\n\nexport const AUTHENTICATION_GRANT_TYPES = {\n PASSWORD: 'password',\n REFRESH_TOKEN: 'refresh_token',\n};\n\nexport const AUTHENTICATION_CLIENT_IDS = {\n WEB: 'web',\n};\n\nexport const AUTHENTICATION_ENDPOINT = 'v1/auth/token';\nexport const FORGET_PASSWORD_ENDPOINT = 'v1/auth/reset_password';\nexport const RESET_PASSWORD_ENDPOINT = 'v1/auth/set_password';\nexport const CHECK_MFA_ENDPOINT = 'v1/auth/2fa';\nexport const EDEN_CONFIRMATION_ENDPOINT = 'v1/eden/participation/confirmation';\nexport const UPDATE_USER_EMAIL_ENDPOINT = 'v1/user/email';\nexport const UPDATE_USER_PHONE_NUMBER_ENDPOINT = 'v1/user/phone';\n\n// TODO: This should be removed from FE and only rely on Backend's 'retryAfter' header in account locked scenario.\nexport const ACCOUNT_LOCKED_TIME_IN_MINUTES = 5;\n","import axios from 'axios';\n\nimport { ClientError } from '@edf-pkg/app-error';\nimport appUtils from '@edf-pkg/app-utils';\n\nclass AxiosClientsManager {\n constructor() {\n this.clients = {};\n this.defaultOptions = {\n timeout: 60000,\n };\n }\n\n createClient(clientId, options) {\n this.clients[clientId] = axios.create({\n ...this.defaultOptions,\n ...options,\n });\n return this.clients[clientId];\n }\n\n getClient(clientId) {\n if (appUtils.object.hasKey(this.clients, clientId)) {\n return this.clients[clientId];\n }\n throw new ClientError(`Trying to get missing client. Please call createClient first. clientId: ${clientId}`);\n }\n}\n\nconst instance = new AxiosClientsManager();\nexport default instance;\n","const ERROR_CODES = {\n INSUFFICIENT_PERMISSIONS: 2,\n INVALID_PARAMETER: 4,\n UNAUTHORIZED_OR_INACTIVE: 6,\n INTERNAL_ERROR: 7,\n INVALID_TOKEN: 257,\n USER_EXIST: 261,\n UNSUPPORTED_PHONE_REGION_FOR_SMS: 262,\n USER_UPDATE_PASSWORD_INCORRECT_CURRENT_PASSWORD: 268,\n CANNOT_SEND_SMS: 270,\n USER_PREV_REG_EXPIRED: 518,\n USER_NOT_INVITED_JOIN_STUDY_ENDPOINT: 520,\n STUDY_NOT_FOUND_JOIN_STUDY_ENDPOINT: 514,\n ADD_RESEARCHER_ALREADY_MEMBER: 1026,\n ADD_RESEARCHER_USER_NOT_FOUND: 1027,\n ADD_RESEARCHER_USER_NOT_RESEARCHER: 1028,\n ADD_RESEARCHER_USER_EMAIL_ADDRESS_NOT_VERIFIED: 1054,\n STUDY_PARTICIPATION_ENDED: 1035,\n STUDY_REG_ALREADY_REGISTERED: 1041,\n STUDY_REG_CLOSED: 1042,\n STUDY_REG_NOT_INVITED: 1044,\n LICENSE_NOT_TRIAL: 1055,\n NO_ACTIVE_GCM_USER: 1289,\n CORRUPT_SURVEY: 1296,\n BEACON_EXIST: 1796,\n BEACON_DUPLICATE_VALUE: 1803,\n ACTIVITY_CANNOT_MOVE_EXISTING_SESSIONS: 2050,\n PASSWORD_WAS_USED_BEFORE: 60001,\n PASSWORD_IS_EXPIRED: 60002,\n ACCOUNT_IS_LOCKED: 60003,\n};\n\nexport default ERROR_CODES;\n","import defineProperty from \"./defineProperty.js\";\nexport default function _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 = ownKeys.concat(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}","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}","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 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 _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\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 if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread({}, options, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var rule = this.getRule(code);\n if (!rule) {\n return [];\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n var rule = this.getRule(code);\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n return PluralResolver;\n}();\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread({}, options, data, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread({}, options, data, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions = _objectSpread({}, options);\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread({}, options, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ;else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n options.supportedLngs = options.whitelist;\n }\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\nfunction noop() {}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\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 _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\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 _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\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 clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\nvar i18next = new I18n();\nexport default i18next;","import appUtils from '@edf-pkg/app-utils';\n\nexport default class Language {\n code = '';\n\n locale = '';\n\n localName = '';\n\n englishName = '';\n\n territory = '';\n\n timezones = [];\n\n notLoadedNamespaces = {};\n\n namespaces = {};\n\n namespaceHasTranslations = (namespace) => {\n return appUtils.object.hasKey(this.notLoadedNamespaces, namespace);\n };\n\n getNamespaceTranslations = async (namespace) => {\n if (!appUtils.object.hasKey(this.namespaces, namespace)) {\n if (appUtils.object.hasKey(this.notLoadedNamespaces, namespace)) {\n const { default: namespaceTranslation } = await this.notLoadedNamespaces[namespace];\n this.namespaces[namespace] = namespaceTranslation;\n } else {\n this.namespaces[namespace] = {};\n }\n }\n return this.namespaces[namespace];\n };\n}\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/ca-es.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/ca-es.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/ca-es.rdash-translatables.namespace');\n\nclass CaESLanguage extends Language {\n code = 'ca-ES';\n\n locale = 'ca';\n\n localName = 'Català';\n\n englishName = 'Catalan';\n\n territory = 'ES';\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new CaESLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/cy-gb.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/cy-gb.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/cy-gb.rdash-translatables.namespace');\n\nclass CyGBLanguage extends Language {\n code = 'cy-GB';\n\n locale = 'cy';\n\n localName = 'Welsh';\n\n englishName = 'Welsh';\n\n territory = 'GB';\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new CyGBLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/de-de.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/de-de.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/de-de.rdash-translatables.namespace');\n\nclass DeDELanguage extends Language {\n code = 'de-DE';\n\n locale = 'de';\n\n localName = 'Deutsch';\n\n englishName = 'German';\n\n territory = 'DE';\n\n timezones = ['Europe/Berlin', 'Europe/Busingen'];\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new DeDELanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/en-us.pdash.namespace');\nconst rdashNamespace = import('../namespaces/en-us.rdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/en-us.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/en-us.rdash-translatables.namespace');\n\nclass EnUSLanguage extends Language {\n code = 'en-US';\n\n locale = 'en';\n\n localName = 'English';\n\n englishName = '';\n\n territory = 'US';\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n rdash: rdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new EnUSLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/es-co.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/es-co.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/es-co.rdash-translatables.namespace');\n\nclass EsCOLanguage extends Language {\n code = 'es-CO';\n\n locale = 'es-CO';\n\n localName = 'Colombiano';\n\n englishName = 'Colombian';\n\n territory = 'CO';\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new EsCOLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/es-es.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/es-es.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/es-es.rdash-translatables.namespace');\n\nclass EsESLanguage extends Language {\n code = 'es-US';\n\n locale = 'es';\n\n localName = 'Español';\n\n englishName = 'Spanish';\n\n territory = 'US';\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new EsESLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/fa-ir.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/fa-ir.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/fa-ir.rdash-translatables.namespace');\n\nclass FaIrLanguage extends Language {\n code = 'fa-IR';\n\n locale = 'fa';\n\n localName = 'فارسی';\n\n englishName = 'Farsi';\n\n territory = 'IR';\n\n timezones = ['Asia/Tehran'];\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new FaIrLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/fr-ca.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/fr-ca.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/fr-ca.rdash-translatables.namespace');\n\nclass FrCaLanguage extends Language {\n code = 'fr-CA';\n\n locale = 'fr';\n\n localName = 'Français';\n\n englishName = 'French';\n\n territory = 'CA';\n\n timezones = ['America/Montreal', 'Europe/Paris'];\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new FrCaLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/it-it.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/it-it.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/it-it.rdash-translatables.namespace');\n\nclass ItItLanguage extends Language {\n code = 'it-IT';\n\n locale = 'it';\n\n localName = 'Italiano';\n\n englishName = 'Italian';\n\n territory = 'IT';\n\n timezones = ['Europe/Rome'];\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new ItItLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/nl-nl.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/nl-nl.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/nl-nl.rdash-translatables.namespace');\n\nclass NlNlLanguage extends Language {\n code = 'nl-NL';\n\n locale = 'nl';\n\n localName = 'Nederlands';\n\n englishName = 'Dutch';\n\n territory = 'NL';\n\n timezones = ['Europe/Amsterdam'];\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new NlNlLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/sl-si.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/sl-si.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/sl-si.rdash-translatables.namespace');\n\nclass SlSiLanguage extends Language {\n code = 'sl-SI';\n\n locale = 'sl';\n\n localName = 'Slovenščina';\n\n englishName = 'Slovenian';\n\n territory = 'SI';\n\n timezones = ['Europe/Ljubljana'];\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new SlSiLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/ur-pk.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/ur-pk.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/ur-pk.rdash-translatables.namespace');\n\nclass UrPkLanguage extends Language {\n code = 'ur-PK';\n\n locale = 'ur';\n\n localName = 'اردو';\n\n englishName = 'Urdu';\n\n territory = 'PK';\n\n timezones = ['Asia/Karachi'];\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new UrPkLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/zh-hans.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/zh-hans.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/zh-hans.rdash-translatables.namespace');\n\nclass ZhHansLanguage extends Language {\n code = 'zh-Hans';\n\n locale = 'zh';\n\n localName = '汉语';\n\n englishName = 'Simplified Chinese';\n\n territory = 'Hans';\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new ZhHansLanguage();\nexport default instance;\n","import Language from '../core/language';\n\nconst pdashNamespace = import('../namespaces/zu-zu.pdash.namespace');\nconst webActivitiesNamespace = import('../namespaces/zu-zu.web-activities.namespace');\nconst rdashTranslatablesNamespace = import('../namespaces/zu-zu.rdash-translatables.namespace');\n\nclass ZuZULanguage extends Language {\n code = 'zu-ZU';\n\n locale = 'zu';\n\n localName = 'IsiZulu';\n\n englishName = 'Zulu';\n\n territory = 'ZU';\n\n notLoadedNamespaces = {\n pdash: pdashNamespace,\n webActivities: webActivitiesNamespace,\n rdashTranslatables: rdashTranslatablesNamespace,\n };\n}\n\nconst instance = new ZuZULanguage();\nexport default instance;\n","import { FatalError } from '@edf-pkg/app-error';\nimport appUtils from '@edf-pkg/app-utils';\n\nimport caESLanguage from './ca-es.language';\nimport cyGBLanguage from './cy-gb.language';\nimport deDELanguage from './de-de.language';\nimport enUSLanguage from './en-us.language';\nimport esCOLanguage from './es-co.language';\nimport esESLanguage from './es-es.language';\nimport faIRLanguage from './fa-ir.language';\nimport frCaLanguage from './fr-ca.language';\nimport itITLanguage from './it-it.language';\nimport nlNLLanguage from './nl-nl.language';\nimport slSILanguage from './sl-si.language';\nimport itPKLanguage from './ur-pk.language';\nimport zhHansLanguage from './zh-hans.language';\nimport zuZULanguage from './zu-zu.language';\n\nclass Languages {\n languageCodes = {\n [enUSLanguage.code]: enUSLanguage,\n [deDELanguage.code]: deDELanguage,\n [faIRLanguage.code]: faIRLanguage,\n [frCaLanguage.code]: frCaLanguage,\n [itITLanguage.code]: itITLanguage,\n [nlNLLanguage.code]: nlNLLanguage,\n [itPKLanguage.code]: itPKLanguage,\n [esESLanguage.code]: esESLanguage,\n [esCOLanguage.code]: esCOLanguage,\n [caESLanguage.code]: caESLanguage,\n [slSILanguage.code]: slSILanguage,\n [zuZULanguage.code]: zuZULanguage,\n [zhHansLanguage.code]: zhHansLanguage,\n [cyGBLanguage.code]: cyGBLanguage,\n };\n\n localeToLanguage = {\n [enUSLanguage.locale]: enUSLanguage.code,\n [deDELanguage.locale]: deDELanguage.code,\n [faIRLanguage.locale]: faIRLanguage.code,\n [frCaLanguage.locale]: frCaLanguage.code,\n [itITLanguage.locale]: itITLanguage.code,\n [nlNLLanguage.locale]: nlNLLanguage.code,\n [itPKLanguage.locale]: itPKLanguage.code,\n [esESLanguage.locale]: esESLanguage.code,\n [esCOLanguage.locale]: esCOLanguage.code,\n [caESLanguage.locale]: caESLanguage.code,\n [slSILanguage.locale]: slSILanguage.code,\n [zuZULanguage.locale]: zuZULanguage.code,\n [zhHansLanguage.locale]: zhHansLanguage.code,\n [cyGBLanguage.locale]: cyGBLanguage.code,\n };\n\n normalizeSupportedLanguage = (languageCode) => {\n const languageCodeSplit = languageCode.split('-');\n let actualLanguageCode = null;\n if (this.languageExist(languageCode)) {\n if (languageCodeSplit.length === 2) {\n const normalizedLanguageCode = `${languageCodeSplit[0].toLowerCase()}-${languageCodeSplit[1].toUpperCase()}`;\n if (this.languageCodeExist(normalizedLanguageCode)) {\n actualLanguageCode = normalizedLanguageCode;\n } else {\n actualLanguageCode = this.localeToLanguage[languageCodeSplit[0]];\n }\n } else if (languageCodeSplit.length === 1) {\n if (this.languageLocaleExist(languageCodeSplit[0])) {\n actualLanguageCode = this.localeToLanguage[languageCodeSplit[0]];\n }\n }\n }\n\n return actualLanguageCode;\n };\n\n languageExist = (language) => {\n if (!this.languageCodeExist(language) && !this.languageLocaleExist(language)) {\n const languageSplit = language.split('-');\n if (languageSplit.length === 2) {\n return this.languageLocaleExist(languageSplit[0]);\n }\n return false;\n }\n return true;\n };\n\n languageCodeExist = (languageCode) => {\n return appUtils.object.hasKey(this.languageCodes, languageCode);\n };\n\n languageLocaleExist = (languageLocale) => {\n return appUtils.object.hasKey(this.localeToLanguage, languageLocale);\n };\n\n get = (languageCode) => {\n if (this.languageCodeExist(languageCode)) {\n return this.languageCodes[languageCode];\n }\n throw new FatalError(`Language with given code not exist. languageCode: ${languageCode}`);\n };\n\n getAll = () => {\n return this.languageCodes;\n };\n\n getAllLanguageCodes = () => {\n return Object.keys(this.languageCodes);\n };\n\n snakeCaseNonTranslationKeys = (object, excludedKeys = []) => {\n return appUtils.object.snakeCaseKeys(object, [...this.getAllLanguageCodes(), ...excludedKeys]);\n };\n\n camelCaseNonTranslationKeys = (object, excludedKeys = []) => {\n return appUtils.object.camelCaseKeys(object, [...this.getAllLanguageCodes(), ...excludedKeys]);\n };\n}\n\nconst instance = new Languages();\nexport default instance;\n","function n(n) {\n for (var t = arguments.length, r = Array(t > 1 ? t - 1 : 0), e = 1; e < t; e++) r[e - 1] = arguments[e];\n if (\"production\" !== process.env.NODE_ENV) {\n var i = Y[n],\n o = i ? \"function\" == typeof i ? i.apply(null, r) : i : \"unknown error nr: \" + n;\n throw Error(\"[Immer] \" + o);\n }\n throw Error(\"[Immer] minified error nr: \" + n + (r.length ? \" \" + r.map(function (n) {\n return \"'\" + n + \"'\";\n }).join(\",\") : \"\") + \". Find the full error at: https://bit.ly/3cXEKWf\");\n}\nfunction t(n) {\n return !!n && !!n[Q];\n}\nfunction r(n) {\n return !!n && (function (n) {\n if (!n || \"object\" != typeof n) return !1;\n var t = Object.getPrototypeOf(n);\n if (null === t) return !0;\n var r = Object.hasOwnProperty.call(t, \"constructor\") && t.constructor;\n return r === Object || \"function\" == typeof r && Function.toString.call(r) === Z;\n }(n) || Array.isArray(n) || !!n[L] || !!n.constructor[L] || s(n) || v(n));\n}\nfunction e(r) {\n return t(r) || n(23, r), r[Q].t;\n}\nfunction i(n, t, r) {\n void 0 === r && (r = !1), 0 === o(n) ? (r ? Object.keys : nn)(n).forEach(function (e) {\n r && \"symbol\" == typeof e || t(e, n[e], n);\n }) : n.forEach(function (r, e) {\n return t(e, r, n);\n });\n}\nfunction o(n) {\n var t = n[Q];\n return t ? t.i > 3 ? t.i - 4 : t.i : Array.isArray(n) ? 1 : s(n) ? 2 : v(n) ? 3 : 0;\n}\nfunction u(n, t) {\n return 2 === o(n) ? n.has(t) : Object.prototype.hasOwnProperty.call(n, t);\n}\nfunction a(n, t) {\n return 2 === o(n) ? n.get(t) : n[t];\n}\nfunction f(n, t, r) {\n var e = o(n);\n 2 === e ? n.set(t, r) : 3 === e ? (n.delete(t), n.add(r)) : n[t] = r;\n}\nfunction c(n, t) {\n return n === t ? 0 !== n || 1 / n == 1 / t : n != n && t != t;\n}\nfunction s(n) {\n return X && n instanceof Map;\n}\nfunction v(n) {\n return q && n instanceof Set;\n}\nfunction p(n) {\n return n.o || n.t;\n}\nfunction l(n) {\n if (Array.isArray(n)) return Array.prototype.slice.call(n);\n var t = tn(n);\n delete t[Q];\n for (var r = nn(t), e = 0; e < r.length; e++) {\n var i = r[e],\n o = t[i];\n !1 === o.writable && (o.writable = !0, o.configurable = !0), (o.get || o.set) && (t[i] = {\n configurable: !0,\n writable: !0,\n enumerable: o.enumerable,\n value: n[i]\n });\n }\n return Object.create(Object.getPrototypeOf(n), t);\n}\nfunction d(n, e) {\n return void 0 === e && (e = !1), y(n) || t(n) || !r(n) ? n : (o(n) > 1 && (n.set = n.add = n.clear = n.delete = h), Object.freeze(n), e && i(n, function (n, t) {\n return d(t, !0);\n }, !0), n);\n}\nfunction h() {\n n(2);\n}\nfunction y(n) {\n return null == n || \"object\" != typeof n || Object.isFrozen(n);\n}\nfunction b(t) {\n var r = rn[t];\n return r || n(18, t), r;\n}\nfunction m(n, t) {\n rn[n] || (rn[n] = t);\n}\nfunction _() {\n return \"production\" === process.env.NODE_ENV || U || n(0), U;\n}\nfunction j(n, t) {\n t && (b(\"Patches\"), n.u = [], n.s = [], n.v = t);\n}\nfunction O(n) {\n g(n), n.p.forEach(S), n.p = null;\n}\nfunction g(n) {\n n === U && (U = n.l);\n}\nfunction w(n) {\n return U = {\n p: [],\n l: U,\n h: n,\n m: !0,\n _: 0\n };\n}\nfunction S(n) {\n var t = n[Q];\n 0 === t.i || 1 === t.i ? t.j() : t.O = !0;\n}\nfunction P(t, e) {\n e._ = e.p.length;\n var i = e.p[0],\n o = void 0 !== t && t !== i;\n return e.h.g || b(\"ES5\").S(e, t, o), o ? (i[Q].P && (O(e), n(4)), r(t) && (t = M(e, t), e.l || x(e, t)), e.u && b(\"Patches\").M(i[Q], t, e.u, e.s)) : t = M(e, i, []), O(e), e.u && e.v(e.u, e.s), t !== H ? t : void 0;\n}\nfunction M(n, t, r) {\n if (y(t)) return t;\n var e = t[Q];\n if (!e) return i(t, function (i, o) {\n return A(n, e, t, i, o, r);\n }, !0), t;\n if (e.A !== n) return t;\n if (!e.P) return x(n, e.t, !0), e.t;\n if (!e.I) {\n e.I = !0, e.A._--;\n var o = 4 === e.i || 5 === e.i ? e.o = l(e.k) : e.o;\n i(3 === e.i ? new Set(o) : o, function (t, i) {\n return A(n, e, o, t, i, r);\n }), x(n, o, !1), r && n.u && b(\"Patches\").R(e, r, n.u, n.s);\n }\n return e.o;\n}\nfunction A(e, i, o, a, c, s) {\n if (\"production\" !== process.env.NODE_ENV && c === o && n(5), t(c)) {\n var v = M(e, c, s && i && 3 !== i.i && !u(i.D, a) ? s.concat(a) : void 0);\n if (f(o, a, v), !t(v)) return;\n e.m = !1;\n }\n if (r(c) && !y(c)) {\n if (!e.h.F && e._ < 1) return;\n M(e, c), i && i.A.l || x(e, c);\n }\n}\nfunction x(n, t, r) {\n void 0 === r && (r = !1), n.h.F && n.m && d(t, r);\n}\nfunction z(n, t) {\n var r = n[Q];\n return (r ? p(r) : n)[t];\n}\nfunction I(n, t) {\n if (t in n) for (var r = Object.getPrototypeOf(n); r;) {\n var e = Object.getOwnPropertyDescriptor(r, t);\n if (e) return e;\n r = Object.getPrototypeOf(r);\n }\n}\nfunction k(n) {\n n.P || (n.P = !0, n.l && k(n.l));\n}\nfunction E(n) {\n n.o || (n.o = l(n.t));\n}\nfunction R(n, t, r) {\n var e = s(t) ? b(\"MapSet\").N(t, r) : v(t) ? b(\"MapSet\").T(t, r) : n.g ? function (n, t) {\n var r = Array.isArray(n),\n e = {\n i: r ? 1 : 0,\n A: t ? t.A : _(),\n P: !1,\n I: !1,\n D: {},\n l: t,\n t: n,\n k: null,\n o: null,\n j: null,\n C: !1\n },\n i = e,\n o = en;\n r && (i = [e], o = on);\n var u = Proxy.revocable(i, o),\n a = u.revoke,\n f = u.proxy;\n return e.k = f, e.j = a, f;\n }(t, r) : b(\"ES5\").J(t, r);\n return (r ? r.A : _()).p.push(e), e;\n}\nfunction D(e) {\n return t(e) || n(22, e), function n(t) {\n if (!r(t)) return t;\n var e,\n u = t[Q],\n c = o(t);\n if (u) {\n if (!u.P && (u.i < 4 || !b(\"ES5\").K(u))) return u.t;\n u.I = !0, e = F(t, c), u.I = !1;\n } else e = F(t, c);\n return i(e, function (t, r) {\n u && a(u.t, t) === r || f(e, t, n(r));\n }), 3 === c ? new Set(e) : e;\n }(e);\n}\nfunction F(n, t) {\n switch (t) {\n case 2:\n return new Map(n);\n case 3:\n return Array.from(n);\n }\n return l(n);\n}\nfunction N() {\n function r(n, t) {\n var r = s[n];\n return r ? r.enumerable = t : s[n] = r = {\n configurable: !0,\n enumerable: t,\n get: function () {\n var t = this[Q];\n return \"production\" !== process.env.NODE_ENV && f(t), en.get(t, n);\n },\n set: function (t) {\n var r = this[Q];\n \"production\" !== process.env.NODE_ENV && f(r), en.set(r, n, t);\n }\n }, r;\n }\n function e(n) {\n for (var t = n.length - 1; t >= 0; t--) {\n var r = n[t][Q];\n if (!r.P) switch (r.i) {\n case 5:\n a(r) && k(r);\n break;\n case 4:\n o(r) && k(r);\n }\n }\n }\n function o(n) {\n for (var t = n.t, r = n.k, e = nn(r), i = e.length - 1; i >= 0; i--) {\n var o = e[i];\n if (o !== Q) {\n var a = t[o];\n if (void 0 === a && !u(t, o)) return !0;\n var f = r[o],\n s = f && f[Q];\n if (s ? s.t !== a : !c(f, a)) return !0;\n }\n }\n var v = !!t[Q];\n return e.length !== nn(t).length + (v ? 0 : 1);\n }\n function a(n) {\n var t = n.k;\n if (t.length !== n.t.length) return !0;\n var r = Object.getOwnPropertyDescriptor(t, t.length - 1);\n return !(!r || r.get);\n }\n function f(t) {\n t.O && n(3, JSON.stringify(p(t)));\n }\n var s = {};\n m(\"ES5\", {\n J: function (n, t) {\n var e = Array.isArray(n),\n i = function (n, t) {\n if (n) {\n for (var e = Array(t.length), i = 0; i < t.length; i++) Object.defineProperty(e, \"\" + i, r(i, !0));\n return e;\n }\n var o = tn(t);\n delete o[Q];\n for (var u = nn(o), a = 0; a < u.length; a++) {\n var f = u[a];\n o[f] = r(f, n || !!o[f].enumerable);\n }\n return Object.create(Object.getPrototypeOf(t), o);\n }(e, n),\n o = {\n i: e ? 5 : 4,\n A: t ? t.A : _(),\n P: !1,\n I: !1,\n D: {},\n l: t,\n t: n,\n k: i,\n o: null,\n O: !1,\n C: !1\n };\n return Object.defineProperty(i, Q, {\n value: o,\n writable: !0\n }), i;\n },\n S: function (n, r, o) {\n o ? t(r) && r[Q].A === n && e(n.p) : (n.u && function n(t) {\n if (t && \"object\" == typeof t) {\n var r = t[Q];\n if (r) {\n var e = r.t,\n o = r.k,\n f = r.D,\n c = r.i;\n if (4 === c) i(o, function (t) {\n t !== Q && (void 0 !== e[t] || u(e, t) ? f[t] || n(o[t]) : (f[t] = !0, k(r)));\n }), i(e, function (n) {\n void 0 !== o[n] || u(o, n) || (f[n] = !1, k(r));\n });else if (5 === c) {\n if (a(r) && (k(r), f.length = !0), o.length < e.length) for (var s = o.length; s < e.length; s++) f[s] = !1;else for (var v = e.length; v < o.length; v++) f[v] = !0;\n for (var p = Math.min(o.length, e.length), l = 0; l < p; l++) void 0 === f[l] && n(o[l]);\n }\n }\n }\n }(n.p[0]), e(n.p));\n },\n K: function (n) {\n return 4 === n.i ? o(n) : a(n);\n }\n });\n}\nfunction T() {\n function e(n) {\n if (!r(n)) return n;\n if (Array.isArray(n)) return n.map(e);\n if (s(n)) return new Map(Array.from(n.entries()).map(function (n) {\n return [n[0], e(n[1])];\n }));\n if (v(n)) return new Set(Array.from(n).map(e));\n var t = Object.create(Object.getPrototypeOf(n));\n for (var i in n) t[i] = e(n[i]);\n return u(n, L) && (t[L] = n[L]), t;\n }\n function f(n) {\n return t(n) ? e(n) : n;\n }\n var c = \"add\";\n m(\"Patches\", {\n $: function (t, r) {\n return r.forEach(function (r) {\n for (var i = r.path, u = r.op, f = t, s = 0; s < i.length - 1; s++) {\n var v = o(f),\n p = i[s];\n 0 !== v && 1 !== v || \"__proto__\" !== p && \"constructor\" !== p || n(24), \"function\" == typeof f && \"prototype\" === p && n(24), \"object\" != typeof (f = a(f, p)) && n(15, i.join(\"/\"));\n }\n var l = o(f),\n d = e(r.value),\n h = i[i.length - 1];\n switch (u) {\n case \"replace\":\n switch (l) {\n case 2:\n return f.set(h, d);\n case 3:\n n(16);\n default:\n return f[h] = d;\n }\n case c:\n switch (l) {\n case 1:\n return f.splice(h, 0, d);\n case 2:\n return f.set(h, d);\n case 3:\n return f.add(d);\n default:\n return f[h] = d;\n }\n case \"remove\":\n switch (l) {\n case 1:\n return f.splice(h, 1);\n case 2:\n return f.delete(h);\n case 3:\n return f.delete(r.value);\n default:\n return delete f[h];\n }\n default:\n n(17, u);\n }\n }), t;\n },\n R: function (n, t, r, e) {\n switch (n.i) {\n case 0:\n case 4:\n case 2:\n return function (n, t, r, e) {\n var o = n.t,\n s = n.o;\n i(n.D, function (n, i) {\n var v = a(o, n),\n p = a(s, n),\n l = i ? u(o, n) ? \"replace\" : c : \"remove\";\n if (v !== p || \"replace\" !== l) {\n var d = t.concat(n);\n r.push(\"remove\" === l ? {\n op: l,\n path: d\n } : {\n op: l,\n path: d,\n value: p\n }), e.push(l === c ? {\n op: \"remove\",\n path: d\n } : \"remove\" === l ? {\n op: c,\n path: d,\n value: f(v)\n } : {\n op: \"replace\",\n path: d,\n value: f(v)\n });\n }\n });\n }(n, t, r, e);\n case 5:\n case 1:\n return function (n, t, r, e) {\n var i = n.t,\n o = n.D,\n u = n.o;\n if (u.length < i.length) {\n var a = [u, i];\n i = a[0], u = a[1];\n var s = [e, r];\n r = s[0], e = s[1];\n }\n for (var v = 0; v < i.length; v++) if (o[v] && u[v] !== i[v]) {\n var p = t.concat([v]);\n r.push({\n op: \"replace\",\n path: p,\n value: f(u[v])\n }), e.push({\n op: \"replace\",\n path: p,\n value: f(i[v])\n });\n }\n for (var l = i.length; l < u.length; l++) {\n var d = t.concat([l]);\n r.push({\n op: c,\n path: d,\n value: f(u[l])\n });\n }\n i.length < u.length && e.push({\n op: \"replace\",\n path: t.concat([\"length\"]),\n value: i.length\n });\n }(n, t, r, e);\n case 3:\n return function (n, t, r, e) {\n var i = n.t,\n o = n.o,\n u = 0;\n i.forEach(function (n) {\n if (!o.has(n)) {\n var i = t.concat([u]);\n r.push({\n op: \"remove\",\n path: i,\n value: n\n }), e.unshift({\n op: c,\n path: i,\n value: n\n });\n }\n u++;\n }), u = 0, o.forEach(function (n) {\n if (!i.has(n)) {\n var o = t.concat([u]);\n r.push({\n op: c,\n path: o,\n value: n\n }), e.unshift({\n op: \"remove\",\n path: o,\n value: n\n });\n }\n u++;\n });\n }(n, t, r, e);\n }\n },\n M: function (n, t, r, e) {\n r.push({\n op: \"replace\",\n path: [],\n value: t === H ? void 0 : t\n }), e.push({\n op: \"replace\",\n path: [],\n value: n.t\n });\n }\n });\n}\nfunction C() {\n function t(n, t) {\n function r() {\n this.constructor = n;\n }\n a(n, t), n.prototype = (r.prototype = t.prototype, new r());\n }\n function e(n) {\n n.o || (n.D = new Map(), n.o = new Map(n.t));\n }\n function o(n) {\n n.o || (n.o = new Set(), n.t.forEach(function (t) {\n if (r(t)) {\n var e = R(n.A.h, t, n);\n n.p.set(t, e), n.o.add(e);\n } else n.o.add(t);\n }));\n }\n function u(t) {\n t.O && n(3, JSON.stringify(p(t)));\n }\n var a = function (n, t) {\n return (a = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (n, t) {\n n.__proto__ = t;\n } || function (n, t) {\n for (var r in t) t.hasOwnProperty(r) && (n[r] = t[r]);\n })(n, t);\n },\n f = function () {\n function n(n, t) {\n return this[Q] = {\n i: 2,\n l: t,\n A: t ? t.A : _(),\n P: !1,\n I: !1,\n o: void 0,\n D: void 0,\n t: n,\n k: this,\n C: !1,\n O: !1\n }, this;\n }\n t(n, Map);\n var o = n.prototype;\n return Object.defineProperty(o, \"size\", {\n get: function () {\n return p(this[Q]).size;\n }\n }), o.has = function (n) {\n return p(this[Q]).has(n);\n }, o.set = function (n, t) {\n var r = this[Q];\n return u(r), p(r).has(n) && p(r).get(n) === t || (e(r), k(r), r.D.set(n, !0), r.o.set(n, t), r.D.set(n, !0)), this;\n }, o.delete = function (n) {\n if (!this.has(n)) return !1;\n var t = this[Q];\n return u(t), e(t), k(t), t.D.set(n, !1), t.o.delete(n), !0;\n }, o.clear = function () {\n var n = this[Q];\n u(n), p(n).size && (e(n), k(n), n.D = new Map(), i(n.t, function (t) {\n n.D.set(t, !1);\n }), n.o.clear());\n }, o.forEach = function (n, t) {\n var r = this;\n p(this[Q]).forEach(function (e, i) {\n n.call(t, r.get(i), i, r);\n });\n }, o.get = function (n) {\n var t = this[Q];\n u(t);\n var i = p(t).get(n);\n if (t.I || !r(i)) return i;\n if (i !== t.t.get(n)) return i;\n var o = R(t.A.h, i, t);\n return e(t), t.o.set(n, o), o;\n }, o.keys = function () {\n return p(this[Q]).keys();\n }, o.values = function () {\n var n,\n t = this,\n r = this.keys();\n return (n = {})[V] = function () {\n return t.values();\n }, n.next = function () {\n var n = r.next();\n return n.done ? n : {\n done: !1,\n value: t.get(n.value)\n };\n }, n;\n }, o.entries = function () {\n var n,\n t = this,\n r = this.keys();\n return (n = {})[V] = function () {\n return t.entries();\n }, n.next = function () {\n var n = r.next();\n if (n.done) return n;\n var e = t.get(n.value);\n return {\n done: !1,\n value: [n.value, e]\n };\n }, n;\n }, o[V] = function () {\n return this.entries();\n }, n;\n }(),\n c = function () {\n function n(n, t) {\n return this[Q] = {\n i: 3,\n l: t,\n A: t ? t.A : _(),\n P: !1,\n I: !1,\n o: void 0,\n t: n,\n k: this,\n p: new Map(),\n O: !1,\n C: !1\n }, this;\n }\n t(n, Set);\n var r = n.prototype;\n return Object.defineProperty(r, \"size\", {\n get: function () {\n return p(this[Q]).size;\n }\n }), r.has = function (n) {\n var t = this[Q];\n return u(t), t.o ? !!t.o.has(n) || !(!t.p.has(n) || !t.o.has(t.p.get(n))) : t.t.has(n);\n }, r.add = function (n) {\n var t = this[Q];\n return u(t), this.has(n) || (o(t), k(t), t.o.add(n)), this;\n }, r.delete = function (n) {\n if (!this.has(n)) return !1;\n var t = this[Q];\n return u(t), o(t), k(t), t.o.delete(n) || !!t.p.has(n) && t.o.delete(t.p.get(n));\n }, r.clear = function () {\n var n = this[Q];\n u(n), p(n).size && (o(n), k(n), n.o.clear());\n }, r.values = function () {\n var n = this[Q];\n return u(n), o(n), n.o.values();\n }, r.entries = function () {\n var n = this[Q];\n return u(n), o(n), n.o.entries();\n }, r.keys = function () {\n return this.values();\n }, r[V] = function () {\n return this.values();\n }, r.forEach = function (n, t) {\n for (var r = this.values(), e = r.next(); !e.done;) n.call(t, e.value, e.value, this), e = r.next();\n }, n;\n }();\n m(\"MapSet\", {\n N: function (n, t) {\n return new f(n, t);\n },\n T: function (n, t) {\n return new c(n, t);\n }\n });\n}\nfunction J() {\n N(), C(), T();\n}\nfunction K(n) {\n return n;\n}\nfunction $(n) {\n return n;\n}\nvar G,\n U,\n W = \"undefined\" != typeof Symbol && \"symbol\" == typeof Symbol(\"x\"),\n X = \"undefined\" != typeof Map,\n q = \"undefined\" != typeof Set,\n B = \"undefined\" != typeof Proxy && void 0 !== Proxy.revocable && \"undefined\" != typeof Reflect,\n H = W ? Symbol.for(\"immer-nothing\") : ((G = {})[\"immer-nothing\"] = !0, G),\n L = W ? Symbol.for(\"immer-draftable\") : \"__$immer_draftable\",\n Q = W ? Symbol.for(\"immer-state\") : \"__$immer_state\",\n V = \"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\",\n Y = {\n 0: \"Illegal state\",\n 1: \"Immer drafts cannot have computed properties\",\n 2: \"This object has been frozen and should not be mutated\",\n 3: function (n) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + n;\n },\n 4: \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n 5: \"Immer forbids circular references\",\n 6: \"The first or second argument to `produce` must be a function\",\n 7: \"The third argument to `produce` must be a function or undefined\",\n 8: \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n 9: \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n 10: \"The given draft is already finalized\",\n 11: \"Object.defineProperty() cannot be used on an Immer draft\",\n 12: \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n 13: \"Immer only supports deleting array indices\",\n 14: \"Immer only supports setting array indices and the 'length' property\",\n 15: function (n) {\n return \"Cannot apply patch, path doesn't resolve: \" + n;\n },\n 16: 'Sets cannot have \"replace\" patches.',\n 17: function (n) {\n return \"Unsupported patch operation: \" + n;\n },\n 18: function (n) {\n return \"The plugin for '\" + n + \"' has not been loaded into Immer. To enable the plugin, import and call `enable\" + n + \"()` when initializing your application.\";\n },\n 20: \"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",\n 21: function (n) {\n return \"produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '\" + n + \"'\";\n },\n 22: function (n) {\n return \"'current' expects a draft, got: \" + n;\n },\n 23: function (n) {\n return \"'original' expects a draft, got: \" + n;\n },\n 24: \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n },\n Z = \"\" + Object.prototype.constructor,\n nn = \"undefined\" != typeof Reflect && Reflect.ownKeys ? Reflect.ownKeys : void 0 !== Object.getOwnPropertySymbols ? function (n) {\n return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n));\n } : Object.getOwnPropertyNames,\n tn = Object.getOwnPropertyDescriptors || function (n) {\n var t = {};\n return nn(n).forEach(function (r) {\n t[r] = Object.getOwnPropertyDescriptor(n, r);\n }), t;\n },\n rn = {},\n en = {\n get: function (n, t) {\n if (t === Q) return n;\n var e = p(n);\n if (!u(e, t)) return function (n, t, r) {\n var e,\n i = I(t, r);\n return i ? \"value\" in i ? i.value : null === (e = i.get) || void 0 === e ? void 0 : e.call(n.k) : void 0;\n }(n, e, t);\n var i = e[t];\n return n.I || !r(i) ? i : i === z(n.t, t) ? (E(n), n.o[t] = R(n.A.h, i, n)) : i;\n },\n has: function (n, t) {\n return t in p(n);\n },\n ownKeys: function (n) {\n return Reflect.ownKeys(p(n));\n },\n set: function (n, t, r) {\n var e = I(p(n), t);\n if (null == e ? void 0 : e.set) return e.set.call(n.k, r), !0;\n if (!n.P) {\n var i = z(p(n), t),\n o = null == i ? void 0 : i[Q];\n if (o && o.t === r) return n.o[t] = r, n.D[t] = !1, !0;\n if (c(r, i) && (void 0 !== r || u(n.t, t))) return !0;\n E(n), k(n);\n }\n return n.o[t] === r && \"number\" != typeof r && (void 0 !== r || t in n.o) || (n.o[t] = r, n.D[t] = !0, !0);\n },\n deleteProperty: function (n, t) {\n return void 0 !== z(n.t, t) || t in n.t ? (n.D[t] = !1, E(n), k(n)) : delete n.D[t], n.o && delete n.o[t], !0;\n },\n getOwnPropertyDescriptor: function (n, t) {\n var r = p(n),\n e = Reflect.getOwnPropertyDescriptor(r, t);\n return e ? {\n writable: !0,\n configurable: 1 !== n.i || \"length\" !== t,\n enumerable: e.enumerable,\n value: r[t]\n } : e;\n },\n defineProperty: function () {\n n(11);\n },\n getPrototypeOf: function (n) {\n return Object.getPrototypeOf(n.t);\n },\n setPrototypeOf: function () {\n n(12);\n }\n },\n on = {};\ni(en, function (n, t) {\n on[n] = function () {\n return arguments[0] = arguments[0][0], t.apply(this, arguments);\n };\n}), on.deleteProperty = function (t, r) {\n return \"production\" !== process.env.NODE_ENV && isNaN(parseInt(r)) && n(13), en.deleteProperty.call(this, t[0], r);\n}, on.set = function (t, r, e) {\n return \"production\" !== process.env.NODE_ENV && \"length\" !== r && isNaN(parseInt(r)) && n(14), en.set.call(this, t[0], r, e, t[0]);\n};\nvar un = function () {\n function e(t) {\n var e = this;\n this.g = B, this.F = !0, this.produce = function (t, i, o) {\n if (\"function\" == typeof t && \"function\" != typeof i) {\n var u = i;\n i = t;\n var a = e;\n return function (n) {\n var t = this;\n void 0 === n && (n = u);\n for (var r = arguments.length, e = Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++) e[o - 1] = arguments[o];\n return a.produce(n, function (n) {\n var r;\n return (r = i).call.apply(r, [t, n].concat(e));\n });\n };\n }\n var f;\n if (\"function\" != typeof i && n(6), void 0 !== o && \"function\" != typeof o && n(7), r(t)) {\n var c = w(e),\n s = R(e, t, void 0),\n v = !0;\n try {\n f = i(s), v = !1;\n } finally {\n v ? O(c) : g(c);\n }\n return \"undefined\" != typeof Promise && f instanceof Promise ? f.then(function (n) {\n return j(c, o), P(n, c);\n }, function (n) {\n throw O(c), n;\n }) : (j(c, o), P(f, c));\n }\n if (!t || \"object\" != typeof t) {\n if ((f = i(t)) === H) return;\n return void 0 === f && (f = t), e.F && d(f, !0), f;\n }\n n(21, t);\n }, this.produceWithPatches = function (n, t) {\n return \"function\" == typeof n ? function (t) {\n for (var r = arguments.length, i = Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++) i[o - 1] = arguments[o];\n return e.produceWithPatches(t, function (t) {\n return n.apply(void 0, [t].concat(i));\n });\n } : [e.produce(n, t, function (n, t) {\n r = n, i = t;\n }), r, i];\n var r, i;\n }, \"boolean\" == typeof (null == t ? void 0 : t.useProxies) && this.setUseProxies(t.useProxies), \"boolean\" == typeof (null == t ? void 0 : t.autoFreeze) && this.setAutoFreeze(t.autoFreeze);\n }\n var i = e.prototype;\n return i.createDraft = function (e) {\n r(e) || n(8), t(e) && (e = D(e));\n var i = w(this),\n o = R(this, e, void 0);\n return o[Q].C = !0, g(i), o;\n }, i.finishDraft = function (t, r) {\n var e = t && t[Q];\n \"production\" !== process.env.NODE_ENV && (e && e.C || n(9), e.I && n(10));\n var i = e.A;\n return j(i, r), P(void 0, i);\n }, i.setAutoFreeze = function (n) {\n this.F = n;\n }, i.setUseProxies = function (t) {\n t && !B && n(20), this.g = t;\n }, i.applyPatches = function (n, r) {\n var e;\n for (e = r.length - 1; e >= 0; e--) {\n var i = r[e];\n if (0 === i.path.length && \"replace\" === i.op) {\n n = i.value;\n break;\n }\n }\n var o = b(\"Patches\").$;\n return t(n) ? o(n, r) : this.produce(n, function (n) {\n return o(n, r.slice(e + 1));\n });\n }, e;\n }(),\n an = new un(),\n fn = an.produce,\n cn = an.produceWithPatches.bind(an),\n sn = an.setAutoFreeze.bind(an),\n vn = an.setUseProxies.bind(an),\n pn = an.applyPatches.bind(an),\n ln = an.createDraft.bind(an),\n dn = an.finishDraft.bind(an);\nexport default fn;\nexport { un as Immer, pn as applyPatches, K as castDraft, $ as castImmutable, ln as createDraft, D as current, J as enableAllPlugins, N as enableES5, C as enableMapSet, T as enablePatches, dn as finishDraft, d as freeze, L as immerable, t as isDraft, r as isDraftable, H as nothing, e as original, fn as produce, cn as produceWithPatches, sn as setAutoFreeze, vn as setUseProxies };","function defaultEqualityCheck(a, b) {\n return a === b;\n}\nfunction areArgumentsShallowlyEqual(equalityCheck, prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n var length = prev.length;\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n return true;\n}\nexport function defaultMemoize(func) {\n var equalityCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultEqualityCheck;\n var lastArgs = null;\n var lastResult = null;\n // we reference arguments instead of spreading them for performance reasons\n return function () {\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n lastResult = func.apply(null, arguments);\n }\n lastArgs = arguments;\n return lastResult;\n };\n}\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep;\n }).join(', ');\n throw new Error('Selector creators expect all input-selectors to be functions, ' + ('instead received the following types: [' + dependencyTypes + ']'));\n }\n return dependencies;\n}\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptions[_key - 1] = arguments[_key];\n }\n return function () {\n for (var _len2 = arguments.length, funcs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n var recomputations = 0;\n var resultFunc = funcs.pop();\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(undefined, [function () {\n recomputations++;\n // apply arguments instead of spreading for performance.\n return resultFunc.apply(null, arguments);\n }].concat(memoizeOptions));\n\n // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n var selector = memoize(function () {\n var params = [];\n var length = dependencies.length;\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n params.push(dependencies[i].apply(null, arguments));\n }\n\n // apply arguments instead of spreading for performance.\n return memoizedResultFunc.apply(null, params);\n });\n selector.resultFunc = resultFunc;\n selector.dependencies = dependencies;\n selector.recomputations = function () {\n return recomputations;\n };\n selector.resetRecomputations = function () {\n return recomputations = 0;\n };\n return selector;\n };\n}\nexport var createSelector = createSelectorCreator(defaultMemoize);\nexport function createStructuredSelector(selectors) {\n var selectorCreator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : createSelector;\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + ('where each property is a selector, instead received a ' + typeof selectors));\n }\n var objectKeys = Object.keys(selectors);\n return selectorCreator(objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n}","export const INITIALIZATION_STATUS = {\n UNKNOWN: 'UNKNOWN',\n SUCCEEDED: 'SUCCEEDED',\n FAILED: 'FAILED',\n};\n","import produce from 'immer';\nimport { createSelector } from 'reselect';\nimport { getSelector, namespaceReducerActions } from 'retrack';\n\nimport { INITIALIZATION_STATUS } from '../constants';\n\nexport const DUCK_NAME = 'i18n';\n\nconst initialState = {\n initializationStatus: INITIALIZATION_STATUS.UNKNOWN,\n language: '',\n namespace: '',\n};\n\nexport const duckActions = {\n INITIALIZE: 'INITIALIZE',\n SET_INITIALIZATION_STATUS: 'SET_INITIALIZATION_STATUS',\n ASK_SPACE_FOR_LANGUAGE_NAMESPACE: 'ASK_SPACE_FOR_LANGUAGE_NAMESPACE',\n ASK_SPACE_FOR_LANGUAGE_NAMESPACE_SUCCEEDED: 'ASK_SPACE_FOR_LANGUAGE_NAMESPACE_SUCCEEDED',\n SET_LANGUAGE: 'SET_LANGUAGE',\n SET_NAMESPACE: 'SET_NAMESPACE',\n CHANGE_LANGUAGE: 'CHANGE_LANGUAGE',\n CHANGE_NAMESPACE: 'CHANGE_NAMESPACE',\n};\n\nconst reducer = produce((draft, action) => {\n switch (action.type) {\n case duckActions.SET_INITIALIZATION_STATUS:\n draft.initializationStatus = action.payload.status;\n break;\n case duckActions.SET_LANGUAGE:\n draft.language = action.payload.language;\n break;\n case duckActions.SET_NAMESPACE:\n draft.namespace = action.payload.namespace;\n break;\n // no default\n }\n}, initialState);\nnamespaceReducerActions(reducer, duckActions);\n\nexport default reducer;\n\nexport const duckActionCreators = {\n initialize: function initialize(userLanguage) {\n return { type: duckActions.INITIALIZE, payload: { userLanguage } };\n },\n initializationSucceeded: function initializationSucceeded() {\n return {\n type: duckActions.SET_INITIALIZATION_STATUS,\n payload: { status: INITIALIZATION_STATUS.SUCCEEDED },\n };\n },\n initializationFailed: function initializationFailed() {\n return {\n type: duckActions.SET_INITIALIZATION_STATUS,\n payload: { status: INITIALIZATION_STATUS.FAILED },\n };\n },\n askSpaceForLanguageNamespace: function askSpaceForLanguageNamespace() {\n return {\n type: duckActions.ASK_SPACE_FOR_LANGUAGE_NAMESPACE,\n };\n },\n askSpaceForLanguageNamespaceSucceeded: function askSpaceForLanguageNamespace(namespace) {\n return {\n type: duckActions.ASK_SPACE_FOR_LANGUAGE_NAMESPACE_SUCCEEDED,\n payload: {\n namespace,\n },\n };\n },\n setLanguage: function setLanguage(language) {\n return {\n type: duckActions.SET_LANGUAGE,\n payload: {\n language,\n },\n };\n },\n setNamespace: function setNamespace(namespace) {\n return {\n type: duckActions.SET_NAMESPACE,\n payload: {\n namespace,\n },\n };\n },\n changeLanguage: function changeLanguage(languageCode) {\n return {\n type: duckActions.CHANGE_LANGUAGE,\n payload: {\n languageCode,\n },\n };\n },\n changeNamespace: function changeNamespace(namespace) {\n return {\n type: duckActions.CHANGE_NAMESPACE,\n payload: {\n namespace,\n },\n };\n },\n};\n\nconst i18nSelector = getSelector(reducer);\n\nconst languageSelector = createSelector(i18nSelector, (i18nState) => i18nState.language);\n\nconst namespaceSelector = createSelector(i18nSelector, (i18nState) => i18nState.namespace);\n\nexport const duckSelectors = {\n i18nSelector,\n languageSelector,\n namespaceSelector,\n};\n","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n this.usedNamespaces = {};\n }\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import { errorHandle } from '@edf-pkg/app-error';\nimport appUtils from '@edf-pkg/app-utils';\n\nconst placeholdersRegex = /%([0-9]+)\\$([d|s])/gi;\n\nclass AndroidFormat {\n constructor(options) {\n this.type = 'i18nFormat';\n this.init(null, options);\n }\n\n init(i18next, options) {\n const i18nextOptions = (i18next && i18next.options && i18next.options.i18nFormat) || {};\n this.options = appUtils.object.mergeDeep(i18nextOptions, options, this.options || {}, {});\n\n if (i18next) {\n // eslint-disable-next-line no-param-reassign\n i18next.AndroidFormat = AndroidFormat;\n }\n }\n\n // noinspection JSMethodCanBeStatic\n parse(text, options) {\n const placeholders = text.match(placeholdersRegex);\n let parsedText = text;\n if (placeholders && placeholders.length > 0) {\n for (const placeholder of placeholders) {\n placeholdersRegex.lastIndex = 0;\n const placeholderData = placeholdersRegex.exec(placeholder);\n const placeholderPosition = placeholderData[1];\n /*\n Currently we have $s (string) and $d (double) for format of placeholders, but we treat both of them the same;\n as strings. Also, there is no guarantee that the components of app, didn't passed a string instead of double\n for $d format, and treating them as double (applying parseFloat on them before replace) will break the app.\n */\n // const placeholderFormat = placeholderData[2];\n if (appUtils.object.hasKey(options, placeholderPosition - 1)) {\n try {\n // Here we should check placeholderFormat and based on that we can treat different formats.\n const placeholderValue = options[placeholderPosition - 1].toString();\n parsedText = parsedText.replace(placeholder, placeholderValue);\n } catch (error) {\n errorHandle.anError(error);\n parsedText = parsedText.replace(placeholder, '');\n }\n }\n }\n }\n\n return parsedText;\n }\n\n // noinspection JSMethodCanBeStatic\n addLookupKeys(finalKeys) {\n return finalKeys;\n }\n}\n\nAndroidFormat.type = 'i18nFormat';\n\nexport default AndroidFormat;\n","import i18next from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport { delay } from 'redux-saga';\nimport { call, put, race, select, take, takeEvery } from 'redux-saga/effects';\n\nimport { core as appDateTimeCore } from '@edf-pkg/app-date-time';\nimport { errorHandle, FatalError } from '@edf-pkg/app-error';\nimport appUtils from '@edf-pkg/app-utils';\n\nimport AndroidFormat from '../core/android.i18nformat';\nimport languages from '../languages';\nimport {\n duckActionCreators as i18nActionCreators,\n duckActions as i18nActions,\n duckSelectors as i18nSelectors,\n} from './i18n.duck';\n\nexport const SAGA_NAME = 'I18N';\n\nfunction* setI18nextLanguage() {\n const languageCode = yield select((state) => i18nSelectors.languageSelector(state));\n const namespace = yield select((state) => i18nSelectors.namespaceSelector(state));\n if (!i18next.hasResourceBundle(languageCode, namespace)) {\n const namespaceTranslations = yield languages.get(languageCode).getNamespaceTranslations(namespace);\n i18next.addResources(languageCode, namespace, namespaceTranslations);\n }\n i18next.setDefaultNamespace(namespace);\n yield call(appDateTimeCore.changeLocale, languageCode);\n yield i18next.changeLanguage(languageCode);\n}\n\nfunction* checkAndSetLanguage(language) {\n const namespace = yield select(i18nSelectors.namespaceSelector);\n\n let finalLanguage = language;\n if (languages.languageExist(language)) {\n const normalizedFinalLanguage = languages.normalizeSupportedLanguage(language);\n if (normalizedFinalLanguage === null) {\n finalLanguage = 'en-US';\n } else if (namespace !== 'public' && !languages.get(normalizedFinalLanguage).namespaceHasTranslations(namespace)) {\n /*\n Currently we don't have translations in public namespace and if we don't protect the check from public space\n the urls app/public/activity/ACTIVITY_TYPE/SESSION_UUID?lang=languageCode will not work. This is a fix for it.\n */\n finalLanguage = 'en-US';\n }\n } else {\n finalLanguage = 'en-US';\n }\n\n yield put(i18nActionCreators.setLanguage(languages.normalizeSupportedLanguage(finalLanguage)));\n yield call(setI18nextLanguage);\n}\n\nfunction* changeNamespace(action) {\n const { namespace } = action.payload;\n const languageCode = yield select((state) => i18nSelectors.languageSelector(state));\n if (i18next.options.ns.indexOf(namespace) >= 0) {\n yield put(i18nActionCreators.setNamespace(namespace));\n yield call(checkAndSetLanguage, languageCode);\n } else {\n throw new FatalError(`Given namespace not exist. Namespace: ${namespace}`);\n }\n}\n\nfunction* changeLanguage(action) {\n const { languageCode } = action.payload;\n yield call(checkAndSetLanguage, languageCode);\n}\n\nfunction* initializeI18next() {\n yield i18next\n .use(AndroidFormat)\n .use(initReactI18next)\n .init({\n debug: appUtils.env.isDev(),\n fallbackLng: 'en-US',\n whitelist: [\n 'en-US',\n 'de-DE',\n 'fa-IR',\n 'fr-CA',\n 'it-IT',\n 'nl-NL',\n 'ur-PK',\n 'es-ES',\n 'es-CO',\n 'es-US',\n 'ca-ES',\n 'sl-SI',\n 'cy-GB',\n 'zu-ZU',\n 'zh-Hans',\n ],\n load: 'currentOnly',\n ns: ['pdash', 'rdash', 'webActivities'],\n keySeparator: false,\n });\n}\n\nfunction* askSpaceForLanguageNamespace(maxRetries = 2, timeoutMs = 4000) {\n let attempts = 0;\n while (attempts < maxRetries) {\n yield put(i18nActionCreators.askSpaceForLanguageNamespace());\n const result = yield race({\n success: take(i18nActions.ASK_SPACE_FOR_LANGUAGE_NAMESPACE_SUCCEEDED),\n timeout: delay(timeoutMs),\n });\n\n if (result.success) {\n const {\n payload: { namespace },\n } = result.success;\n yield put(i18nActionCreators.setNamespace(namespace));\n return;\n }\n\n attempts++;\n if (attempts < maxRetries) {\n yield delay(1000);\n }\n }\n\n throw new FatalError(`Timeout occurred during askSpaceForLanguageNamespace after ${maxRetries} attempts.`);\n}\n\nfunction* initialize(userLanguage) {\n try {\n yield call(initializeI18next);\n yield call(askSpaceForLanguageNamespace);\n yield call(appDateTimeCore.initialize);\n yield call(checkAndSetLanguage, userLanguage);\n yield put(i18nActionCreators.initializationSucceeded());\n } catch (error) {\n errorHandle.anError(error);\n yield put(i18nActionCreators.initializationFailed());\n }\n}\n\nexport default function* i18nSaga() {\n try {\n const {\n payload: { userLanguage },\n } = yield take(i18nActions.INITIALIZE);\n yield call(initialize, userLanguage);\n yield takeEvery(i18nActions.CHANGE_LANGUAGE, changeLanguage);\n yield takeEvery(i18nActions.CHANGE_NAMESPACE, changeNamespace);\n } catch (error) {\n errorHandle.anError(error);\n }\n}\n","import i18next from 'i18next';\n\nimport languages from './languages';\nimport * as store from './store';\n\nfunction t(key, variables) {\n return i18next.t(key, variables);\n}\n\nfunction keyExists(key) {\n return i18next.exists(key);\n}\n\nexport { languages, store, t, keyExists };\n","import camelcaseKeys from 'camelcase-keys';\nimport { isObject } from 'lodash-es';\nimport { ValidationError as ValidationErrorYup } from 'yup';\n\nimport {\n APIError,\n APIMappedError,\n APIUnauthorizedError,\n ConnectionError,\n UnknownError,\n ValidationError,\n} from '@edf-pkg/app-error';\nimport { t } from '@edf-pkg/app-i18n';\n\nexport default function errorMapper(error, customErrorsOrMapper) {\n if (error instanceof ValidationErrorYup) {\n throw new ValidationError(error.message, error);\n }\n\n if (error.response) {\n // eslint-disable-next-line no-param-reassign\n error.response.data = camelcaseKeys(error.response.data, { deep: true });\n\n if (customErrorsOrMapper && typeof customErrorsOrMapper === 'function') {\n customErrorsOrMapper(t, error);\n } else if (customErrorsOrMapper && isObject(customErrorsOrMapper) && error.response.data.error) {\n if (customErrorsOrMapper[error.response.data.errorCode]) {\n throw new APIMappedError(\n customErrorsOrMapper[error.response.data.errorCode](t, error.response.data),\n error.response.data.errorCode,\n error.response.status,\n error.response.data.errorName,\n error.response.statusText,\n error.response,\n error\n );\n }\n }\n switch (error.response.status) {\n case 400:\n case 409:\n if (error.response.data.error) {\n throw new APIError(\n error.response.data.errorMessage,\n error.response.data.errorCode,\n error.response.status,\n 400,\n error.response.statusText,\n error.response,\n error\n );\n }\n throw new APIError(\n 'Bad request.',\n error.response.data.errorCode,\n error.response.status,\n 400,\n error.response.statusText,\n error.response,\n error\n );\n case 401: {\n throw new APIUnauthorizedError(\n error.response.data.errorMessage,\n error.response.data.errorCode,\n 401,\n error.response.data.errorName,\n error.response.statusText,\n error.response,\n error\n );\n }\n case 404:\n throw new APIError(\n 'Not found.',\n 'notFound',\n error.response.status,\n 404,\n error.response.statusText,\n error.response,\n error\n );\n case 500:\n case 502:\n throw new APIError(\n 'Internal Server Error.',\n 'internalServerError',\n error.response.status,\n error.response.data,\n error.response.statusText,\n error.response,\n error\n );\n default:\n throw new APIError(\n 'Unmapped API Error.',\n 'unmappedAPIError',\n error.response.status,\n '',\n error.response.statusText,\n error.response,\n error\n );\n }\n } else if (error.request) {\n throw new ConnectionError(t('error_no_internet'), error);\n } else {\n throw new UnknownError(t('generic_error_msg'), error);\n }\n}\n","import { store as appMainStore, utils as appMainUtils } from '@edf-pkg/app-main';\nimport { getStore } from '@edf-pkg/app-store';\nimport appUtils from '@edf-pkg/app-utils';\n\nimport { auth as appClientAuth, utils as appClientUtils } from '../';\nimport axiosClientsManager from './axios-clients-manager';\n\n// TODO: We should replace it with the below file: ** import { URLsManager } from '$app-web/utils' **\nfunction getInitialBaseUrl() {\n if (appUtils.env.isDev()) {\n return process.env.REACT_APP_SERVER_BASE_URL || '';\n }\n if (appUtils.env.shouldLoadBaseUrlFromLocalStorage() && localStorage.getItem('baseURL')) {\n return localStorage.getItem('baseURL') || '';\n }\n if (typeof window !== 'undefined' && window.location) {\n const parsedURL = new URL(window.location.href);\n return parsedURL.origin;\n }\n return process.env.REACT_APP_SERVER_BASE_URL || '';\n}\n\nconst baseUrl = getInitialBaseUrl();\n\nconst defaultAxiosClients = {\n api: { baseURL: `${baseUrl}/api` },\n media: { baseURL: `${baseUrl}/media` },\n gql: { baseURL: `${baseUrl}/graphql` },\n file: { baseURL: process.env.REACT_APP_FILE_SERVER_BASE_URL },\n};\n\nObject.keys(defaultAxiosClients).forEach((axiosClientId) => {\n const axiosInstance = axiosClientsManager.createClient(axiosClientId, defaultAxiosClients[axiosClientId]);\n\n axiosInstance.interceptors.request.use(\n (config) => {\n const requestConfig = { ...config };\n const { accessToken } = appClientAuth.useAuthenticationStore.getState();\n\n if (\n !Object.keys(requestConfig.headers)\n .map((key) => key.toLowerCase())\n .includes('authorization') &&\n !appUtils.object.hasKey(requestConfig, 'auth') &&\n accessToken\n ) {\n requestConfig.headers.authorization = `Bearer ${accessToken}`;\n }\n\n // TODO: For some reason `accessToken` coming via the zustand store is null in web activities on MO (only when viewed on MO). The below line is a workaround, We need to investigate this issue.\n if (\n !Object.keys(requestConfig.headers)\n .map((key) => key.toLowerCase())\n .includes('authorization')\n ) {\n const userAuthData = appMainUtils.user.getAuthData();\n\n if (userAuthData.apiKey === 'anonymous') {\n requestConfig.headers.authorization = `Bearer anonymous`;\n } else {\n requestConfig.headers.authorization = `ApiKey USER:${userAuthData.apiKey}`;\n }\n }\n\n if (typeof window !== 'undefined' && window.location) {\n requestConfig.headers['x-ethica-path'] = window.location.pathname;\n }\n\n return requestConfig;\n },\n (error) => Promise.reject(error)\n );\n\n let isRefreshingToken = false;\n let requestsQueue = [];\n function processQueue(token = null, error = null) {\n requestsQueue.forEach((prom) => {\n if (error) {\n prom.reject(error);\n } else if (token) {\n prom.resolve(token);\n }\n });\n requestsQueue = [];\n }\n\n axiosInstance.interceptors.response.use(\n (response) => response,\n async (error) => {\n const store = getStore();\n const { refreshToken } = appClientAuth.useAuthenticationStore.getState();\n const previousConfig = error?.config;\n // TODO: There is an internal issue with headers in the current installed axios version which the below is a workaround to fix that. Remove it later when updated Axios to latest version.\n previousConfig.headers = JSON.parse(JSON.stringify(previousConfig.headers || {}));\n\n if (refreshToken) {\n if (error?.response?.status === 401 && !appClientUtils.auth.isPublicEndpoint(previousConfig.url)) {\n if (!isRefreshingToken) {\n isRefreshingToken = true;\n\n try {\n const responseData = await appClientAuth.fetchAuthenticationTokens({ refreshToken });\n\n appClientAuth.useAuthenticationStore.getState().updateState({\n accessToken: responseData.accessToken,\n refreshToken: responseData.refreshToken,\n expiresIn: responseData.expiresIn,\n isAccountDeletionRevoked: responseData.revokedDeletion,\n });\n\n store.dispatch(\n appMainStore.userDuck.duckActionCreators.setUserDataExternal({\n userData: { apiKey: responseData.accessToken },\n actionSource: '',\n shouldPersistUserData: true,\n shouldLoadFromAPI: false,\n shouldSetInitializationStatus: false,\n })\n );\n\n processQueue(responseData.accessToken);\n isRefreshingToken = false;\n\n const retryConfig = {\n ...previousConfig,\n headers: {\n ...previousConfig.headers,\n authorization: `Bearer ${responseData.accessToken}`,\n },\n };\n\n return axiosInstance(retryConfig);\n } catch (refreshError) {\n // Logout user if refresh token is invalid\n if (refreshError.status === 401) {\n appClientAuth.useAuthenticationStore.getState().resetState();\n return store.dispatch(appMainStore.userDuck.duckActionCreators.logout());\n }\n\n processQueue(null, refreshError);\n isRefreshingToken = false;\n return Promise.reject(refreshError);\n }\n } else {\n return new Promise((resolve, reject) => {\n requestsQueue.push({\n resolve: (token) => {\n const retryConfig = {\n ...previousConfig,\n headers: {\n ...previousConfig.headers,\n authorization: `Bearer ${token}`,\n },\n };\n\n resolve(axiosInstance(retryConfig));\n },\n reject,\n });\n });\n }\n }\n }\n\n return Promise.reject(error);\n }\n );\n});\n","import camelcaseKeys from 'camelcase-keys';\nimport snakeCaseKeys from 'snakecase-keys';\n\nimport { core as appClientCore, utils as appClientUtils } from '../../';\nimport { AUTHENTICATION_CLIENT_IDS, AUTHENTICATION_GRANT_TYPES, AUTHENTICATION_SCOPES } from '../../constants';\n\nexport interface ReturnValue {\n accessToken: string;\n refreshToken: string;\n expiresIn: number;\n revokedDeletion?: boolean;\n}\n\nexport interface Parameters {\n username?: string;\n password?: string;\n refreshToken?: string | null;\n}\n\nexport async function fetchAuthenticationTokens({ username, password, refreshToken }: Parameters) {\n try {\n const normalizedPayload = snakeCaseKeys({\n clientId: AUTHENTICATION_CLIENT_IDS.WEB,\n scope: AUTHENTICATION_SCOPES.ALL,\n ...(username && { username, password, grantType: AUTHENTICATION_GRANT_TYPES.PASSWORD }),\n ...(refreshToken && { refreshToken, grantType: AUTHENTICATION_GRANT_TYPES.REFRESH_TOKEN }),\n });\n\n const response = await appClientCore.axiosClientsManager\n .getClient('api')\n .post('/v1/auth/token/', appClientUtils.object.toFormData(normalizedPayload));\n\n const normalizedData = camelcaseKeys(response.data);\n\n return normalizedData as unknown as ReturnValue;\n } catch (error) {\n appClientCore.errorMapper(error as Error);\n throw new Error('Failed to fetch authentication tokens');\n }\n}\n","import appDateTime from '@edf-pkg/app-date-time';\nimport * as appMain from '@edf-pkg/app-main';\n\nimport { useAuthenticationStore } from '../auth';\nimport {\n ACCOUNT_LOCKED_TIME_IN_MINUTES,\n AUTHENTICATION_ENDPOINT,\n CHECK_MFA_ENDPOINT,\n EDEN_CONFIRMATION_ENDPOINT,\n FORGET_PASSWORD_ENDPOINT,\n RESET_PASSWORD_ENDPOINT,\n UPDATE_USER_EMAIL_ENDPOINT,\n UPDATE_USER_PHONE_NUMBER_ENDPOINT,\n} from '../constants';\n\nexport const isUserAuthenticated = (): boolean => {\n const userData = appMain.utils.user.getAuthData();\n const authData = useAuthenticationStore.getState();\n\n return Boolean(userData.username && userData.username !== 'anonymous' && userData.role && authData?.accessToken);\n};\n\nexport const isAutoLogoutOccurred = (): boolean => {\n const autoLogoutFlag = localStorage.getItem(process.env.REACT_APP_AUTO_LOGOUT_FLAG_STORAGE_KEY || '');\n if (autoLogoutFlag != null) {\n return JSON.parse(autoLogoutFlag);\n }\n return false;\n};\n\nexport const setAutoLogoutLocalStorageFlag = (isTrue: boolean): void => {\n if (isTrue) {\n localStorage.setItem(process.env.REACT_APP_AUTO_LOGOUT_FLAG_STORAGE_KEY || '', JSON.stringify(isTrue));\n } else {\n localStorage.removeItem(process.env.REACT_APP_AUTO_LOGOUT_FLAG_STORAGE_KEY || '');\n }\n};\n\nexport const getAccountLockedDataFromLocalStorage = (): number | null => {\n const timestamp = localStorage.getItem(process.env.REACT_APP_ACCOUNT_LOCKED_STORAGE_KEY || '');\n return timestamp ? parseInt(timestamp, 10) : null;\n};\n\nexport const setAccountLockedDataInLocalStorage = (timestampMs: number): void => {\n if (timestampMs) {\n localStorage.setItem(process.env.REACT_APP_ACCOUNT_LOCKED_STORAGE_KEY || '', timestampMs.toString());\n }\n};\n\nexport const removeAccountLockedDataInLocalStorage = (): void => {\n localStorage.removeItem(process.env.REACT_APP_ACCOUNT_LOCKED_STORAGE_KEY || '');\n};\n\nexport const calculateAccountLockedTimeLeftFromLocalStorage = (): number => {\n const accountLockedTimestamp = getAccountLockedDataFromLocalStorage();\n const nowDateTimeMS = appDateTime().toMillis();\n let minutesLeft = 0;\n\n if (accountLockedTimestamp) {\n const diffInMS = nowDateTimeMS - accountLockedTimestamp;\n const diffInMinutes = Math.floor(diffInMS / 60000);\n minutesLeft = ACCOUNT_LOCKED_TIME_IN_MINUTES - diffInMinutes;\n } else {\n setAccountLockedDataInLocalStorage(nowDateTimeMS);\n minutesLeft = ACCOUNT_LOCKED_TIME_IN_MINUTES;\n }\n\n return Math.max(minutesLeft, 0);\n};\n\nexport const isPublicEndpoint = (endpoint: string | undefined): boolean => {\n if (endpoint) {\n const endpointWithTrimmedSlashes = endpoint.replace(/^\\/|\\/$/g, '');\n\n const publicEndpoints = [\n AUTHENTICATION_ENDPOINT,\n FORGET_PASSWORD_ENDPOINT,\n RESET_PASSWORD_ENDPOINT,\n CHECK_MFA_ENDPOINT,\n EDEN_CONFIRMATION_ENDPOINT,\n UPDATE_USER_EMAIL_ENDPOINT,\n UPDATE_USER_PHONE_NUMBER_ENDPOINT,\n ];\n\n return publicEndpoints.includes(endpointWithTrimmedSlashes);\n }\n return false;\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\nexport default baseHas;","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n}\nexport default isKey;","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\nexport default castPath;","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n var index = -1,\n length = path.length,\n result = false;\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));\n}\nexport default hasPath;","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\nexport default has;","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\nfunction cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n}\nexport default cloneDeepWith;","import { cloneDeepWith, has } from 'lodash-es';\n\nfunction getNodeIdFromBase64Id(base64String, typeName) {\n return atob(base64String).replace(`${typeName}:`, '');\n}\n\nfunction getBase64IdFromNodeId(nodeId, typeName) {\n return btoa(`${typeName}:${nodeId}`);\n}\n\nfunction normalize(raw) {\n return cloneDeepWith(raw, (deepData) => {\n // parse .edges\n if (has(deepData, 'edges')) {\n const { edges, __typename, ...restData } = deepData;\n if (Object.keys(restData).length > 0) {\n return {\n data: normalize(deepData.edges),\n ...restData,\n };\n }\n return normalize(deepData.edges);\n }\n\n // parse .node\n if (has(deepData, 'node')) {\n return normalize(deepData.node);\n }\n\n // parse .__typename\n if (has(deepData, '__typename') && !has(deepData, 'gqlData')) {\n const { id, __typename, ...restData } = deepData;\n return normalize({\n id: id && getNodeIdFromBase64Id(id, __typename),\n gqlData: {\n id,\n typeName: __typename,\n },\n ...restData,\n });\n }\n\n // continue deep clone\n return undefined;\n });\n}\n\nconst gqlUtils = {\n node: {\n getNodeIdFromBase64Id,\n getBase64IdFromNodeId,\n },\n response: {\n normalize,\n },\n};\n\nexport default gqlUtils;\n","function normalizeArray(array) {\n // will remove first `[` and last `]` and keep number and string array elements\n // for string elements, it'll remove quotations around them\n // BE interprets commas as separators, and there's no case in which strings in array inputs would have commas since arrays of strings are only used to pass a subset of enums (nothing to worry about)\n return array\n .map((item) => {\n const stringifiedItem = JSON.stringify(item);\n if (typeof item === 'string') {\n return stringifiedItem.slice(1, stringifiedItem.length - 1);\n }\n return stringifiedItem;\n })\n .join();\n}\n\nfunction toFormData(data, customFilesName = {}) {\n const customFormDataFilesName = typeof customFilesName === 'object' ? customFilesName : {};\n const formData = new FormData();\n Object.keys(data).forEach((id) => {\n if (typeof data[id] === 'undefined') {\n // skip undefined values\n return;\n }\n if (typeof data[id] === 'object') {\n if (Array.isArray(data[id])) {\n formData.append(id, normalizeArray(data[id]));\n } else if (data[id] instanceof File) {\n formData.append(id, data[id], customFormDataFilesName[id] || data[id].name);\n } else {\n formData.append(id, JSON.stringify(data[id]));\n }\n } else {\n formData.append(id, data[id]);\n }\n });\n return formData;\n}\n\nconst objectUtils = {\n toFormData,\n};\n\nexport default objectUtils;\n","import * as auth from './auth.utils';\nimport gql from './gql.utils';\nimport object from './object.utils';\n\nconst utils = { object, gql, auth };\n\nexport default utils;\n","import { array, bool, number, object, string } from 'yup';\n\nimport { core as appClientCore } from '@edf-pkg/app-client';\nimport { languages } from '@edf-pkg/app-i18n';\n\nconst responseSchema = array().of(\n object().shape({\n id: number(),\n label: string().required(),\n description: string(),\n icon: string().required(),\n is_cloud: bool().required(),\n name: string().required(),\n data_sources: array().of(\n object().shape({\n id: number().required(),\n label: string().required(),\n description: string(),\n icon: string().required(),\n has_visualization: bool().required(),\n has_dashboard_template: bool().required(),\n name: string().required(),\n export_formats: array().of(string()).required(),\n unit: string(),\n subsystem: string().required(),\n })\n ),\n })\n);\n\nexport default async function readDataSourceOptionsEndpoint() {\n try {\n const response = await appClientCore.axiosClientsManager.getClient('api').get('/v1/data_source/options/');\n const validatedData = await responseSchema.validate(response.data, {\n stripUnknown: true,\n });\n return languages.camelCaseNonTranslationKeys(validatedData);\n } catch (error) {\n appClientCore.errorMapper(error);\n }\n return null;\n}\n","import { array, bool, boolean, mixed, number, object, string } from 'yup';\n\nimport { core as appClientCore } from '@edf-pkg/app-client';\nimport { languages } from '@edf-pkg/app-i18n';\n\nconst responseSchema = object().shape({\n device: object().shape({\n app_updated_at: number().nullable(),\n bt_mac: string().nullable(),\n cur_app_version: number().nullable(),\n cur_os_version: string().nullable(),\n date_created: number().nullable(),\n device_id: string().nullable(),\n last_app_version: number().nullable(),\n last_os_version: string().nullable(),\n last_used: number().nullable(),\n manufacturer: string().nullable(),\n model: string().nullable(),\n os_updated_at: number().nullable(),\n owner: number().nullable(),\n wifi_mac: string().nullable(),\n }),\n user: object().shape({\n username: string().required(),\n role_id: number().required(),\n id: number().required(),\n avatar: string().ensure(),\n first_name: string().ensure(),\n last_name: string().ensure(),\n language: string().ensure(),\n org_name: string().ensure(),\n is_email_verified: bool().default(false),\n is_phone_verified: bool().default(false),\n mfa_enabled: bool().default(false),\n phone: string().ensure(),\n matrix_password: string().ensure(),\n subscription_configs: mixed().required(),\n preferred_notification_medium_ids: array().of(number()).required(),\n has_auto_logout: boolean().required().default(false),\n has_password_expiry: boolean().required().default(false),\n // TODO: Below fields are deprecate. Remove them after adjusting the UI in PDash.\n gender_id: number().required(),\n age_id: number().required(),\n education_id: number().required(),\n marital_status_id: number().required(),\n occupation_id: number().required(),\n salary_id: number().required(),\n }),\n});\n\nexport default async function userReadEndpoint(accessToken) {\n try {\n const { data } = await appClientCore.axiosClientsManager.getClient('api').get('/v1/user/', {\n headers: { authorization: `Bearer ${accessToken}` },\n });\n\n const validatedData = await responseSchema.validate(data);\n\n const userData = validatedData.user;\n const deviceInfo = validatedData.device;\n\n let normalizedUserData = languages.camelCaseNonTranslationKeys(userData);\n\n normalizedUserData = {\n ...normalizedUserData,\n // FIXME: We have a util for this in app-web directory called 'getRoleById'. Make sure to replace this below line when we've moved this file into app-web dir.\n role: normalizedUserData.roleId === 1 ? 'researcher' : 'participant',\n apiKey: accessToken,\n deviceId: deviceInfo.device_id,\n };\n\n return normalizedUserData;\n } catch (error) {\n appClientCore.errorMapper(error);\n }\n return null;\n}\n","import readDataSourceOptions from './data-source-options.endpoint.api';\nimport userLogout from './user-logout.endpoint.api';\nimport userRead from './user-read.endpoint.api';\n\nconst client = {\n api: {\n userLogout,\n userRead,\n readDataSourceOptions,\n },\n};\n\nexport default client;\n","import { auth as appClientAuth, core as appClientCore, utils as appClientUtils } from '@edf-pkg/app-client';\n\nexport default async function userLogoutEndpoint() {\n try {\n const { refreshToken } = appClientAuth.useAuthenticationStore.getState();\n await appClientCore.axiosClientsManager\n .getClient('api')\n .post('/v1/auth/revoke/', appClientUtils.object.toFormData({ refresh_token: refreshToken }));\n return true;\n } catch (error) {\n appClientCore.errorMapper(error);\n }\n return null;\n}\n","export const INITIALIZATION_STATUS = {\n UNKNOWN: 'UNKNOWN',\n STARTED: 'STARTED',\n SUCCEEDED: 'SUCCEEDED',\n FAILED: 'FAILED',\n};\n\n// TODO: this has been copied from PDash constants\nexport const HTTP_CALL_STATUS = {\n UNKNOWN: 'UNKNOWN',\n LOADING: 'LOADING',\n SUCCEEDED: 'SUCCEEDED',\n FAILED: 'FAILED',\n};\n\nexport const DATE_RANGE_TYPES = {\n MONTH: 'MONTH',\n START_AND_END: 'START_AND_END',\n};\n\nexport const EXPORT_FORMATS = {\n CSV: { id: 0, label: 'CSV' },\n KML: { id: 1, label: 'KML' },\n GPX: { id: 2, label: 'GPX' },\n GEXF: { id: 3, label: 'GEXF' },\n};\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\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\nvar nullListeners = {\n notify: function notify() {}\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 while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\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 if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\nvar Subscription = /*#__PURE__*/function () {\n function Subscription(store, parentSub) {\n this.store = store;\n this.parentSub = parentSub;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n }\n var _proto = Subscription.prototype;\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n _proto.handleChangeWrapper = function handleChangeWrapper() {\n if (this.onStateChange) {\n this.onStateChange();\n }\n };\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n this.listeners = createListenerCollection();\n }\n };\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n return Subscription;\n}();\nexport { Subscription as default };","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 { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = new Subscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\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.trySubscribe();\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\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}\nif (process.env.NODE_ENV !== 'production') {}\nexport default Provider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport Subscription 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];\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\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}\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 var latestStoreState = store.getState();\n var newChildProps, error;\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 if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\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 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 var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\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 return unsubscribeWrapper;\n}\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\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,\n// options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\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, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\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 if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\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: . ' + 'You may also pass a {context : MyContext} option to connect';\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\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 var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\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 var pure = connectOptions.pure;\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 var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\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, [\"reactReduxForwardedRef\"]);\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n reactReduxForwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\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 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 , \") + \"or pass a custom React context provider to 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 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 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 var subscription = new Subscription(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 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 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 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 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 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 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 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 var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\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 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}\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\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 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 function constantSelector() {\n return constant;\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 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 proxy.dependsOnOwnProps = true;\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\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 var _loop = function _loop(key) {\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = function () {\n return dispatch(actionCreator.apply(void 0, arguments));\n };\n }\n };\n for (var key in actionCreators) {\n _loop(key);\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 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 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\";\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 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 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 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 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 function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\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 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, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\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\";\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 return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\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\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 return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\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, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\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 { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n var subscription = useMemo(function () {\n return new Subscription(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 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 throw err;\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();\n var _newSelectedState = latestSelector.current(newStoreState);\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\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 forceRender();\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 ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\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 if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\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
{counter}
\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","export const HTTP_CALL_STATUS = {\n UNKNOWN: 'UNKNOWN',\n LOADING: 'LOADING',\n SUCCEEDED: 'SUCCEEDED',\n FAILED: 'FAILED',\n};\n\nexport const USER_SIGN_ACTION_SOURCES = {\n SIGN_IN: 'sign-in',\n SIGN_UP: 'sign-up',\n RESET_PASSWORD: 'reset-password',\n};\n\nexport const PHR_EVENT_TYPES = {\n USER_SIGN_UP: 1,\n USER_SIGN_IN: 2,\n USER_LOGOUT: 3,\n APPLICATION_OPENED: 100,\n // There is no easy way to send a request to backend after user tries to close the browser window and before actual close.\n // APPLICATION_CLOSED: 101\n // Not available in web\n // TIMEZONE_CHANGED: 108\n ACTIVITY_RESPONSES_UPLOAD_STARTED: 112,\n ACTIVITY_RESPONSES_UPLOAD_FINISHED: 113,\n ACTIVITY_RESPONSES_UPLOAD_FAILED: 114,\n ACTIVITY_OPENED: 200,\n ACTIVITY_CLOSED: 201,\n ACTIVITY_FINISHED: 202,\n AUDIT_TRAIL_PAGE_OPENED: 700,\n ACTIVITIES_PAGE_OPENED: 701,\n DATA_SOURCES_PAGE_OPENED: 702,\n STUDY_BASICS_PAGE_OPENED: 703,\n DATA_SOURCES_BEACONS_PAGE_OPENED: 704,\n NOTIFICATION_TEMPLATES_PAGE_OPENED: 705,\n NOTIFICATIONS_PAGE_OPENED: 706,\n PARTICIPATION_PAGE_OPENED: 707,\n PARTICIPATION_PENDING_INVITATION_PAGE_OPENED: 708,\n ACTIVITY_SESSIONS_PAGE_OPENED: 709,\n SURVEY_RESPONSES_PAGE_OPENED: 710,\n DATA_EXPORT_PAGE_OPENED: 711,\n RESEARCHERS_PAGE_OPENED: 718,\n EDEN_INTRODUCTION_PAGE_OPENED: 712,\n EDEN_DATA_CONFIRMATION_PAGE_OPENED: 713,\n EDEN_CONSENT_PAGE_OPENED: 714,\n EDEN_PARENTS_OF_MINOR_CONSENT_PAGE_OPENED: 715,\n EDEN_PARTICIPANT_CONSENTED: 716,\n EDEN_PARTICIPANT_DATA_CONFIRMED: 717,\n};\n","import produce from 'immer';\nimport { getSelector, namespaceReducerActions } from 'retrack';\n\nimport { HTTP_CALL_STATUS, PHR_EVENT_TYPES } from '../constants';\n\nexport const DUCK_NAME = 'phr';\n\nconst initialState = {\n sendStatus: HTTP_CALL_STATUS.UNKNOWN,\n};\n\nexport const duckActions = {\n SET_SEND_STATUS: 'SET_SEND_STATUS',\n APPLICATION_OPENED: 'APPLICATION_OPENED',\n USER_SIGN_ACTION: 'USER_SIGN_ACTION',\n USER_LOGOUT: 'USER_LOGOUT',\n ACTIVITY_OPENED: 'ACTIVITY_OPENED',\n ACTIVITY_CLOSED: 'ACTIVITY_CLOSED',\n ACTIVITY_FINISHED: 'ACTIVITY_FINISHED',\n ACTIVITY_RESPONSES_UPLOAD_STARTED: 'RESPONSES_UPLOAD_STARTED',\n ACTIVITY_RESPONSES_UPLOAD_FINISHED: 'RESPONSES_UPLOAD_FINISHED',\n ACTIVITY_RESPONSES_UPLOAD_FAILED: 'RESPONSES_UPLOAD_FAILED',\n ROUTE_VISITED: 'ROUTE_VISITED',\n EDEN_PHR_EVENTS: 'EDEN_PHR_EVENTS',\n};\n\nconst reducer = produce((draft, action) => {\n switch (action.type) {\n case duckActions.SET_SEND_STATUS:\n draft.sendStatus = action.payload.status;\n break;\n // no default\n }\n}, initialState);\n\nnamespaceReducerActions(reducer, duckActions);\n\nexport default reducer;\n\nexport const duckActionCreators = {\n setSendStatusSucceeded() {\n return {\n type: duckActions.SET_SEND_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.SUCCEEDED,\n },\n };\n },\n setSendStatusFailed() {\n return {\n type: duckActions.SET_SEND_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.FAILED,\n },\n };\n },\n sendApplicationOpened(studies) {\n return {\n type: duckActions.APPLICATION_OPENED,\n payload: { studies },\n };\n },\n sendUserSignAction(studies) {\n return {\n type: duckActions.USER_SIGN_ACTION,\n payload: { studies },\n };\n },\n sendUserLogout(studies) {\n return {\n type: duckActions.USER_LOGOUT,\n payload: { studies },\n };\n },\n sendActivityOpened: function sendActivityOpened(studyId, activityId, sessionUuid) {\n return {\n type: duckActions.ACTIVITY_OPENED,\n payload: { eventType: PHR_EVENT_TYPES.ACTIVITY_OPENED, studyId, activityId, sessionUuid },\n };\n },\n sendActivityClosed: function sendActivityClosed(studyId, activityId, sessionUuid) {\n return {\n type: duckActions.ACTIVITY_CLOSED,\n payload: { eventType: PHR_EVENT_TYPES.ACTIVITY_CLOSED, studyId, activityId, sessionUuid },\n };\n },\n sendActivityFinished: function sendActivityFinished(\n studyId,\n activityId,\n sessionUuid,\n sTimeMs,\n pTimeMs,\n rTimeMs,\n statusId,\n tlTypeId\n ) {\n return {\n type: duckActions.ACTIVITY_FINISHED,\n payload: {\n eventType: PHR_EVENT_TYPES.ACTIVITY_FINISHED,\n studyId,\n activityId,\n sessionUuid,\n sTimeMs,\n pTimeMs,\n rTimeMs,\n statusId,\n tlTypeId,\n },\n };\n },\n sendActivityResponseUploadStarted: function sendResponseUploadStarted(sessionUuid, studyId) {\n return {\n type: duckActions.ACTIVITY_RESPONSES_UPLOAD_STARTED,\n payload: { eventType: PHR_EVENT_TYPES.ACTIVITY_RESPONSES_UPLOAD_STARTED, studyId, sessionUuid },\n };\n },\n sendActivityResponseUploadFinished: function sendResponseUploadFinished(\n sessionUuid,\n studyId,\n startTimeMs,\n sessionsSubmitted\n ) {\n return {\n type: duckActions.ACTIVITY_RESPONSES_UPLOAD_FINISHED,\n payload: { eventType: PHR_EVENT_TYPES.ACTIVITY_RESPONSES_UPLOAD_FINISHED, studyId, startTimeMs, sessionsSubmitted },\n };\n },\n sendActivityResponseUploadFailed: function sendResponseUploadFailed(sessionUuid, studyId, startTimeMs, error) {\n return {\n type: duckActions.ACTIVITY_RESPONSES_UPLOAD_FAILED,\n payload: { eventType: PHR_EVENT_TYPES.ACTIVITY_RESPONSES_UPLOAD_FAILED, studyId, startTimeMs, error },\n };\n },\n sendRouteVisited: function sendRouteVisited(event, studyId) {\n return {\n type: duckActions.ROUTE_VISITED,\n payload: { eventType: event, studyId },\n };\n },\n sendEdenEvent: function sendEdenEvent(eventType, ethicaId, studyId, consentType = null, actionType = null) {\n return {\n type: duckActions.EDEN_PHR_EVENTS,\n payload: {\n eventType,\n studyId,\n ethicaId,\n actionType,\n consentType,\n },\n };\n },\n};\n\nconst PHRSelector = getSelector(reducer);\n\nexport const duckSelectors = {\n PHRSelector,\n};\n","import { mixed, object, string } from 'yup';\n\nimport { core as appClientCore, utils as appClientUtils } from '@edf-pkg/app-client';\nimport { utils as appMainUtils } from '@edf-pkg/app-main';\n\nconst requestSchema = object().shape({\n user_id: string().nullable(),\n session_uuid: string().nullable(),\n message: mixed().required(),\n tag: string().required(),\n device_id: string().required(),\n});\n\nexport default async function PHCreateEndpoint(message, sessionUUID = null) {\n try {\n const { id, deviceId } = appMainUtils.user.getData();\n const data = await requestSchema.validate({\n message,\n tag: 'ph',\n device_id: deviceId || 'anonymous',\n user_id: id,\n session_uuid: sessionUUID,\n });\n await appClientCore.axiosClientsManager\n .getClient('api')\n .post('/study/ph/create/', appClientUtils.object.toFormData(data));\n return true;\n } catch (error) {\n appClientCore.errorMapper(error);\n }\n return null;\n}\n","import PHCreate from './ph-create.endpoint.api';\n\nconst client = {\n api: {\n PHCreate,\n },\n};\n\nexport default client;\n","import { call, put, select, takeEvery, takeLatest } from 'redux-saga/effects';\nimport snakecaseKeys from 'snakecase-keys';\nimport { array, number, object, string } from 'yup';\n\nimport appDateTime from '@edf-pkg/app-date-time';\nimport { errorHandle, ValidationError } from '@edf-pkg/app-error';\nimport { store as appMainStore } from '@edf-pkg/app-main';\n\nimport client from '../client';\nimport { PHR_EVENT_TYPES, USER_SIGN_ACTION_SOURCES } from '../constants';\nimport { duckActionCreators as PHRActionCreators, duckActions as PHRActions } from './phr.duck';\n\nexport const SAGA_NAME = 'PHR';\n\nconst PHRMessageBaseJSON = {\n studyId: [],\n eventType: -1,\n timeMs: 0,\n};\n\nconst activityOpenedAndClosedReportSchema = object().shape({\n studyId: array(),\n activityId: number().required(),\n sessionUuid: string(),\n});\n\nconst activityFinishedReportSchema = object().shape({\n studyId: array(),\n activityId: number().required(),\n sessionUuid: string(),\n sTimeMs: number().required(),\n pTimeMs: number().required(),\n rTimeMs: number().required(),\n statusId: number().required(),\n});\n\nfunction* sendPHR(message, sessionUUID = null) {\n try {\n yield call(\n client.api.PHCreate,\n snakecaseKeys({ ...message, timeMs: appDateTime().toMillis() }, { deep: true }),\n sessionUUID\n );\n yield put(PHRActionCreators.setSendStatusSucceeded());\n } catch (error) {\n errorHandle.anError(error);\n yield put(PHRActionCreators.setSendStatusFailed());\n }\n}\n\nfunction* handleActivityEvents(action) {\n if (action.payload?.activityId == null) {\n return;\n }\n\n try {\n // PHR for activity can be invalid currently as we are moving into web-based activities, so we should check them.\n switch (action.payload.eventType) {\n case PHR_EVENT_TYPES.ACTIVITY_OPENED:\n case PHR_EVENT_TYPES.ACTIVITY_CLOSED:\n yield activityOpenedAndClosedReportSchema.validate(action.payload);\n break;\n case PHR_EVENT_TYPES.ACTIVITY_FINISHED:\n yield activityFinishedReportSchema.validate(action.payload);\n break;\n // no default\n }\n yield call(sendPHR, { ...PHRMessageBaseJSON, ...action.payload }, action.payload.sessionUuid);\n } catch (error) {\n errorHandle.anError(\n new ValidationError(`Payload for sending PHR is not valid. payload: ${JSON.stringify(action.payload)}`, error)\n );\n }\n}\n\nfunction* handleUserAction(action) {\n const userDataSource = yield select(appMainStore.userDuck.duckSelectors.userDataExternalActionSourceSelector);\n if (userDataSource === USER_SIGN_ACTION_SOURCES.SIGN_UP) {\n yield call(sendPHR, { ...PHRMessageBaseJSON, eventType: PHR_EVENT_TYPES.USER_SIGN_UP });\n } else if (\n userDataSource === USER_SIGN_ACTION_SOURCES.SIGN_IN ||\n userDataSource === USER_SIGN_ACTION_SOURCES.RESET_PASSWORD\n ) {\n const {\n payload: { studies },\n } = action;\n yield call(sendPHR, { ...PHRMessageBaseJSON, eventType: PHR_EVENT_TYPES.USER_SIGN_IN, studyId: Object.keys(studies) });\n }\n}\n\nfunction* handleUserLogout(action) {\n const {\n payload: { studies },\n } = action;\n yield call(sendPHR, { ...PHRMessageBaseJSON, eventType: PHR_EVENT_TYPES.USER_LOGOUT, studyId: Object.keys(studies) });\n}\n\nfunction* handleApplicationOpened(action) {\n const {\n payload: { studies },\n } = action;\n yield call(sendPHR, { ...PHRMessageBaseJSON, eventType: PHR_EVENT_TYPES.APPLICATION_OPENED, studyId: Object.keys(studies) });\n}\n\nfunction* handleRouteVisited(action) {\n const {\n payload: { eventType, studyId },\n } = action;\n yield call(sendPHR, { ...PHRMessageBaseJSON, eventType, studyId: [studyId] });\n}\n\nfunction* handleEdenPHREvent(action) {\n const {\n payload: { ethicaId, eventType, studyId, actionType, consentType },\n } = action;\n\n const payload = { ...PHRMessageBaseJSON, eventType, studyId: [studyId], ethicaId };\n if (consentType) {\n payload.consentType = consentType;\n }\n if (actionType) {\n payload.action = actionType;\n }\n\n yield call(sendPHR, payload);\n}\n\nexport default function* PHRSaga() {\n yield takeEvery(PHRActions.APPLICATION_OPENED, handleApplicationOpened);\n yield takeLatest(PHRActions.USER_SIGN_ACTION, handleUserAction);\n yield takeLatest(PHRActions.USER_LOGOUT, handleUserLogout);\n yield takeLatest(\n [\n PHRActions.ACTIVITY_OPENED,\n PHRActions.ACTIVITY_CLOSED,\n PHRActions.ACTIVITY_FINISHED,\n PHRActions.ACTIVITY_RESPONSES_UPLOAD_STARTED,\n PHRActions.ACTIVITY_RESPONSES_UPLOAD_FINISHED,\n PHRActions.ACTIVITY_RESPONSES_UPLOAD_FAILED,\n ],\n handleActivityEvents\n );\n yield takeEvery(PHRActions.ROUTE_VISITED, handleRouteVisited);\n yield takeLatest(PHRActions.EDEN_PHR_EVENTS, handleEdenPHREvent);\n}\n","import produce from 'immer';\nimport { createSelector } from 'reselect';\nimport { getSelector, namespaceReducerActions } from 'retrack';\n\nimport { HTTP_CALL_STATUS } from '../constants';\n\nexport const DUCK_NAME = 'data-source-options';\n\nconst initialState = {\n data: null,\n status: HTTP_CALL_STATUS.UNKNOWN,\n};\n\nexport const duckActions = {\n FETCH_DATA_SOURCE_OPTIONS: 'FETCH_DATA_SOURCE_OPTIONS',\n SET_DATA_SOURCE_OPTIONS: 'SET_DATA_SOURCE_OPTIONS',\n SET_DATA_SOURCE_OPTIONS_STATUS: 'SET_DATA_SOURCE_OPTIONS_STATUS',\n};\n\nconst reducer = produce((draft, action) => {\n switch (action.type) {\n case duckActions.SET_DATA_SOURCE_OPTIONS_STATUS:\n draft.status = action.payload.status;\n break;\n case duckActions.SET_DATA_SOURCE_OPTIONS:\n draft.data = action.payload.data;\n break;\n default:\n break;\n }\n return draft;\n}, initialState);\n\nnamespaceReducerActions(reducer, duckActions);\n\nexport default reducer;\n\nexport const duckActionCreators = {\n fetchDataSourceOptions: function fetchDataSourceOptions() {\n return {\n type: duckActions.FETCH_DATA_SOURCE_OPTIONS,\n };\n },\n fetchDataSourceOptionsRequested: function fetchDataSourceOptionsRequested() {\n return {\n type: duckActions.SET_DATA_SOURCE_OPTIONS_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.LOADING,\n },\n };\n },\n fetchDataSourceOptionsSucceeded: function fetchDataSourceOptionsSucceeded() {\n return {\n type: duckActions.SET_DATA_SOURCE_OPTIONS_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.SUCCEEDED,\n },\n };\n },\n fetchDataSourceOptionsFailed: function fetchDataSourceOptionsFailed() {\n return {\n type: duckActions.SET_DATA_SOURCE_OPTIONS_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.FAILED,\n },\n };\n },\n setDataSourceOptions: function setDataSourceOptions(data) {\n return {\n type: duckActions.SET_DATA_SOURCE_OPTIONS,\n payload: {\n data,\n },\n };\n },\n};\n\nconst dataSourceOptionsSelector = getSelector(reducer);\n\nconst dataSourceOptionsDataSelector = createSelector(dataSourceOptionsSelector, (state) => state.data);\n\nconst dataSourceOptionsLoadingSelector = createSelector(\n dataSourceOptionsSelector,\n (state) => state.status === HTTP_CALL_STATUS.LOADING\n);\n\nconst dataSourceOptionsSucceededSelector = createSelector(\n dataSourceOptionsSelector,\n (state) => state.status === HTTP_CALL_STATUS.SUCCEEDED\n);\n\nconst dataSourceOptionsFailedSelector = createSelector(\n dataSourceOptionsSelector,\n (state) => state.status === HTTP_CALL_STATUS.FAILED\n);\n\nconst dataSourceOptionsInitializedSelector = createSelector(\n dataSourceOptionsSelector,\n (state) => state.status !== HTTP_CALL_STATUS.UNKNOWN\n);\n\nexport const duckSelectors = {\n dataSourceOptionsSelector,\n dataSourceOptionsDataSelector,\n dataSourceOptionsLoadingSelector,\n dataSourceOptionsSucceededSelector,\n dataSourceOptionsFailedSelector,\n dataSourceOptionsInitializedSelector,\n};\n","import { call, put, select, takeEvery } from 'redux-saga/effects';\n\nimport { errorHandle } from '@edf-pkg/app-error';\n\nimport client from '../client';\nimport {\n duckActionCreators as dataSourceOptionsActionCreators,\n duckActions as dataSourceOptionsActions,\n duckSelectors as dataSourceOptionsSelector,\n} from './data-source-options.duck';\n\nexport const SAGA_NAME = 'DATA_SOURCE_OPTIONS';\n\nfunction* handleFetchDataSourceOptions() {\n try {\n const isInitialized = yield select(dataSourceOptionsSelector.dataSourceOptionsInitializedSelector);\n if (!isInitialized) {\n yield put(dataSourceOptionsActionCreators.fetchDataSourceOptionsRequested());\n const data = yield call(client.api.readDataSourceOptions);\n yield put(dataSourceOptionsActionCreators.setDataSourceOptions(data));\n yield put(dataSourceOptionsActionCreators.fetchDataSourceOptionsSucceeded());\n }\n } catch (error) {\n errorHandle.anError(error);\n yield put(dataSourceOptionsActionCreators.fetchDataSourceOptionsFailed());\n }\n}\n\nexport default function* dataSourceOptionsSaga() {\n yield takeEvery(dataSourceOptionsActions.FETCH_DATA_SOURCE_OPTIONS, handleFetchDataSourceOptions);\n}\n","import produce from 'immer';\nimport { createSelector } from 'reselect';\nimport { getSelector, namespaceReducerActions } from 'retrack';\n\nexport const DUCK_NAME = 'dialog';\n\nconst initialState = {\n dialogs: {},\n};\n\nexport const duckActions = {\n REGISTER: 'REGISTER',\n UNREGISTER: 'UNREGISTER',\n ADD: 'ADD',\n REMOVE: 'REMOVE',\n OPEN: 'OPEN',\n CLOSE: 'CLOSE',\n UPDATE_OPEN_STATUS: 'UPDATE_OPEN_STATUS',\n};\n\nconst reducer = produce((draft, action) => {\n switch (action.type) {\n case duckActions.ADD:\n draft.dialogs[action.payload.dialogId] = { opened: false };\n break;\n case duckActions.REMOVE:\n delete draft.dialogs[action.payload.dialogId];\n break;\n case duckActions.UPDATE_OPEN_STATUS:\n draft.dialogs[action.payload.dialogId] = {\n opened: action.payload.openStatus,\n };\n break;\n // no default\n }\n}, initialState);\n\nnamespaceReducerActions(reducer, duckActions);\n\nexport default reducer;\n\nexport const duckActionCreators = {\n register: function register(dialogId) {\n return {\n type: duckActions.REGISTER,\n payload: { dialogId },\n };\n },\n unregister: function unregister(dialogId) {\n return {\n type: duckActions.UNREGISTER,\n payload: { dialogId },\n };\n },\n add: function add(dialogId) {\n return {\n type: duckActions.ADD,\n payload: { dialogId },\n };\n },\n remove: function remove(dialogId) {\n return {\n type: duckActions.REMOVE,\n payload: { dialogId },\n };\n },\n open: function open(dialogId) {\n return {\n type: duckActions.OPEN,\n payload: { dialogId },\n };\n },\n close: function close(dialogId) {\n return { type: duckActions.CLOSE, payload: { dialogId } };\n },\n setOpenStatusOpened: function setOpenStatusOpened(dialogId) {\n return {\n type: duckActions.UPDATE_OPEN_STATUS,\n payload: { dialogId, openStatus: true },\n };\n },\n setOpenStatusClosed: function setOpenStatusClosed(dialogId) {\n return {\n type: duckActions.UPDATE_OPEN_STATUS,\n payload: { dialogId, openStatus: false },\n };\n },\n};\n\nconst dialogSelector = getSelector(reducer);\n\nconst dialogsSelector = createSelector(dialogSelector, (dialogState) => dialogState.dialogs);\n\nexport const duckSelectors = {\n dialogSelector,\n dialogsSelector,\n};\n","import { put, select, takeLatest } from 'redux-saga/effects';\n\nimport {\n duckActionCreators as dialogActionCreators,\n duckActions as dialogActions,\n duckSelectors as dialogSelectors,\n} from './dialog.duck';\n\nexport const SAGA_NAME = 'DIALOG';\n\nfunction* handleCloseDialog(action) {\n const dialogs = yield select((state) => dialogSelectors.dialogsSelector(state));\n const { dialogId } = action.payload;\n if (dialogs[dialogId] && dialogs[dialogId].opened === true) {\n yield put(dialogActionCreators.setOpenStatusClosed(dialogId));\n }\n}\n\nfunction* handleOpenDialog(action) {\n const dialogs = yield select((state) => dialogSelectors.dialogsSelector(state));\n const { dialogId } = action.payload;\n if (dialogs[dialogId] && dialogs[dialogId].opened === false) {\n yield put(dialogActionCreators.setOpenStatusOpened(dialogId));\n }\n}\n\nfunction* handleUnregisterDialog(action) {\n const { dialogId } = action.payload;\n yield put(dialogActionCreators.remove(dialogId));\n}\n\nfunction* handleRegisterDialog(action) {\n const { dialogId } = action.payload;\n yield put(dialogActionCreators.add(dialogId));\n}\n\nexport default function* dialogSaga() {\n yield takeLatest(dialogActions.REGISTER, handleRegisterDialog);\n yield takeLatest(dialogActions.UNREGISTER, handleUnregisterDialog);\n yield takeLatest(dialogActions.OPEN, handleOpenDialog);\n yield takeLatest(dialogActions.CLOSE, handleCloseDialog);\n}\n","import produce from 'immer';\nimport { createSelector } from 'reselect';\nimport { getSelector, namespaceReducerActions } from 'retrack';\n\nexport const DUCK_NAME = 'snackbar';\n\nconst initialState = {\n snackbarsQueue: [],\n toShowSnackbar: {},\n showingSnackbarId: '',\n shouldOpen: false,\n};\n\nexport const duckActions = {\n ENQUEUE: 'ENQUEUE',\n DEQUEUE: 'DEQUEUE',\n SET_TO_SHOW_SNACKBAR: 'SET_TO_SHOW_SNACKBAR',\n SET_SHOWING_SNACKBAR_ID: 'SET_SHOWING_SNACKBAR_ID',\n SET_SHOULD_OPEN: 'SET_SHOULD_OPEN',\n SHOW: 'SHOW',\n SNACKBAR_OPENED: 'SNACKBAR_OPENED',\n SNACKBAR_CLOSED: 'SNACKBAR_CLOSED',\n SNACKBAR_EXITED: 'SNACKBAR_EXITED',\n};\n\nconst reducer = produce((draft, action) => {\n switch (action.type) {\n case duckActions.ENQUEUE:\n draft.snackbarsQueue.push(action.payload.snackbar);\n break;\n case duckActions.DEQUEUE:\n draft.snackbarsQueue.shift();\n break;\n case duckActions.SET_TO_SHOW_SNACKBAR:\n draft.toShowSnackbar = action.payload.snackbar;\n break;\n case duckActions.SET_SHOWING_SNACKBAR_ID:\n draft.showingSnackbarId = action.payload.snackbarId;\n break;\n case duckActions.SET_SHOULD_OPEN:\n draft.shouldOpen = action.payload.shouldOpen;\n break;\n // no default\n }\n}, initialState);\n\nnamespaceReducerActions(reducer, duckActions);\n\nexport default reducer;\n\nexport const duckActionCreators = {\n enqueue: function enqueue(snackbar) {\n return { type: duckActions.ENQUEUE, payload: { snackbar } };\n },\n dequeue: function dequeue() {\n return { type: duckActions.DEQUEUE };\n },\n setToShowSnackbar: function setToShowSnackbar(snackbar) {\n return {\n type: duckActions.SET_TO_SHOW_SNACKBAR,\n payload: { snackbar },\n };\n },\n setShowingSnackbarId: function setShowingSnackbarId(snackbarId) {\n return {\n type: duckActions.SET_SHOWING_SNACKBAR_ID,\n payload: { snackbarId },\n };\n },\n setShouldOpen: function setShouldOpen(shouldOpen) {\n return { type: duckActions.SET_SHOULD_OPEN, payload: { shouldOpen } };\n },\n show: function show(snackbar) {\n return { type: duckActions.SHOW, payload: { snackbar } };\n },\n opened: function opened(snackbarId) {\n return { type: duckActions.SNACKBAR_OPENED, payload: { snackbarId } };\n },\n closed: function closed() {\n return { type: duckActions.SNACKBAR_CLOSED };\n },\n exited: function exited() {\n return { type: duckActions.SNACKBAR_EXITED };\n },\n};\n\nconst snackbarSelector = getSelector(reducer);\n\nconst toShowSnackbarSelector = createSelector(snackbarSelector, (snackbarState) => snackbarState.toShowSnackbar);\nconst showingSnackbarIdSelector = createSelector(snackbarSelector, (snackbarState) => snackbarState.showingSnackbarId);\n\nconst shouldOpenSelector = createSelector(snackbarSelector, (snackbarState) => snackbarState.shouldOpen);\n\nexport const duckSelectors = {\n snackbarSelector,\n toShowSnackbarSelector,\n showingSnackbarIdSelector,\n shouldOpenSelector,\n};\n","import { call, put, select, takeEvery } from 'redux-saga/effects';\nimport uuidV4 from 'uuid';\n\nimport {\n duckActionCreators as snackbarActionCreators,\n duckActions as snackbarActions,\n duckSelectors as snackbarSelectors,\n} from './snackbar.duck';\n\nexport const SAGA_NAME = 'SNACKBAR';\n\nfunction* setToShowSnackbar() {\n const snackbarState = yield select((state) => snackbarSelectors.snackbarSelector(state));\n if (Object.keys(snackbarState.toShowSnackbar).length === 0 && snackbarState.snackbarsQueue.length > 0) {\n const nextSnackbar = snackbarState.snackbarsQueue[0];\n yield put(snackbarActionCreators.setToShowSnackbar(nextSnackbar));\n yield put(snackbarActionCreators.dequeue());\n yield put(snackbarActionCreators.setShouldOpen(true));\n }\n}\n\nfunction* exited() {\n yield put(snackbarActionCreators.setShowingSnackbarId(''));\n yield put(snackbarActionCreators.setToShowSnackbar({}));\n yield call(setToShowSnackbar);\n}\n\nfunction* closed() {\n yield put(snackbarActionCreators.setShouldOpen(false));\n}\n\nfunction* opened(action) {\n yield put(snackbarActionCreators.setShowingSnackbarId(action.payload.snackbarId));\n}\n\nfunction* show(action) {\n const uuid = uuidV4();\n yield put(snackbarActionCreators.enqueue(Object.assign(action.payload.snackbar, { id: uuid })));\n yield call(setToShowSnackbar);\n}\n\nexport default function* snackbarSaga() {\n yield takeEvery(snackbarActions.SHOW, show);\n yield takeEvery(snackbarActions.SNACKBAR_OPENED, opened);\n yield takeEvery(snackbarActions.SNACKBAR_CLOSED, closed);\n yield takeEvery(snackbarActions.SNACKBAR_EXITED, exited);\n}\n","import produce from 'immer';\nimport { createSelector } from 'reselect';\nimport { getSelector, namespaceReducerActions } from 'retrack';\n\nimport appUtils from '@edf-pkg/app-utils';\n\nimport { HTTP_CALL_STATUS, INITIALIZATION_STATUS } from '../constants';\n\nexport const DUCK_NAME = 'user';\n\n// TODO: Refactor the state tree.\nconst initialState = {\n initializationStatus: INITIALIZATION_STATUS.UNKNOWN,\n username: '',\n apiKey: '',\n role: '',\n id: 0,\n firstName: '',\n lastName: '',\n avatar: '',\n // TODO: replace 'base' with TRANSLATION_BASE_ID\n language: 'base',\n deviceId: '',\n organization: '',\n externalUserDataActionSource: '',\n ageId: 0,\n genderId: 0,\n educationId: 0,\n maritalStatusId: 0,\n occupationId: 0,\n salaryId: 0,\n isEmailVerified: false,\n isPhoneVerified: false,\n hasAutoLogout: false,\n hasPasswordExpiry: false,\n isMFAEnabled: false,\n phoneNumber: '',\n logoutStatus: HTTP_CALL_STATUS.UNKNOWN,\n matrixPassword: '',\n subscriptionConfigs: {},\n preferredNotificationMediumIds: [],\n};\n\nexport const duckActions = {\n RESET: 'INITIALIZE',\n INITIALIZE: 'INITIALIZE',\n SET_INITIALIZATION_STATUS: 'SET_INITIALIZATION_STATUS',\n ASK_SPACE_TO_LOAD_USER_DATA: 'ASK_SPACE_TO_LOAD_USER_DATA',\n LOAD_USER_DATA_FROM_SPACE_SUCCEEDED: 'LOAD_USER_DATA_FROM_SPACE_SUCCEEDED',\n LOAD_USER_DATA_FROM_SPACE_FAILED: 'LOAD_USER_DATA_FROM_SPACE_FAILED',\n LOAD_USER_DATA_FROM_API: 'LOAD_USER_DATA_FROM_API',\n SET_USER_DATA: 'SET_USER_DATA',\n SET_USERNAME: 'SET_USERNAME',\n SET_DEVICE_ID: 'SET_DEVICE_ID',\n SET_PHONE_NUMBER: 'SET_PHONE_NUMBER',\n SET_IS_EMAIL_VERIFIED: 'SET_IS_EMAIL_VERIFIED',\n SET_IS_MFA_ENABLED: 'SET_IS_MFA_ENABLED',\n SET_IS_PHONE_VERIFIED: 'SET_IS_PHONE_VERIFIED',\n SET_USER_DATA_EXTERNAL: 'SET_USER_DATA_EXTERNAL',\n LOGOUT: 'LOGOUT',\n SET_USER_DATA_EXTERNAL_ACTION_SOURCE: 'SET_USER_DATA_EXTERNAL_ACTION_SOURCE',\n SET_LOGOUT_STATUS: 'SET_LOGOUT_STATUS',\n};\n\nconst reducer = produce((draft, action) => {\n switch (action.type) {\n case duckActions.RESET:\n return initialState;\n case duckActions.SET_INITIALIZATION_STATUS:\n draft.initializationStatus = action.payload.status;\n break;\n case duckActions.SET_USER_DATA:\n draft.username = appUtils.object.hasKey(action.payload.userData, 'username')\n ? action.payload.userData.username\n : draft.username || '';\n draft.apiKey = appUtils.object.hasKey(action.payload.userData, 'apiKey')\n ? action.payload.userData.apiKey\n : draft.apiKey || '';\n draft.role = appUtils.object.hasKey(action.payload.userData, 'role')\n ? action.payload.userData.role\n : draft.role || '';\n draft.id = appUtils.object.hasKey(action.payload.userData, 'id') ? action.payload.userData.id : draft.id ?? 0;\n draft.firstName = appUtils.object.hasKey(action.payload.userData, 'firstName')\n ? action.payload.userData.firstName\n : draft.firstName || '';\n draft.lastName = appUtils.object.hasKey(action.payload.userData, 'lastName')\n ? action.payload.userData.lastName\n : draft.lastName || '';\n draft.avatar = action.payload.userData.avatar ? action.payload.userData.avatar : draft.avatar || '';\n draft.language = appUtils.object.hasKey(action.payload.userData, 'language')\n ? action.payload.userData.language\n : draft.language || 'base';\n draft.organization = appUtils.object.hasKey(action.payload.userData, 'organization')\n ? action.payload.userData.organization\n : draft.organization || '';\n draft.ageId = appUtils.object.hasKey(action.payload.userData, 'ageId')\n ? action.payload.userData.ageId\n : draft.ageId || 0;\n draft.genderId = appUtils.object.hasKey(action.payload.userData, 'genderId')\n ? action.payload.userData.genderId\n : draft.genderId || 0;\n draft.educationId = appUtils.object.hasKey(action.payload.userData, 'educationId')\n ? action.payload.userData.educationId\n : draft.educationId || 0;\n draft.maritalStatusId = appUtils.object.hasKey(action.payload.userData, 'maritalStatusId')\n ? action.payload.userData.maritalStatusId\n : draft.maritalStatusId || 0;\n draft.occupationId = appUtils.object.hasKey(action.payload.userData, 'occupationId')\n ? action.payload.userData.occupationId\n : draft.occupationId || 0;\n draft.salaryId = appUtils.object.hasKey(action.payload.userData, 'salaryId')\n ? action.payload.userData.salaryId\n : draft.salaryId || 0;\n draft.isEmailVerified = appUtils.object.hasKey(action.payload.userData, 'isEmailVerified')\n ? action.payload.userData.isEmailVerified\n : draft.isEmailVerified || false;\n draft.isPhoneVerified = appUtils.object.hasKey(action.payload.userData, 'isPhoneVerified')\n ? action.payload.userData.isPhoneVerified\n : draft.isPhoneVerified || false;\n draft.hasAutoLogout = appUtils.object.hasKey(action.payload.userData, 'hasAutoLogout')\n ? action.payload.userData.hasAutoLogout\n : draft.hasAutoLogout || false;\n draft.hasPasswordExpiry = appUtils.object.hasKey(action.payload.userData, 'hasPasswordExpiry')\n ? action.payload.userData.hasPasswordExpiry\n : draft.hasPasswordExpiry || false;\n draft.isMFAEnabled = appUtils.object.hasKey(action.payload.userData, 'isMFAEnabled')\n ? action.payload.userData.isMFAEnabled\n : draft.isMFAEnabled || false;\n draft.phoneNumber = appUtils.object.hasKey(action.payload.userData, 'phoneNumber')\n ? action.payload.userData.phoneNumber\n : draft.phoneNumber || '';\n draft.matrixPassword = appUtils.object.hasKey(action.payload.userData, 'matrixPassword')\n ? action.payload.userData.matrixPassword\n : draft.matrixPassword;\n draft.subscriptionConfigs = appUtils.object.hasKey(action.payload.userData, 'subscriptionConfigs')\n ? action.payload.userData.subscriptionConfigs\n : draft.subscriptionConfigs;\n draft.preferredNotificationMediumIds = appUtils.object.hasKey(\n action.payload.userData,\n 'preferredNotificationMediumIds'\n )\n ? action.payload.userData.preferredNotificationMediumIds\n : draft.preferredNotificationMediumIds;\n break;\n case duckActions.SET_USERNAME:\n draft.username = action.payload.username;\n break;\n case duckActions.SET_USER_DATA_EXTERNAL_ACTION_SOURCE:\n draft.externalUserDataActionSource = action.payload.actionSource;\n break;\n case duckActions.SET_DEVICE_ID:\n draft.deviceId = action.payload.deviceId;\n break;\n case duckActions.SET_PHONE_NUMBER:\n draft.phoneNumber = action.payload.phoneNumber;\n break;\n case duckActions.SET_IS_PHONE_VERIFIED:\n draft.isPhoneVerified = action.payload.verified;\n break;\n case duckActions.SET_IS_EMAIL_VERIFIED:\n draft.isEmailVerified = action.payload.verified;\n break;\n case duckActions.SET_IS_MFA_ENABLED:\n draft.isMFAEnabled = action.payload.isMFAEnabled;\n break;\n case duckActions.SET_LOGOUT_STATUS:\n draft.logoutStatus = action.payload.status;\n break;\n // no default\n }\n return draft;\n}, initialState);\n\nnamespaceReducerActions(reducer, duckActions);\n\nexport default reducer;\n\nexport const duckActionCreators = {\n reset: function reset() {\n return { type: duckActions.RESET };\n },\n initialize: function initialize() {\n return { type: duckActions.INITIALIZE };\n },\n initializationSucceeded: function initializationSucceeded() {\n return {\n type: duckActions.SET_INITIALIZATION_STATUS,\n payload: { status: INITIALIZATION_STATUS.SUCCEEDED },\n };\n },\n initializationFailed: function initializationFailed() {\n return {\n type: duckActions.SET_INITIALIZATION_STATUS,\n payload: { status: INITIALIZATION_STATUS.FAILED },\n };\n },\n initializationStarted: function initializationStarted() {\n return {\n type: duckActions.SET_INITIALIZATION_STATUS,\n payload: { status: INITIALIZATION_STATUS.STARTED },\n };\n },\n resetInitializationStatus: function resetInitializationStatus() {\n return {\n type: duckActions.SET_INITIALIZATION_STATUS,\n payload: { status: INITIALIZATION_STATUS.UNKNOWN },\n };\n },\n loadUserDataFromAPI: function loadUserDataFromAPI(options = { shouldPersistUserData: false }) {\n return {\n type: duckActions.LOAD_USER_DATA_FROM_API,\n payload: { shouldPersistUserData: options.shouldPersistUserData },\n };\n },\n setUserData: function setUserData(userData) {\n return { type: duckActions.SET_USER_DATA, payload: { userData } };\n },\n setUserDataExternal: function setUserDataExternal({\n userData,\n actionSource,\n shouldPersistUserData = false,\n shouldLoadFromAPI = false,\n shouldSetInitializationStatus = false,\n }) {\n return {\n type: duckActions.SET_USER_DATA_EXTERNAL,\n payload: {\n userData,\n actionSource,\n shouldLoadFromAPI,\n shouldPersistUserData,\n shouldSetInitializationStatus,\n },\n };\n },\n setUserDataExternalActionSource: function setUserDataExternalActionSource(actionSource) {\n return {\n type: duckActions.SET_USER_DATA_EXTERNAL_ACTION_SOURCE,\n payload: {\n actionSource,\n },\n };\n },\n askSpaceToLoadUserData: function askSpaceToLoadUserData() {\n return {\n type: duckActions.ASK_SPACE_TO_LOAD_USER_DATA,\n };\n },\n loadUserDataFromSpaceSucceeded: function loadUserDataFromSpaceSucceeded(\n userData,\n shouldPersistUserData = false,\n shouldLoadFromAPI = false\n ) {\n return {\n type: duckActions.LOAD_USER_DATA_FROM_SPACE_SUCCEEDED,\n payload: {\n userData,\n shouldPersistUserData,\n shouldLoadFromAPI,\n },\n };\n },\n loadUserDataFromSpaceFailed: function loadUserDataFromSpaceFailed() {\n return {\n type: duckActions.LOAD_USER_DATA_FROM_SPACE_FAILED,\n };\n },\n setUsername(username) {\n return {\n type: duckActions.SET_USERNAME,\n payload: { username },\n };\n },\n setDeviceId(deviceId) {\n return {\n type: duckActions.SET_DEVICE_ID,\n payload: { deviceId },\n };\n },\n setPhoneNumber(phoneNumber) {\n return {\n type: duckActions.SET_PHONE_NUMBER,\n payload: { phoneNumber },\n };\n },\n setEmailVerified() {\n return {\n type: duckActions.SET_IS_EMAIL_VERIFIED,\n payload: { verified: true },\n };\n },\n setIsMFAEnabled(enabled) {\n return {\n type: duckActions.SET_IS_MFA_ENABLED,\n payload: { isMFAEnabled: enabled },\n };\n },\n setPhoneNumberNotVerified() {\n return {\n type: duckActions.SET_IS_PHONE_VERIFIED,\n payload: { verified: false },\n };\n },\n setPhoneNumberVerified() {\n return {\n type: duckActions.SET_IS_PHONE_VERIFIED,\n payload: { verified: true },\n };\n },\n logout: function logout(onSuccess) {\n return {\n type: duckActions.LOGOUT,\n payload: { onSuccess },\n };\n },\n logoutLoading() {\n return {\n type: duckActions.SET_LOGOUT_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.LOADING,\n },\n };\n },\n logoutSucceeded() {\n return {\n type: duckActions.SET_LOGOUT_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.SUCCEEDED,\n },\n };\n },\n logoutFailed() {\n return {\n type: duckActions.SET_LOGOUT_STATUS,\n payload: {\n status: HTTP_CALL_STATUS.FAILED,\n },\n };\n },\n};\n\nconst userSelector = getSelector(reducer);\n\nconst apiKeySelector = createSelector(userSelector, (userState) => userState.apiKey);\n\nconst usernameSelector = createSelector(userSelector, (userState) => userState.username);\n\nconst roleSelector = createSelector(userSelector, (userState) => userState.role);\n\nconst idSelector = createSelector(userSelector, (userState) => userState.id);\n\nconst avatarSelector = createSelector(userSelector, (userState) => userState.avatar);\n\nconst firstNameSelector = createSelector(userSelector, (userState) => userState.firstName);\n\nconst lastNameSelector = createSelector(userSelector, (userState) => userState.lastName);\n\nconst fullNameSelector = createSelector(userSelector, (userState) => `${userState.firstName} ${userState.lastName}`);\n\nconst languageSelector = createSelector(userSelector, (userState) => userState.language);\n\nconst deviceIdSelector = createSelector(userSelector, (userState) => userState.deviceId);\n\nconst organizationSelector = createSelector(userSelector, (userState) => userState.organization);\n\nconst userDataExternalActionSourceSelector = createSelector(userSelector, (userState) => userState.externalUserDataActionSource);\n\nconst isAnonymousUserSelector = createSelector(userSelector, (userState) => userState.username === 'anonymous');\n\nconst emailVerifiedSelector = createSelector(userSelector, (userState) => userState.isEmailVerified);\n\nconst phoneVerifiedSelector = createSelector(userSelector, (userState) => userState.isPhoneVerified);\n\nconst hasAutoLogoutSelector = createSelector(userSelector, (userState) => userState.hasAutoLogout);\n\nconst hasPasswordExpirySelector = createSelector(userSelector, (userState) => userState.hasPasswordExpiry);\n\nconst phoneNumberSelector = createSelector(userSelector, (userState) => userState.phoneNumber);\n\nconst isMFAEnabledSelector = createSelector(userSelector, (userState) => userState.isMFAEnabled);\n\nconst logoutStatusLoadingSelector = createSelector(\n userSelector,\n (settingsState) => settingsState.logoutStatus === HTTP_CALL_STATUS.LOADING\n);\n\nconst logoutStatusSucceededSelector = createSelector(\n userSelector,\n (settingsState) => settingsState.logoutStatus === HTTP_CALL_STATUS.SUCCEEDED\n);\n\nconst logoutStatusFailedSelector = createSelector(\n userSelector,\n (settingsState) => settingsState.logoutStatus === HTTP_CALL_STATUS.FAILED\n);\n\nconst initializationStatusSelector = createSelector(userSelector, (userState) => userState.initializationStatus);\n\nconst initializationStatusSucceededSelector = createSelector(\n userSelector,\n (userState) => userState.initializationStatus === INITIALIZATION_STATUS.SUCCEEDED\n);\n\nconst initializationStatusFailedSelector = createSelector(\n userSelector,\n (userState) => userState.initializationStatus === INITIALIZATION_STATUS.FAILED\n);\n\nconst initializationStatusStartedSelector = createSelector(\n userSelector,\n (userState) => userState.initializationStatus === INITIALIZATION_STATUS.STARTED\n);\n\nconst matrixUsernameSelector = createSelector(\n userSelector,\n (userState) => `@u${userState.id}:${process.env.REACT_APP_LOCAL_CHAT_MATRIX_SERVER_NAME}`\n);\nconst matrixPasswordSelector = createSelector(userSelector, (userState) => userState.matrixPassword);\n\nconst notificationSettingsSelector = createSelector(userSelector, (userState) => ({\n phoneNumber: userState.phoneNumber,\n isPhoneVerified: userState.isPhoneVerified,\n email: userState.username,\n isEmailVerified: userState.isEmailVerified,\n subscriptionConfigs: userState.subscriptionConfigs,\n preferredNotificationMediumIds: userState.preferredNotificationMediumIds,\n}));\n\nexport const duckSelectors = {\n userSelector,\n apiKeySelector,\n usernameSelector,\n roleSelector,\n idSelector,\n avatarSelector,\n firstNameSelector,\n lastNameSelector,\n fullNameSelector,\n languageSelector,\n deviceIdSelector,\n organizationSelector,\n userDataExternalActionSourceSelector,\n isAnonymousUserSelector,\n emailVerifiedSelector,\n phoneVerifiedSelector,\n phoneNumberSelector,\n hasAutoLogoutSelector,\n hasPasswordExpirySelector,\n isMFAEnabledSelector,\n logoutStatusLoadingSelector,\n logoutStatusSucceededSelector,\n logoutStatusFailedSelector,\n initializationStatusSelector,\n initializationStatusSucceededSelector,\n initializationStatusFailedSelector,\n initializationStatusStartedSelector,\n matrixUsernameSelector,\n matrixPasswordSelector,\n notificationSettingsSelector,\n};\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n var index = 0,\n length = path.length;\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return index && index == length ? object : undefined;\n}\nexport default baseGet;","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\nexport default baseSet;","import baseGet from './_baseGet.js';\nimport baseSet from './_baseSet.js';\nimport castPath from './_castPath.js';\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\nexport default basePickBy;","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\nexport default baseHasIn;","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\nexport default hasIn;","import basePickBy from './_basePickBy.js';\nimport hasIn from './hasIn.js';\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function (value, path) {\n return hasIn(object, path);\n });\n}\nexport default basePick;","import Symbol from './_Symbol.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\nexport default isFlattenable;","import arrayPush from './_arrayPush.js';\nimport isFlattenable from './_isFlattenable.js';\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n predicate || (predicate = isFlattenable);\n result || (result = []);\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\nexport default baseFlatten;","import baseFlatten from './_baseFlatten.js';\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\nexport default flatten;","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0:\n return func.call(thisArg);\n case 1:\n return func.call(thisArg, args[0]);\n case 2:\n return func.call(thisArg, args[0], args[1]);\n case 3:\n return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\nexport default apply;","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? func.length - 1 : start, 0);\n return function () {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\nexport default overRest;","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function () {\n return value;\n };\n}\nexport default constant;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\nexport default identity;","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function (func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\nexport default baseSetToString;","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n return function () {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\nexport default shortOut;","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\nexport default setToString;","import flatten from './flatten.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\nexport default flatRest;","import basePick from './_basePick.js';\nimport flatRest from './_flatRest.js';\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function (object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\nexport default pick;","import { pick } from 'lodash-es';\nimport { delay } from 'redux-saga';\nimport { call, put, race, take, takeEvery } from 'redux-saga/effects';\n\nimport { auth as appClientAuth } from '@edf-pkg/app-client';\nimport { errorHandle, FatalError } from '@edf-pkg/app-error';\nimport { store as i18nStore } from '@edf-pkg/app-i18n';\nimport appUtils from '@edf-pkg/app-utils';\n\nimport client from '../client';\nimport { duckActionCreators as userActionCreators, duckActions as userActions } from './user.duck';\n\nexport const SAGA_NAME = 'USER';\n\nfunction getAvatarUrl(url) {\n if (!appUtils.env.isDev()) {\n return url;\n }\n\n const serverBaseUrl = process.env.REACT_APP_SERVER_BASE_URL || '';\n const urlWithoutLeadingSlash = url.replace(/^\\/+/g, '');\n const parsedUrl = new URL(urlWithoutLeadingSlash, serverBaseUrl);\n\n return parsedUrl.toString();\n}\n\nfunction normalizeUserDataFromAPI(userData) {\n const { avatar, orgName, mfaEnabled, phone } = userData;\n\n return {\n ...pick(userData, [\n 'username',\n 'apiKey',\n 'role',\n 'id',\n 'firstName',\n 'lastName',\n 'language',\n 'isEmailVerified',\n 'isPhoneVerified',\n 'matrixPassword',\n 'subscriptionConfigs',\n 'preferredNotificationMediumIds',\n 'hasAutoLogout',\n 'hasPasswordExpiry',\n // TODO: Below fields are deprecate. Remove them after adjusting the UI in PDash.\n 'ageId',\n 'genderId',\n 'educationId',\n 'maritalStatusId',\n 'occupationId',\n 'salaryId',\n ]),\n isMFAEnabled: mfaEnabled,\n phoneNumber: phone,\n avatar: avatar ? getAvatarUrl(avatar) : '',\n organization: orgName,\n };\n}\n\nfunction persistUserData(userData) {\n if (window.localStorage) {\n localStorage.setItem(\n process.env.REACT_APP_LOCAL_STORAGE_KEY_USER,\n JSON.stringify({\n apiKey: userData.apiKey || userData.accessToken,\n })\n );\n }\n}\n\nfunction* handleUserDeviceIdFromSpace(userDataFromSpace) {\n if (appUtils.object.hasKey(userDataFromSpace, 'deviceId')) {\n const { deviceId } = userDataFromSpace;\n yield put(userActionCreators.setDeviceId(deviceId));\n }\n}\n\nfunction* logout(action) {\n const { onSuccess } = action.payload;\n try {\n yield put(userActionCreators.logoutLoading());\n yield call(client.api.userLogout);\n yield put(userActionCreators.reset());\n yield put(userActionCreators.resetInitializationStatus());\n if (window.localStorage) {\n yield call(() => localStorage.removeItem(process.env.REACT_APP_LOCAL_STORAGE_KEY_USER));\n yield call(() => localStorage.removeItem(process.env.REACT_APP_LOCAL_STORAGE_KEY_AUTH_STORE));\n }\n yield put(userActionCreators.logoutSucceeded());\n if (onSuccess) {\n yield call(onSuccess);\n }\n } catch (error) {\n errorHandle.anError(error);\n yield put(userActionCreators.logoutFailed());\n }\n}\n\nfunction* setUserData(userData, shouldPersistUserData, shouldLoadFromAPI, shouldSetInitializationStatus = false) {\n if (shouldPersistUserData) {\n yield call(persistUserData, userData);\n }\n\n if (userData.language) {\n yield put(i18nStore.i18nDuck.duckActionCreators.changeLanguage(userData.language));\n }\n\n yield put(userActionCreators.setUserData(userData));\n\n if (shouldLoadFromAPI) {\n yield call(loadUserDataFromAPI, { payload: { shouldSetInitializationStatus } });\n } else if (shouldSetInitializationStatus) {\n yield put(userActionCreators.initializationSucceeded());\n }\n}\n\nfunction* loadUserDataFromAPI(action = { payload: { shouldPersistUserData: false, shouldSetInitializationStatus: false } }) {\n const { shouldSetInitializationStatus, shouldPersistUserData } = action.payload;\n if (shouldSetInitializationStatus) {\n yield put(userActionCreators.initializationStarted());\n }\n const { accessToken } = appClientAuth.useAuthenticationStore.getState();\n\n if (accessToken) {\n try {\n const userData = yield call(client.api.userRead, accessToken);\n\n yield put(userActionCreators.setDeviceId(userData.deviceId));\n\n const normalizedUserData = normalizeUserDataFromAPI(userData);\n\n yield call(setUserData, normalizedUserData, shouldPersistUserData);\n\n if (shouldSetInitializationStatus) {\n yield put(userActionCreators.initializationSucceeded());\n }\n } catch (error) {\n errorHandle.anError(error);\n\n yield call(setUserData, { username: '', password: '' });\n\n if (shouldSetInitializationStatus) {\n yield put(userActionCreators.initializationFailed());\n }\n }\n }\n if (shouldSetInitializationStatus) {\n yield put(userActionCreators.initializationSucceeded());\n }\n}\n\nfunction* setUserDataExternal(action) {\n const {\n payload: { userData, actionSource, shouldLoadFromAPI, shouldPersistUserData, shouldSetInitializationStatus },\n } = action;\n if (userData) {\n const normalizedUserData = normalizeUserDataFromAPI(userData);\n yield put(userActionCreators.setUserDataExternalActionSource(actionSource));\n yield call(setUserData, normalizedUserData, shouldPersistUserData, shouldLoadFromAPI, shouldSetInitializationStatus);\n }\n}\n\nfunction* askSpaceToLoadUserData() {\n yield put(userActionCreators.askSpaceToLoadUserData());\n\n const result = yield race({\n success: take(userActions.LOAD_USER_DATA_FROM_SPACE_SUCCEEDED),\n error: take(userActions.LOAD_USER_DATA_FROM_SPACE_FAILED),\n timeout: delay(60000),\n });\n\n if (result.error) {\n throw new FatalError('An error occurred during askSpaceToSetUserData.');\n } else if (result.timeout) {\n throw new FatalError('Timeout occurred during askSpaceToSetUserData.');\n } else {\n const {\n success: {\n payload: { userData, shouldLoadFromAPI, shouldPersistUserData },\n },\n } = result;\n\n if (userData) {\n // There is only one place where the `userData` might include `deviceId` field and that is for web activities where FE is being accessed via Mobile. otherwise the `userData` loaded from spaces only includes user credentials.\n yield call(handleUserDeviceIdFromSpace, userData);\n yield call(setUserData, userData, shouldPersistUserData, shouldLoadFromAPI, true);\n } else {\n yield put(userActionCreators.initializationSucceeded());\n }\n }\n}\n\nfunction* initialize() {\n try {\n yield put(userActionCreators.reset());\n yield call(askSpaceToLoadUserData);\n } catch (error) {\n errorHandle.anError(error);\n if (appUtils.object.hasKey(error, 'status') && error.status < 500) {\n yield put(userActionCreators.initializationSucceeded());\n } else {\n yield put(userActionCreators.initializationFailed());\n }\n }\n}\n\nexport default function* userSaga() {\n yield take(userActions.INITIALIZE);\n yield takeEvery(userActions.SET_USER_DATA_EXTERNAL, setUserDataExternal);\n yield takeEvery(userActions.LOAD_USER_DATA_FROM_API, loadUserDataFromAPI);\n yield takeEvery(userActions.LOGOUT, logout);\n yield call(initialize);\n}\n","import { combineTrackReducers } from 'retrack';\n\nimport { store as i18nStore } from '@edf-pkg/app-i18n';\nimport { ducksManager, sagasManager } from '@edf-pkg/app-store';\n\nimport dataSourceOptionsReducer, * as dataSourceOptionsDuck from './data-source-options.duck';\nimport dataSourceOptionsSaga, { SAGA_NAME as dataSourceOptionsSagaName } from './data-source-options.saga';\nimport dialogReducer, * as dialogDuck from './dialog.duck';\nimport dialogSaga, { SAGA_NAME as dialogSagaName } from './dialog.saga';\nimport snackbarReducer, * as snackbarDuck from './snackbar.duck';\nimport snackbarSaga, { SAGA_NAME as snackbarSagaName } from './snackbar.saga';\n// TODO-MAYBE: Move user into app-user package.\nimport userReducer, * as userDuck from './user.duck';\nimport userSaga, { SAGA_NAME as userSagaName } from './user.saga';\n\nexport function inject() {\n const i18nStoreAsObject = i18nStore.getStoreAsObject();\n ducksManager.add(\n 'main',\n combineTrackReducers({\n [snackbarDuck.DUCK_NAME]: snackbarReducer,\n [userDuck.DUCK_NAME]: userReducer,\n [i18nStoreAsObject.duck.DUCK_NAME]: i18nStoreAsObject.reducer,\n [dialogDuck.DUCK_NAME]: dialogReducer,\n [dataSourceOptionsDuck.DUCK_NAME]: dataSourceOptionsReducer,\n })\n );\n sagasManager.add(userSagaName, userSaga);\n sagasManager.add(snackbarSagaName, snackbarSaga);\n sagasManager.add(dialogSagaName, dialogSaga);\n sagasManager.add(dataSourceOptionsSagaName, dataSourceOptionsSaga);\n sagasManager.add(i18nStoreAsObject.SAGA_NAME, i18nStoreAsObject.saga);\n}\n\nexport { snackbarDuck, userDuck, dialogDuck, dataSourceOptionsDuck };\n","import i18nReducer, * as i18nDuck from './i18n.duck';\nimport i18nSaga, { SAGA_NAME as i18nSagaName } from './i18n.saga';\n\n/*\n This function is here because we don't want to inject i18n store independently.\n The i18n store duck and saga will be added as app-main package store.\n */\nexport function getStoreAsObject() {\n return {\n reducer: i18nReducer,\n duck: i18nDuck,\n saga: i18nSaga,\n SAGA_NAME: i18nSagaName,\n };\n}\n\nexport { i18nDuck };\n","import React, { Component } from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Provider } from 'react-redux';\n\nimport { store as phrStore } from '@edf-pkg/app-phr';\nimport { configureStore } from '@edf-pkg/app-store';\n\nimport * as mainAppStore from '../../store';\n\nmainAppStore.inject();\nphrStore.inject();\nconst { store } = configureStore({});\n\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class MainApp extends Component {\n render() {\n const { children } = this.props;\n return {children};\n }\n}\n\nMainApp.propTypes = {\n children: PropTypes.element.isRequired,\n};\n","import { ducksManager, sagasManager } from '@edf-pkg/app-store';\n\nimport PHRReducer, * as PHRDuck from './phr.duck';\nimport PHRSaga, { SAGA_NAME as PHRSagaName } from './phr.saga';\n\nexport function inject() {\n ducksManager.add(PHRDuck.DUCK_NAME, PHRReducer);\n sagasManager.add(PHRSagaName, PHRSaga);\n}\n\nexport { PHRDuck };\n","import React, { Component } from 'react';\nimport * as PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\n\nimport * as store from '../../store';\n\nconst { snackbarDuck } = store;\n\n// eslint-disable-next-line react/prefer-stateless-function\nclass SnackbarProvider extends Component {\n render() {\n const { render, ...others } = this.props;\n return <>{render(others)};\n }\n}\n\nconst mapStateToProps = function mapStateToProps(state) {\n return {\n toShowSnackbar: snackbarDuck.duckSelectors.toShowSnackbarSelector(state),\n showingSnackbarId: snackbarDuck.duckSelectors.showingSnackbarIdSelector(state),\n shouldOpen: snackbarDuck.duckSelectors.shouldOpenSelector(state),\n };\n};\n\nSnackbarProvider.propTypes = {\n render: PropTypes.func.isRequired,\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n snackbarOpened: (snackbarId) => dispatch(snackbarDuck.duckActionCreators.opened(snackbarId)),\n snackbarClosed: () => dispatch(snackbarDuck.duckActionCreators.closed()),\n snackbarExited: () => dispatch(snackbarDuck.duckActionCreators.exited()),\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SnackbarProvider);\n","import { getStore } from '@edf-pkg/app-store';\n\nimport { userDuck } from '../store';\n\nexport function getData() {\n const state = getStore().getState();\n return userDuck.duckSelectors.userSelector(state);\n}\n\nexport function getUserLanguage() {\n const state = getStore().getState();\n return userDuck.duckSelectors.languageSelector(state);\n}\n\nexport function getAuthData() {\n const userData = getData();\n return {\n username: userData.username,\n apiKey: userData.apiKey,\n role: userData.role,\n };\n}\n\nexport function getDeviceId() {\n const userData = getData();\n return userData.deviceId;\n}\n","// Utils of yup. The transforms can also be exported from here.\n\nimport googleLibPhoneNumber from 'google-libphonenumber';\nimport { addMethod, mixed, number, object, string } from 'yup';\n\nimport appDateTime from '@edf-pkg/app-date-time';\nimport { t } from '@edf-pkg/app-i18n';\n\nconst phoneNumberUtil = googleLibPhoneNumber.PhoneNumberUtil.getInstance();\n\nexport function initializeYup() {\n addMethod(number, 'gqlId', function gqlId() {\n return this.transform(function transformer(value, originalValue) {\n if (this.isType(value)) {\n return value;\n }\n return parseInt(originalValue.replace('A_', ''), 10);\n });\n });\n\n addMethod(string, 'phoneNumber', function phoneNumber(message) {\n return this.test('phoneNumber', message, function testFunc(value) {\n let phone = null;\n try {\n phone = phoneNumberUtil.parse(value);\n } catch (error) {\n return false;\n }\n return phoneNumberUtil.isValidNumber(phone);\n });\n });\n\n // TODO: I think we should merge this with the previous method somehow. It's a quick implementation.\n addMethod(string, 'nullablePhoneNumber', function nullablePhoneNumber(message) {\n return this.test('nullablePhoneNumber', message, function testFunc(value) {\n if (value === null || value === undefined || value === '') {\n return true;\n }\n let phone = null;\n try {\n phone = phoneNumberUtil.parse(value);\n } catch (error) {\n return false;\n }\n return phoneNumberUtil.isValidNumber(phone);\n });\n });\n\n addMethod(mixed, 'dateTime', function dateTime(message) {\n return this.test('dateTime', message, function testFunc(value) {\n return appDateTime(value).isValid();\n });\n });\n\n // TODO-MAYBE: The following method (dateTimeNullable()) is a workaround for nullable `dateTime()`.\n // TODO-MAYBE: It should be removed when we further investigate on how to chain `nullable()` to `dateTime()` method and it's possible.\n addMethod(mixed, 'dateTimeNullable', function dateTime(message) {\n return this.test('dateTimeNullable', message, function testFunc(value) {\n if (value === null) {\n return true;\n }\n return appDateTime(value).isValid();\n });\n });\n\n addMethod(string, 'newPassword', function newPassword() {\n return this.test('newPassword', '', function testFunc(value) {\n const { path, createError } = this;\n if (!value || value.length < 8) {\n return createError({ path, message: () => t('signup_validation_err_invalid_password') });\n }\n if (!value.match(/^(?=.*[0-9])(?=.*[a-zA-Z])(.+)$/)) {\n return createError({ path, message: () => t('password_value_error_no_digit_or_letter') });\n }\n return true;\n });\n });\n\n addMethod(string, 'newPasswordConfirmation', function newPasswordConfirmation(newPasswordFieldName) {\n return this.test('newPasswordConfirmation', '', function testFunc(value, context) {\n const { path, createError } = this;\n const newPasswordFieldValue = context?.parent?.[newPasswordFieldName];\n if (newPasswordFieldValue && newPasswordFieldValue.length > 0) {\n if (!value || value !== newPasswordFieldValue) {\n return createError({ path, message: () => t('signup_validation_err_invalid_confirm_password') });\n }\n }\n return true;\n });\n });\n\n addMethod(string, 'password', function password() {\n return this.test('password', '', function testFunc(value) {\n const { path, createError } = this;\n if (!value) {\n return createError({ path, message: () => t('password_value_error_empty') });\n }\n return true;\n });\n });\n\n addMethod(mixed, 'contentTranslation', function contentTranslation() {\n return this.test('contentTranslation', '', function testFunc(contentByLanguage) {\n const schema = contentByLanguage\n ? object().shape(\n Object.fromEntries(Object.keys(contentByLanguage).map((language) => [language, string().ensure()]))\n )\n : mixed().default(undefined);\n return schema.isValid(contentByLanguage);\n });\n });\n}\n","import { mixed, number, object, string } from 'yup';\n\nimport { core as appClientCore, utils as appClientUtils } from '@edf-pkg/app-client';\n\nconst requestSchema = object().shape({\n payload: object().shape({\n timestamp: number().required(),\n level: string().required(),\n message: string().required(),\n os_version: string().required(),\n source: string().required(),\n extra_info: mixed(),\n stack_trace: string().required(),\n device_id: string().required(),\n app_version: number().required(),\n user_id: number().required(),\n }),\n});\n\nexport default async function createLogEndpoint(payload) {\n try {\n const data = await requestSchema.validate({ payload });\n await appClientCore.axiosClientsManager\n .getClient('api')\n .post('/study/log/create/', appClientUtils.object.toFormData(data));\n return true;\n } catch (error) {\n appClientCore.errorMapper(error);\n }\n return null;\n}\n","import createLog from './create-log.endpoint.api';\n\nconst client = {\n api: {\n createLog,\n },\n};\n\nexport default client;\n","import Bowser from 'bowser';\n\nexport function getDeviceOs(): string | null {\n let deviceOs: string | null = null;\n\n if (typeof window !== 'undefined' && window.navigator) {\n const userAgentBasedData = Bowser.getParser(window.navigator.userAgent);\n const osName = userAgentBasedData.getOSName();\n const osVersion = userAgentBasedData.getOSVersion();\n\n if (osName && osVersion) {\n deviceOs = `${osName} ${osVersion}`;\n }\n }\n\n return deviceOs;\n}\n","import * as logLevel from 'loglevel';\nimport snakecaseKeys from 'snakecase-keys';\n\nimport appDateTime from '@edf-pkg/app-date-time';\nimport * as appMain from '@edf-pkg/app-main';\n\nimport client from '../client';\nimport { getDeviceOs } from '../utils';\n\ninterface LogPayload {\n source: string;\n name: string;\n timestamp: string | number;\n osVersion?: string | null;\n deviceId?: string;\n appVersion: number;\n userId: number;\n message: string;\n level: string;\n stackTrace: string;\n extraInfo: Record;\n}\n\nclass Logger {\n private logLevelInstance: logLevel.Logger;\n\n static isProd: boolean = process.env.NODE_ENV === 'production';\n\n static basePayload: LogPayload = {\n source: 'frontend',\n name: 'frontend',\n timestamp: '',\n osVersion: '',\n deviceId: '',\n appVersion: 1,\n userId: -1,\n message: '',\n level: '',\n stackTrace: '',\n extraInfo: {},\n };\n\n constructor() {\n this.logLevelInstance = logLevel.getLogger('@edf-logger');\n if (Logger.isProd) {\n this.logLevelInstance.setLevel('warn', false);\n } else {\n this.logLevelInstance.setLevel('trace', false);\n }\n }\n\n trace(message: string): void {\n this.logLevelInstance.trace(message);\n }\n\n debug(message: string): void {\n this.logLevelInstance.debug(message);\n }\n\n info(message: string): void {\n this.logLevelInstance.info(message);\n }\n\n warn(message: string): void {\n this.logLevelInstance.warn(message);\n }\n\n error(message: string): void {\n this.logLevelInstance.error(message);\n }\n\n logToBackend(payload: Partial): void {\n const finalPayload: LogPayload = {\n ...Logger.basePayload,\n timestamp: appDateTime().toMillis(),\n osVersion: getDeviceOs(),\n ...payload,\n };\n\n if (!finalPayload.deviceId) {\n finalPayload.deviceId = appMain.utils.user.getDeviceId();\n }\n\n client.api\n .createLog(snakecaseKeys(finalPayload))\n .then()\n .catch((error: unknown) => {\n // eslint-disable-next-line no-console\n console.log(error);\n });\n }\n}\n\nconst instance = new Logger();\nexport default instance;\n","import logger from './core/logger';\n\nexport default logger;\n","import { BaseError } from 'make-error-cause';\n\nexport default class EDFError extends BaseError {\n constructor(message, code, cause) {\n super(message, cause);\n this.name = this.constructor.name;\n this.code = code || 'EDF:Error';\n }\n\n toJSON() {\n return { name: this.name, message: this.message, code: this.code };\n }\n}\n","import EDFError from './edf.error';\n\nexport default class APIError extends EDFError {\n constructor(message, code, status, target, details, innerError, cause) {\n const theCode = code || 'EDF:APIError';\n super(message, theCode, cause);\n this.status = status;\n this.target = target;\n this.details = details;\n this.innerError = innerError;\n }\n\n toJSON() {\n return {\n message: this.message,\n code: this.code,\n status: this.status,\n target: this.target,\n details: this.details,\n innerError: this.innerError,\n };\n }\n}\n","import APIError from './api.error';\n\nexport default class APIMappedError extends APIError {\n constructor(message, code, status, target, details, innerError, cause) {\n const theCode = code || 'EDF:APIMappedError';\n super(message, theCode, cause);\n this.status = status;\n this.target = target;\n this.details = details;\n this.innerError = innerError;\n }\n\n toJSON() {\n return {\n message: this.message,\n code: this.code,\n status: this.status,\n target: this.target,\n details: this.details,\n innerError: this.innerError,\n };\n }\n}\n","import APIError from './api.error';\n\nexport default class APIUnauthorizedError extends APIError {\n constructor(message, code, status, target, details, innerError, cause) {\n const theCode = code || 'EDF:APIUnauthorizedError';\n super(message, theCode, status, target, details, innerError, cause);\n }\n}\n","import EDFError from './edf.error';\n\nexport default class ConnectionError extends EDFError {\n constructor(message, cause) {\n super(message, 'EDF:ConnectionError', cause);\n }\n}\n","import EDFError from './edf.error';\n\nexport default class FatalError extends EDFError {\n constructor(message, cause) {\n super(message, 'EDF:FatalError', cause);\n }\n}\n","import EDFError from './edf.error';\n\nexport default class UnknownError extends EDFError {\n constructor(message, cause) {\n super(message, 'EDF:UnknownError', cause);\n }\n}\n","import EDFError from './edf.error';\n\nexport default class ValidationError extends EDFError {\n constructor(message, cause) {\n super(message, 'EDF:ValidationError', cause);\n }\n}\n","import { fullStack } from 'make-error-cause';\nimport * as Sentry from '@sentry/browser';\n\nimport appLogger from '@edf-pkg/app-logger';\n\nimport APIError from '../errors/api.error';\nimport APIMappedError from '../errors/api.mapped.error';\nimport APIUnAuthorizedError from '../errors/api.unauthorized.error';\nimport ConnectionError from '../errors/connection.error';\nimport EDFError from '../errors/edf.error';\nimport FatalError from '../errors/fatal.error';\nimport UnknownError from '../errors/unknown.error';\nimport ValidationError from '../errors/validation.error';\n\nfunction anError(error) {\n const errorTypesToHandle = [FatalError, APIError, UnknownError, EDFError, ValidationError, TypeError];\n const errorTypesToExclude = [APIMappedError, APIUnAuthorizedError, ConnectionError];\n\n const isErrorOfInterest =\n errorTypesToHandle.some((type) => error instanceof type) && !errorTypesToExclude.some((type) => error instanceof type);\n\n appLogger.error(fullStack(error));\n\n if (isErrorOfInterest) {\n Sentry.withScope((scope) => {\n scope.setTag('catch_in', 'errorHandler');\n scope.setExtras({\n stackTrace: fullStack(error),\n name: error.constructor.name || 'externalLog',\n });\n Sentry.captureException(error);\n });\n }\n\n return error;\n}\n\nexport { anError };\n","import APIError from './api.error';\n\nexport default class APIMissingParamsError extends APIError {\n constructor(message, code, status, target, details, innerError, cause) {\n const theCode = code || 'EDF:APIMissingParamError';\n super(message, theCode, status, target, details, innerError, cause);\n }\n}\n","import EDFError from './edf.error';\n\nexport default class ClientError extends EDFError {\n constructor(message, code, cause) {\n super(message, code || 'EDF:ClientError', cause);\n }\n}\n","import faIR from 'dayjs/locale/fa';\n\nexport default { ...faIR, weekdaysShort: 'یک_دو_سه_چهار_پنج_جم_شن'.split('_') };\n","export default {\n name: 'zu-zu',\n weekdays: 'ISonto_UMsombuluko_ULwesibili_ULwesithathu_ULwesine_ULwesihlanu_UMgqibelo'.split('_'),\n weekdaysShort: 'Xon_Mso_Bil_Tha_Sin_Hla_Mgq'.split('_'),\n weekdaysMin: 'S_M_B_T_S_H_M'.split('_'),\n months: 'Januwari_Februwari_Mashi_Ephreli_Meyi_Juni_Julayi_Agasti_Septhemba_Okthoba_Novemba_Disemba'.split('_'),\n monthsShort: 'Jan_Feb_Mas_Eph_Mey_Jun_Jul_Aga_Sep_Okta_Nov_Dis'.split('_'),\n ordinal: (n) => `${n}º`,\n formats: {\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 l: 'D/M/YYYY',\n ll: 'D MMM, YYYY',\n lll: 'D MMM, YYYY h:mm A',\n llll: 'ddd, MMM D, YYYY h:mm A',\n },\n relativeTime: {\n future: 'olandelayo %s',\n past: '%s edlule',\n s: 'imizuzwana embalwa',\n m: 'umzuzu',\n mm: '%d imizuzu',\n h: 'ihora',\n hh: '%d amahora',\n d: 'usuku',\n dd: '%d izinsuku',\n M: 'ngenyanga',\n MM: '%d izinyanga',\n y: 'unyaka',\n yy: '%d iminyaka',\n },\n};\n","import dayjs from 'dayjs';\nimport caES from 'dayjs/locale/ca';\nimport deDe from 'dayjs/locale/de';\n// en-ca is identical to en-us. But the exported dayjs/locale/en cannot be used for dayjs.locale('en-US', enUS); call.\nimport enUS from 'dayjs/locale/en-ca';\nimport esES from 'dayjs/locale/es';\nimport esUS from 'dayjs/locale/es-us';\nimport frCA from 'dayjs/locale/fr-ca';\nimport itIT from 'dayjs/locale/it';\nimport nlNL from 'dayjs/locale/nl';\nimport slSI from 'dayjs/locale/sl';\nimport urPK from 'dayjs/locale/ur';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\nimport { FatalError } from '@edf-pkg/app-error';\n\nimport faIR from './locales/fa-ir.locale';\nimport zuZU from './locales/zu-zu.locale';\n\nlet initialized = false;\n\nexport function initialize() {\n if (initialized) {\n return;\n }\n dayjs.extend(LocalizedFormat);\n dayjs.extend(utc);\n dayjs.extend(timezone);\n dayjs.extend(customParseFormat);\n dayjs.extend(relativeTime);\n dayjs.extend(advancedFormat);\n dayjs.locale('de-DE', deDe);\n dayjs.locale('es-ES', esES);\n dayjs.locale('ca-ES', caES);\n dayjs.locale('sl-SI', slSI);\n dayjs.locale('es-US', esUS);\n dayjs.locale('es-CO', esUS);\n dayjs.locale('fa-IR', faIR);\n dayjs.locale('fr-CA', frCA);\n dayjs.locale('it-IT', itIT);\n dayjs.locale('nl-NL', nlNL);\n dayjs.locale('ur-PK', urPK);\n dayjs.locale('en-US', enUS);\n dayjs.locale('zu-ZU', zuZU);\n initialized = true;\n}\n\nexport function changeLocale(code) {\n if (!initialized) {\n throw new FatalError('You should initialize dateTime.core before calling changeLocale.');\n }\n dayjs.locale(code);\n}\n","import dayjs from 'dayjs';\n\nfunction DateTime(dateTime, parseFormat) {\n if (this instanceof DateTime) {\n if (dateTime instanceof DateTime) {\n // clone `dateTime`\n this.instance = dayjs(dateTime.instance, parseFormat);\n } else {\n // create dayjs instance of `dateTime`\n this.instance = dayjs(dateTime, typeof dateTime === 'number' ? undefined : parseFormat);\n }\n return this;\n }\n return new DateTime(dateTime, parseFormat);\n}\n\nDateTime.prototype.isValid = function isValid() {\n return this.instance != null && this.instance.isValid();\n};\n\nDateTime.prototype.isBefore = function isBefore(dateTime) {\n return this.instance.isBefore(dateTime.instance);\n};\n\nDateTime.prototype.isAfter = function isAfter(dateTime) {\n return this.instance.isAfter(dateTime.instance);\n};\n\nDateTime.prototype.isBeforeToday = function isBeforeToday() {\n return this.instance.isBefore(DateTime().instance, 'day');\n};\n\nDateTime.prototype.isSame = function isSame(dateTime, unit) {\n return this.instance.isSame(dateTime.instance, unit);\n};\n\nDateTime.prototype.isSameDay = function isSameDay(dateTime) {\n return this.instance.isSame(dateTime.instance, 'day');\n};\n\nDateTime.prototype.isSameWeek = function isSameWeek(dateTime) {\n return this.instance.isSame(dateTime.instance, 'week');\n};\n\nDateTime.prototype.isSameMonth = function isSameMonth(dateTime) {\n return this.instance.isSame(dateTime.instance, 'month');\n};\n\nDateTime.prototype.isSameYear = function isSameYear(dateTime) {\n return this.instance.isSame(dateTime.instance, 'year');\n};\n\n// return: MilliSeconds between two dateTimes in number\nDateTime.prototype.diffMillisecond = function diffMillisecond(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'millisecond', floatingPointResult);\n};\n\nDateTime.prototype.diffSecond = function diffSecond(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'second', floatingPointResult);\n};\n\nDateTime.prototype.diffMinute = function diffMinute(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'minute', floatingPointResult);\n};\n\nDateTime.prototype.diffHour = function diffHour(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'hour', floatingPointResult);\n};\n\nDateTime.prototype.diffDay = function diffDay(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'day', floatingPointResult);\n};\n\nDateTime.prototype.diffWeek = function diffWeek(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'week', floatingPointResult);\n};\n\nDateTime.prototype.diffMonth = function diffMonth(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'month', floatingPointResult);\n};\n\nDateTime.prototype.diffYear = function diffYear(dateTime, floatingPointResult = false) {\n return this.instance.diff(dateTime.instance, 'year', floatingPointResult);\n};\n\n// return: full year such as 2019\nDateTime.prototype.getFullYear = function getFullYear() {\n return this.instance.year();\n};\n\n// return: Month index (zero-based)\nDateTime.prototype.getMonth = function getMonth() {\n return this.instance.month();\n};\n\nDateTime.prototype.toMillis = function toMillis() {\n return this.instance.valueOf();\n};\n\nDateTime.prototype.toUTCMillis = function toUTCMillis() {\n return this.instance.utc(true).valueOf();\n};\n\n// return: `string` of ISO8061 format\nDateTime.prototype.toISOString = function toISOString() {\n return this.instance.toISOString();\n};\n\n// (formatStr): one of the `CreateDateTime.FORMATS`.\n// return: formatted `string`\nDateTime.prototype.format = function format(formatStr, { formatUtc } = {}) {\n const time = this.instance.locale(dayjs.locale());\n return (formatUtc ? dayjs.utc(time.valueOf()) : time).format(formatStr);\n};\n\n// return: `DateTime` of first hour of day\nDateTime.prototype.startOfDay = function startOfDay() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).startOf('day');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of start minute\nDateTime.prototype.startOfMinute = function startOfMinute() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).startOf('minute');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of start hour\nDateTime.prototype.startOfHour = function startOfHour() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).startOf('hour');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of first day of week (Depends on `weekStart` in locale)\nDateTime.prototype.startOfWeek = function startOfWeek() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).startOf('week');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of first day of month\nDateTime.prototype.startOfMonth = function startOfMonth() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).startOf('month');\n return DateTime(dayjsInstance);\n};\n// return: `DateTime` of first day of year\nDateTime.prototype.startOfYear = function startOfYear() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).startOf('year');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of last day of year\nDateTime.prototype.endOfYear = function endOfYear() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).endOf('year');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of last hour of day\nDateTime.prototype.endOfDay = function endOfDay() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).endOf('day');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of last day of week (Depends on `weekStart` in locale)\nDateTime.prototype.endOfWeek = function endOfWeek() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).endOf('week');\n return DateTime(dayjsInstance);\n};\n\n// return: `DateTime` of last day of month\nDateTime.prototype.endOfMonth = function endOfMonth() {\n const dayjsInstance = this.instance.locale(dayjs.locale()).endOf('month');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime + 'monthCount'\nDateTime.prototype.addMonth = function addMonth(monthCount) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).add(monthCount, 'month');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime + 'yearCount'\nDateTime.prototype.addYear = function addYear(yearCount) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).add(yearCount, 'year');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime + 'weekCount'\nDateTime.prototype.addWeek = function addWeek(weekCount) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).add(weekCount, 'week');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime + `dayCount`\nDateTime.prototype.addDay = function addDay(dayCount) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).add(dayCount, 'day');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime + `hour`\nDateTime.prototype.addHour = function addHour(hour) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).add(hour, 'hour');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime - `dayCount`\nDateTime.prototype.subtractDay = function subtractDay(dayCount) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).subtract(dayCount, 'day');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime - `monthCount`\nDateTime.prototype.subtractMonth = function subtractMonth(monthCount) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).subtract(monthCount, 'month');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime - `weekCount`\nDateTime.prototype.subtractWeek = function subtractWeek(weekCount) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).subtract(weekCount, 'week');\n return DateTime(dayjsInstance);\n};\n\n// return: new `DateTime` of old DateTime - `hour`\nDateTime.prototype.subtractHour = function subtractHour(hour) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).subtract(hour, 'hour');\n return DateTime(dayjsInstance);\n};\n\n// return: number of day of week\nDateTime.prototype.getWeekDay = function getWeekDay() {\n return this.instance.day();\n};\n\n// return: number of day of month\nDateTime.prototype.getDayOfMonth = function getDayOfMonth() {\n return this.instance.date();\n};\n\nDateTime.prototype.getHour = function getHour() {\n return this.instance.hour();\n};\n\nDateTime.prototype.getMinute = function getMinute() {\n return this.instance.minute();\n};\n\nDateTime.prototype.setSecond = function setSecond(s) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).second(s);\n return DateTime(dayjsInstance);\n};\n\nDateTime.prototype.setMinute = function setMinute(m) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).minute(m);\n return DateTime(dayjsInstance);\n};\n\nDateTime.prototype.setHour = function setHour(h) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).hour(h);\n return DateTime(dayjsInstance);\n};\n\nDateTime.prototype.setMonth = function setMonth(m) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).set('month', m);\n return DateTime(dayjsInstance);\n};\n\nDateTime.prototype.setYear = function setYear(y) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).set('year', y);\n return DateTime(dayjsInstance);\n};\n\nDateTime.prototype.setMonthDay = function setMonthDay(d) {\n const dayjsInstance = this.instance.locale(dayjs.locale()).set('date', d);\n return DateTime(dayjsInstance);\n};\n\nDateTime.prototype.getSecond = function getSecond() {\n return this.instance.second();\n};\n\n// return: Get the entire weekdays of a `DateTime`\nDateTime.prototype.getAllWeekdaysOfDate = function getAllWeekdaysOfDate() {\n const dayjsInstance = this.startOfWeek();\n return Array.from({ length: 7 }, (_, index) => dayjsInstance.addDay(index));\n};\n\nDateTime.prototype.getUTCOffsetInMinutes = function getUTCOffsetInMinutes() {\n return this.instance.utcOffset();\n};\n\n// Relative time\nDateTime.prototype.fromNow = function fromNow(withoutSuffix) {\n return this.instance.fromNow(withoutSuffix);\n};\n\nDateTime.prototype.from = function from(compared, withoutSuffix) {\n return this.instance.from(compared, withoutSuffix);\n};\n\nDateTime.prototype.toNow = function toNow(withoutSuffix) {\n return this.instance.toNow(withoutSuffix);\n};\n\nDateTime.prototype.to = function to(compared, withoutSuffix) {\n return this.instance.to(compared, withoutSuffix);\n};\n\nDateTime.getMonthsFullName = function getMonthsFullName() {\n return [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n};\nDateTime.getMonthsShortName = function getMonthsShortName() {\n return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n};\n\n// return: An array of normalized \"DateTime\"s\nDateTime.normalizeDates = function normalizeDates(dates) {\n return dates.map((date) => DateTime(date));\n};\n\n// return: string array of week day name (Depends on `weekStart` in locale)\nDateTime.weekDaysFullName = function weekDaysFullName() {\n const day = DateTime().startOfWeek().instance.day();\n const daysOfWeekNumber = [];\n\n Array.from({ length: 7 }, (_, index) => daysOfWeekNumber.push(index), day);\n Array.from({ length: day }, (_, index) => daysOfWeekNumber.push(index));\n\n return daysOfWeekNumber.map((i) => DateTime().instance.day(i).format('dddd')); // is accessible from `dayjs().$locale()` too\n};\n\n// return: string array of week day name (Depends on `weekStart` in locale)\nDateTime.weekDaysShortName = function weekDaysShortName() {\n const weekDay = DateTime().startOfWeek().getWeekDay();\n const daysOfWeekNumber = [];\n\n Array.from({ length: 7 }, (_, index) => daysOfWeekNumber.push(index), weekDay);\n Array.from({ length: weekDay }, (_, index) => daysOfWeekNumber.push(index));\n\n return daysOfWeekNumber.map((i) => DateTime().instance.day(i).format('ddd'));\n};\n\nDateTime.humanizeDuration = function humanizeDuration(totalDurationInSecond) {\n // TODO: Replace it with dayjs.duration\n const hour = Math.floor(totalDurationInSecond / 3600);\n const minute = Math.floor((totalDurationInSecond - hour * 3600) / 60);\n const second = Math.round(totalDurationInSecond % 60);\n\n const hourWithPrefix = (hour < 10 ? '0' : '') + hour;\n\n return `${hour ? `${hourWithPrefix}:` : ''}${minute < 10 ? '0' : ''}${minute}:${second < 10 ? '0' : ''}${second}`;\n};\n\nDateTime.timezone = {\n getCurrent() {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n },\n parse(dateTime, timezoneName) {\n if (dateTime instanceof DateTime) {\n return DateTime(dayjs.tz(dateTime.format(DateTime.FORMATS.DATE_TIME), timezoneName));\n }\n return DateTime(dayjs.tz(dateTime, timezoneName));\n },\n getTimezoneOffset(timezone) {\n const offsetInMinutes = this.parse(DateTime(), timezone).getUTCOffsetInMinutes();\n const offsetInHours = offsetInMinutes / 60;\n const isPositive = offsetInHours > 0;\n\n const hours = isPositive ? Math.floor(offsetInHours) : Math.ceil(offsetInHours);\n const minutes = offsetInMinutes % 60;\n return `${isPositive ? '+' : ''}${hours}${minutes > 0 ? `:${minutes}` : ''}`;\n },\n};\n\n// If we deprecated ordinal day formats, we can deprecate the advancedFormat dayjs plugin too.\nDateTime.FORMATS = {\n // for instances, supposed it's `Thursday, January 16, 2020 8:21:08 PM (01/16/2020)`\n DATE_MED: 'll', // 'Jan 16, 2020'\n MEDIA_DATETIME: 'YYYYMMDDHHmmssSSS', // '20200116202108984'\n DATE_TIME: 'YYYY-MM-DD HH:mm:ss', // 2020-01-16 20:21:08\n // TODO-MAYBE: according to the new designs, use 'MMM D, YYYY, HH:mm' instead.\n DATE_TIME_HUMAN_READABLE: 'MMM. D, YYYY HH:mm', // Jan. 6, 2020 20:21\n DATE_TIME_NO_SEC: 'YYYY-MM-DD HH:mm', // 2020-01-16 20:21\n DATE: 'YYYY-MM-DD', // 2020-01-16\n DATE_HUMAN_READABLE: 'MMMM DD, YYYY', // January 16, 2020\n DATE_HUMAN_READABLE_SHORT_MONTH: 'MMM DD, YYYY', // Jan 16, 2020\n TIME: 'HH:mm:ss', // 20:21:08\n HOUR_MINUTE: 'HH:mm', // 20:21\n WEEK_DAY_SHORT_NAME: 'ddd', // Thu\n MONTH_NAME_WITH_YEAR: 'MMMM YYYY', // January 2020\n MONTH_SHORT_NAME_WITH_YEAR: 'MMM. YYYY', // Jan. 2020\n MONTH_SHORT_NAME_WITH_DAY: 'MMM DD', // Jan 16\n MONTH_SHORT_NAME_WITH_ORDINAL_DAY: 'MMM. Do', // Jan. 16th\n MONTH_NAME_WITH_DAY: 'MMMM DD', // January 16\n MONTH_FULL_NAME: 'MMMM', // January\n FULL_YEAR: 'YYYY', // 2020\n DAY: 'DD', // 03\n DAY_WEEK: 'DD ddd', // 16 Thu\n WEEK_DAY_WITH_DATE: 'dddd MMM DD', // Thursday Jan 16\n WEEK_DAY_SHORT_WITH_DATE: 'ddd MMM DD', // Thu Jan 16\n WEEK_DAY_WITH_ORDINAL_DAY: 'ddd. Do', // Thu. 16th\n WEEK_DAY_WITH_ORDINAL_DAY_WITH_COMMA: 'ddd, Do', // Thu. 16th\n DATE_IN_LOCALE: 'L', // 01/16/2020 (localized format)\n TIME_IN_LOCALE: 'LT', // 8:21 PM (localized format)\n MERIDIEM: 'A', // PM\n HOUR_MINUTE_WITH_SEPARATOR: 'h|mm', // 8|21\n FULL_DATE_TIME_LOCALE: 'LLLL', // Thursday, January 16, 2020 8:21 PM\n // TODO: This should be merged into other formats.\n FULL_DATE_TIME_LOCALE_ACTIVITY_SESSIONS: 'MMM DD, YYYY HH:mm', // Jan 16, 2020 08:21\n ADHERENCE_REPORT_API_MODIFIED_DATE_FORMAT: 'MMM-DD-YYYY HH:mm', // Jan-16-2020 08:21\n HOUR_MINUTE_MERIDIEM_WITH_SEPARATOR: 'hh:mm|A', // 08:21|PM\n DATE_HUMAN_READABLE_WITH_SEPARATOR: 'MMMM|D|YYYY', // January 16, 2020\n HOUR_MINUTE_MERIDIEM: 'hh:mm A', // 08:21 PM\n DATE_HOUR_MINUTE_MERIDIEM: 'YYYY-MM-DD hh:mm A', // 2020-01-16 08:21 PM\n YEAR_MONTH: 'YYYY-MM', // 2020-01\n ISO_8601: 'YYYY-MM-DDTHH:mm:ss.SSSZ', // 2020-01-16T20:21:08.000+03:30,\n MONTH_DAY: 'M/D', // 1/16\n};\n\nDateTime.timezones = {\n EtcUTC: 'Etc/UTC',\n};\n\nexport default DateTime;\n","import * as core from './core';\nimport dateTime from './core/date-time';\n\nexport default dateTime;\n\nexport { core };\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n borderBottom: '2px solid #eee',\n padding: theme.spacing(2),\n },\n expanded: {\n backgroundColor: '#F8FAFF',\n },\n title: {\n color: '#081F4D',\n cursor: 'pointer',\n fontWeight: 'bold',\n fontSize: theme.typography.pxToRem(16),\n '&:hover': {\n color: theme.palette.primary.main,\n },\n },\n subtitle: {\n marginTop: theme.spacing(1),\n },\n sideContentWrapper: {\n justifyContent: 'space-between',\n [theme.breakpoints.up('md')]: {\n justifyContent: 'flex-end',\n gap: theme.spacing(4),\n },\n },\n date: {\n color: '#767B87',\n },\n buttonWrapper: {\n '& [data-reach-accordion-button]': {\n border: 'none !important',\n backgroundColor: 'transparent',\n display: 'flex',\n },\n },\n buttonText: {\n fontWeight: 700,\n color: theme.palette.primary.main,\n textTransform: 'uppercase',\n },\n buttonIconWrapper: {\n width: 20,\n height: 20,\n borderRadius: '50%',\n backgroundColor: theme.palette.primary.main,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n marginLeft: theme.spacing(1),\n },\n buttonIcon: {\n color: theme.palette.common.white,\n fontSize: theme.typography.pxToRem(16),\n transform: 'rotate(90deg)',\n },\n buttonIconUp: {\n transform: 'rotate(270deg)',\n },\n}));\n","import React from 'react';\nimport clsx from 'clsx';\nimport * as PropTypes from 'prop-types';\nimport { Grid, Typography } from '@material-ui/core';\nimport { AccordionButton, useAccordionItemContext } from '@reach/accordion';\n\nimport appDateTime from '@edf-pkg/app-date-time';\n\nimport useStyles from './styles';\n\nimport { FontAwesomeIcon } from '$common/fontawesome-pro/react-fontawesome';\n\nconst Header = (props) => {\n const { title, authors, date, url } = props;\n\n const { isExpanded } = useAccordionItemContext();\n\n const classes = useStyles(props);\n\n return (\n
\n \n \n \n \n {title}\n \n \n \n \n {authors.map((author) => `${author.firstName} ${author.lastName}`).join(', ')}\n \n \n \n \n \n \n {appDateTime(date).format(appDateTime.FORMATS.DATE_HUMAN_READABLE)}\n \n \n \n \n \n {isExpanded ? 'Collapse' : 'Read More'}\n \n
\n \n
\n
\n
\n
\n
\n
\n );\n};\n\nHeader.propTypes = {\n title: PropTypes.string.isRequired,\n date: PropTypes.string.isRequired,\n authors: PropTypes.array.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nexport default Header;\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n margin: theme.spacing(0.5, 0),\n },\n}));\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { AccordionItem as RUIAccordionItem } from '@reach/accordion';\n\nimport Content from './content';\nimport Header from './header';\nimport useStyles from './styles';\n\nconst AccordionItem = (props) => {\n const { item } = props;\n\n const classes = useStyles();\n\n return (\n
\n \n
\n \n \n
\n );\n};\n\nAccordionItem.propTypes = {\n item: PropTypes.objectOf(PropTypes.any).isRequired,\n};\n\nexport default AccordionItem;\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n marginTop: theme.spacing(1),\n },\n noItemFound: {\n textAlign: 'center',\n },\n}));\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Accordion } from '@reach/accordion';\n\nimport Loading from '$landing-page/components/loading';\n\nimport AccordionItem from './accordion-item';\nimport useStyles from './styles';\n\nconst PublicationsAccordionList = (props) => {\n const { items, loading, error } = props;\n\n const classes = useStyles();\n\n return (\n
\n \n {!loading && !error && items.length === 0 ? (\n

No publication found!

\n ) : (\n \n {items.map((publication) => (\n \n ))}\n \n )}\n
\n );\n};\n\nPublicationsAccordionList.defaultProps = {\n loading: false,\n error: false,\n};\n\nPublicationsAccordionList.propTypes = {\n items: PropTypes.array.isRequired,\n loading: PropTypes.bool,\n error: PropTypes.bool,\n};\n\nexport default PublicationsAccordionList;\n","import { makeStyles } from '@material-ui/styles';\n\nexport default makeStyles((theme) => ({\n root: {\n flexShrink: 0,\n padding: theme.spacing(1, 2),\n margin: theme.spacing(0.3),\n fontSize: theme.typography.pxToRem(12),\n borderRadius: 20,\n border: '1px solid #E5EBEE',\n backgroundColor: theme.palette.common.white,\n },\n clickable: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: '#CDE6FF',\n },\n },\n selected: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n },\n disabled: {\n cursor: 'auto',\n '&:hover': {\n color: '#606060',\n backgroundColor: theme.palette.common.white,\n },\n },\n}));\n","import React from 'react';\nimport clsx from 'clsx';\nimport * as PropTypes from 'prop-types';\n\nimport useStyles from './styles';\n\nconst Tag = (props) => {\n const { name, onClick, selected, disabled } = props;\n const classes = useStyles(props);\n\n const clickable = !disabled && onClick;\n return (\n \n {name}\n \n );\n};\n\nTag.defaultProps = {\n onClick: undefined,\n selected: false,\n disabled: false,\n};\n\nTag.propTypes = {\n name: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default Tag;\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;","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;","import { SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, timestampInSeconds, uuid4 } from '@sentry/utils';\n/**\n * @inheritdoc\n */\nvar Session = /** @class */function () {\n function Session(context) {\n this.errors = 0;\n this.sid = uuid4();\n this.duration = 0;\n this.status = SessionStatus.Ok;\n this.init = true;\n this.ignoreDuration = false;\n // Both timestamp and started are in seconds since the UNIX epoch.\n var startingTime = timestampInSeconds();\n this.timestamp = startingTime;\n this.started = startingTime;\n if (context) {\n this.update(context);\n }\n }\n /** JSDoc */\n // eslint-disable-next-line complexity\n Session.prototype.update = function (context) {\n if (context === void 0) {\n context = {};\n }\n if (context.user) {\n if (!this.ipAddress && context.user.ip_address) {\n this.ipAddress = context.user.ip_address;\n }\n if (!this.did && !context.did) {\n this.did = context.user.id || context.user.email || context.user.username;\n }\n }\n this.timestamp = context.timestamp || timestampInSeconds();\n if (context.ignoreDuration) {\n this.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n this.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n this.init = context.init;\n }\n if (!this.did && context.did) {\n this.did = \"\" + context.did;\n }\n if (typeof context.started === 'number') {\n this.started = context.started;\n }\n if (this.ignoreDuration) {\n this.duration = undefined;\n } else if (typeof context.duration === 'number') {\n this.duration = context.duration;\n } else {\n var duration = this.timestamp - this.started;\n this.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n this.release = context.release;\n }\n if (context.environment) {\n this.environment = context.environment;\n }\n if (!this.ipAddress && context.ipAddress) {\n this.ipAddress = context.ipAddress;\n }\n if (!this.userAgent && context.userAgent) {\n this.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n this.errors = context.errors;\n }\n if (context.status) {\n this.status = context.status;\n }\n };\n /** JSDoc */\n Session.prototype.close = function (status) {\n if (status) {\n this.update({\n status: status\n });\n } else if (this.status === SessionStatus.Ok) {\n this.update({\n status: SessionStatus.Exited\n });\n } else {\n this.update();\n }\n };\n /** JSDoc */\n Session.prototype.toJSON = function () {\n return dropUndefinedKeys({\n sid: \"\" + this.sid,\n init: this.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(this.started * 1000).toISOString(),\n timestamp: new Date(this.timestamp * 1000).toISOString(),\n status: this.status,\n errors: this.errors,\n did: typeof this.did === 'number' || typeof this.did === 'string' ? \"\" + this.did : undefined,\n duration: this.duration,\n attrs: dropUndefinedKeys({\n release: this.release,\n environment: this.environment,\n ip_address: this.ipAddress,\n user_agent: this.userAgent\n })\n });\n };\n return Session;\n}();\nexport { Session };","import { __assign, __read, __spread } from \"tslib\";\n/* eslint-disable max-lines */\nimport { SessionStatus } from '@sentry/types';\nimport { consoleSandbox, dateTimestampInSeconds, getGlobalObject, isNodeEnv, logger, uuid4 } from '@sentry/utils';\nimport { Scope } from './scope';\nimport { Session } from './session';\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport var API_VERSION = 4;\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nvar DEFAULT_BREADCRUMBS = 100;\n/**\n * @inheritDoc\n */\nvar Hub = /** @class */function () {\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n function Hub(client, scope, _version) {\n if (scope === void 0) {\n scope = new Scope();\n }\n if (_version === void 0) {\n _version = API_VERSION;\n }\n this._version = _version;\n /** Is a {@link Layer}[] containing the client and scope */\n this._stack = [{}];\n this.getStackTop().scope = scope;\n this.bindClient(client);\n }\n /**\n * @inheritDoc\n */\n Hub.prototype.isOlderThan = function (version) {\n return this._version < version;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.bindClient = function (client) {\n var top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.pushScope = function () {\n // We want to clone the content of prev scope\n var scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope: scope\n });\n return scope;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.popScope = function () {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.withScope = function (callback) {\n var scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getClient = function () {\n return this.getStackTop().client;\n };\n /** Returns the scope of the top stack. */\n Hub.prototype.getScope = function () {\n return this.getStackTop().scope;\n };\n /** Returns the scope stack for domains or the process. */\n Hub.prototype.getStack = function () {\n return this._stack;\n };\n /** Returns the topmost scope layer in the order domain > local > process. */\n Hub.prototype.getStackTop = function () {\n return this._stack[this._stack.length - 1];\n };\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n Hub.prototype.captureException = function (exception, hint) {\n var eventId = this._lastEventId = uuid4();\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: exception,\n syntheticException: syntheticException\n };\n }\n this._invokeClient('captureException', exception, __assign(__assign({}, finalHint), {\n event_id: eventId\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureMessage = function (message, level, hint) {\n var eventId = this._lastEventId = uuid4();\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: message,\n syntheticException: syntheticException\n };\n }\n this._invokeClient('captureMessage', message, level, __assign(__assign({}, finalHint), {\n event_id: eventId\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureEvent = function (event, hint) {\n var eventId = this._lastEventId = uuid4();\n this._invokeClient('captureEvent', event, __assign(__assign({}, hint), {\n event_id: eventId\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.lastEventId = function () {\n return this._lastEventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.addBreadcrumb = function (breadcrumb, hint) {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n if (!scope || !client) return;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _b = client.getOptions && client.getOptions() || {},\n _c = _b.beforeBreadcrumb,\n beforeBreadcrumb = _c === void 0 ? null : _c,\n _d = _b.maxBreadcrumbs,\n maxBreadcrumbs = _d === void 0 ? DEFAULT_BREADCRUMBS : _d;\n if (maxBreadcrumbs <= 0) return;\n var timestamp = dateTimestampInSeconds();\n var mergedBreadcrumb = __assign({\n timestamp: timestamp\n }, breadcrumb);\n var finalBreadcrumb = beforeBreadcrumb ? consoleSandbox(function () {\n return beforeBreadcrumb(mergedBreadcrumb, hint);\n }) : mergedBreadcrumb;\n if (finalBreadcrumb === null) return;\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setUser = function (user) {\n var scope = this.getScope();\n if (scope) scope.setUser(user);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTags = function (tags) {\n var scope = this.getScope();\n if (scope) scope.setTags(tags);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtras = function (extras) {\n var scope = this.getScope();\n if (scope) scope.setExtras(extras);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTag = function (key, value) {\n var scope = this.getScope();\n if (scope) scope.setTag(key, value);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtra = function (key, extra) {\n var scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n };\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Hub.prototype.setContext = function (name, context) {\n var scope = this.getScope();\n if (scope) scope.setContext(name, context);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.configureScope = function (callback) {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n if (scope && client) {\n callback(scope);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.run = function (callback) {\n var oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getIntegration = function (integration) {\n var client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Hub\");\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startSpan = function (context) {\n return this._callExtensionMethod('startSpan', context);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startTransaction = function (context, customSamplingContext) {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.traceHeaders = function () {\n return this._callExtensionMethod('traceHeaders');\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureSession = function (endSession) {\n if (endSession === void 0) {\n endSession = false;\n }\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n // only send the update\n this._sendSessionUpdate();\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.endSession = function () {\n var _a, _b, _c, _d, _e;\n (_c = (_b = (_a = this.getStackTop()) === null || _a === void 0 ? void 0 : _a.scope) === null || _b === void 0 ? void 0 : _b.getSession()) === null || _c === void 0 ? void 0 : _c.close();\n this._sendSessionUpdate();\n // the session is over; take it off of the scope\n (_e = (_d = this.getStackTop()) === null || _d === void 0 ? void 0 : _d.scope) === null || _e === void 0 ? void 0 : _e.setSession();\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startSession = function (context) {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n var _b = client && client.getOptions() || {},\n release = _b.release,\n environment = _b.environment;\n // Will fetch userAgent if called from browser sdk\n var global = getGlobalObject();\n var userAgent = (global.navigator || {}).userAgent;\n var session = new Session(__assign(__assign(__assign({\n release: release,\n environment: environment\n }, scope && {\n user: scope.getUser()\n }), userAgent && {\n userAgent: userAgent\n }), context));\n if (scope) {\n // End existing session if there's one\n var currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === SessionStatus.Ok) {\n currentSession.update({\n status: SessionStatus.Exited\n });\n }\n this.endSession();\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n return session;\n };\n /**\n * Sends the current Session on the scope\n */\n Hub.prototype._sendSessionUpdate = function () {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n if (!scope) return;\n var session = scope.getSession && scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n };\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Hub.prototype._invokeClient = function (method) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var _b = this.getStackTop(),\n scope = _b.scope,\n client = _b.client;\n if (client && client[method]) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n (_a = client)[method].apply(_a, __spread(args, [scope]));\n }\n };\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Hub.prototype._callExtensionMethod = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n logger.warn(\"Extension method \" + method + \" couldn't be found, doing nothing.\");\n };\n return Hub;\n}();\nexport { Hub };\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier() {\n var carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined\n };\n return carrier;\n}\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n/**\n * Returns the active domain, if one exists\n * @deprecated No longer used; remove in v7\n * @returns The domain, or undefined if there is no active domain\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function getActiveDomain() {\n logger.warn('Function `getActiveDomain` is deprecated and will be removed in a future version.');\n var sentry = getMainCarrier().__SENTRY__;\n return sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n}\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n var _a, _b, _c;\n try {\n var activeDomain = (_c = (_b = (_a = getMainCarrier().__SENTRY__) === null || _a === void 0 ? void 0 : _a.extensions) === null || _b === void 0 ? void 0 : _b.domain) === null || _c === void 0 ? void 0 : _c.active;\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) return carrier.__SENTRY__.hub;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = new Hub();\n return carrier.__SENTRY__.hub;\n}\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nexport function setHubOnCarrier(carrier, hub) {\n if (!carrier) return false;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = hub;\n return true;\n}","import { __assign, __read, __spread } from \"tslib\";\nimport { dateTimestampInSeconds, getGlobalObject, isPlainObject, isThenable, SyncPromise } from '@sentry/utils';\n/**\n * Absolute maximum number of breadcrumbs added to an event.\n * The `maxBreadcrumbs` option cannot be higher than this value.\n */\nvar MAX_BREADCRUMBS = 100;\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nvar Scope = /** @class */function () {\n function Scope() {\n /** Flag if notifiying is happening. */\n this._notifyingListeners = false;\n /** Callback for client to receive scope changes. */\n this._scopeListeners = [];\n /** Callback list that will be called after {@link applyToEvent}. */\n this._eventProcessors = [];\n /** Array of breadcrumbs. */\n this._breadcrumbs = [];\n /** User */\n this._user = {};\n /** Tags */\n this._tags = {};\n /** Extra */\n this._extra = {};\n /** Contexts */\n this._contexts = {};\n }\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n Scope.clone = function (scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = __spread(scope._breadcrumbs);\n newScope._tags = __assign({}, scope._tags);\n newScope._extra = __assign({}, scope._extra);\n newScope._contexts = __assign({}, scope._contexts);\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = __spread(scope._eventProcessors);\n newScope._requestSession = scope._requestSession;\n }\n return newScope;\n };\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n Scope.prototype.addScopeListener = function (callback) {\n this._scopeListeners.push(callback);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addEventProcessor = function (callback) {\n this._eventProcessors.push(callback);\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setUser = function (user) {\n this._user = user || {};\n if (this._session) {\n this._session.update({\n user: user\n });\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getUser = function () {\n return this._user;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getRequestSession = function () {\n return this._requestSession;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setRequestSession = function (requestSession) {\n this._requestSession = requestSession;\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTags = function (tags) {\n this._tags = __assign(__assign({}, this._tags), tags);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTag = function (key, value) {\n var _a;\n this._tags = __assign(__assign({}, this._tags), (_a = {}, _a[key] = value, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtras = function (extras) {\n this._extra = __assign(__assign({}, this._extra), extras);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtra = function (key, extra) {\n var _a;\n this._extra = __assign(__assign({}, this._extra), (_a = {}, _a[key] = extra, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setFingerprint = function (fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setLevel = function (level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTransactionName = function (name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n Scope.prototype.setTransaction = function (name) {\n return this.setTransactionName(name);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setContext = function (key, context) {\n var _a;\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts = __assign(__assign({}, this._contexts), (_a = {}, _a[key] = context, _a));\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSpan = function (span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getSpan = function () {\n return this._span;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getTransaction = function () {\n var _a, _b, _c, _d;\n // often, this span will be a transaction, but it's not guaranteed to be\n var span = this.getSpan();\n // try it the new way first\n if ((_a = span) === null || _a === void 0 ? void 0 : _a.transaction) {\n return (_b = span) === null || _b === void 0 ? void 0 : _b.transaction;\n }\n // fallback to the old way (known bug: this only finds transactions with sampled = true)\n if ((_d = (_c = span) === null || _c === void 0 ? void 0 : _c.spanRecorder) === null || _d === void 0 ? void 0 : _d.spans[0]) {\n return span.spanRecorder.spans[0];\n }\n // neither way found a transaction\n return undefined;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSession = function (session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getSession = function () {\n return this._session;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.update = function (captureContext) {\n if (!captureContext) {\n return this;\n }\n if (typeof captureContext === 'function') {\n var updatedScope = captureContext(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n if (captureContext instanceof Scope) {\n this._tags = __assign(__assign({}, this._tags), captureContext._tags);\n this._extra = __assign(__assign({}, this._extra), captureContext._extra);\n this._contexts = __assign(__assign({}, this._contexts), captureContext._contexts);\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext;\n this._tags = __assign(__assign({}, this._tags), captureContext.tags);\n this._extra = __assign(__assign({}, this._extra), captureContext.extra);\n this._contexts = __assign(__assign({}, this._contexts), captureContext.contexts);\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clear = function () {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addBreadcrumb = function (breadcrumb, maxBreadcrumbs) {\n var maxCrumbs = typeof maxBreadcrumbs === 'number' ? Math.min(maxBreadcrumbs, MAX_BREADCRUMBS) : MAX_BREADCRUMBS;\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n var mergedBreadcrumb = __assign({\n timestamp: dateTimestampInSeconds()\n }, breadcrumb);\n this._breadcrumbs = __spread(this._breadcrumbs, [mergedBreadcrumb]).slice(-maxCrumbs);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clearBreadcrumbs = function () {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional informartion about the original exception.\n * @hidden\n */\n Scope.prototype.applyToEvent = function (event, hint) {\n var _a;\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = __assign(__assign({}, this._extra), event.extra);\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = __assign(__assign({}, this._tags), event.tags);\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = __assign(__assign({}, this._user), event.user);\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = __assign(__assign({}, this._contexts), event.contexts);\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relys on that.\n if (this._span) {\n event.contexts = __assign({\n trace: this._span.getTraceContext()\n }, event.contexts);\n var transactionName = (_a = this._span.transaction) === null || _a === void 0 ? void 0 : _a.name;\n if (transactionName) {\n event.tags = __assign({\n transaction: transactionName\n }, event.tags);\n }\n }\n this._applyFingerprint(event);\n event.breadcrumbs = __spread(event.breadcrumbs || [], this._breadcrumbs);\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n return this._notifyEventProcessors(__spread(getGlobalEventProcessors(), this._eventProcessors), event, hint);\n };\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n Scope.prototype._notifyEventProcessors = function (processors, event, hint, index) {\n var _this = this;\n if (index === void 0) {\n index = 0;\n }\n return new SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n var result = processor(__assign({}, event), hint);\n if (isThenable(result)) {\n void result.then(function (final) {\n return _this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve);\n }).then(null, reject);\n } else {\n void _this._notifyEventProcessors(processors, result, hint, index + 1).then(resolve).then(null, reject);\n }\n }\n });\n };\n /**\n * This will be called on every set call.\n */\n Scope.prototype._notifyScopeListeners = function () {\n var _this = this;\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\n this._notifyingListeners = false;\n }\n };\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n Scope.prototype._applyFingerprint = function (event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint ? Array.isArray(event.fingerprint) ? event.fingerprint : [event.fingerprint] : [];\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n };\n return Scope;\n}();\nexport { Scope };\n/**\n * Retruns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n var global = getGlobalObject();\n global.__SENTRY__ = global.__SENTRY__ || {};\n global.__SENTRY__.globalEventProcessors = global.__SENTRY__.globalEventProcessors || [];\n return global.__SENTRY__.globalEventProcessors;\n /* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n}\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(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)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(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)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n}","import { __assign, __read, __spread } from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction callOnHub(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var hub = getCurrentHub();\n if (hub && hub[method]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return hub[method].apply(hub, __spread(args));\n }\n throw new Error(\"No hub defined or \" + method + \" was not found on the hub, please open a bug report.\");\n}\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception, captureContext) {\n var syntheticException;\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureException', exception, {\n captureContext: captureContext,\n originalException: exception,\n syntheticException: syntheticException\n });\n}\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message, captureContext) {\n var syntheticException;\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception;\n }\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n var level = typeof captureContext === 'string' ? captureContext : undefined;\n var context = typeof captureContext !== 'string' ? {\n captureContext: captureContext\n } : undefined;\n return callOnHub('captureMessage', message, level, __assign({\n originalException: message,\n syntheticException: syntheticException\n }, context));\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags) {\n callOnHub('setTags', tags);\n}\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user) {\n callOnHub('setUser', user);\n}\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback) {\n callOnHub('withScope', callback);\n}\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _callOnClient(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n callOnHub.apply(void 0, __spread(['_invokeClient', method], args));\n}\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nexport function startTransaction(context, customSamplingContext) {\n return callOnHub('startTransaction', __assign({}, context), customSamplingContext);\n}","/**\n * Session Status\n */\nexport var SessionStatus;\n(function (SessionStatus) {\n /** JSDoc */\n SessionStatus[\"Ok\"] = \"ok\";\n /** JSDoc */\n SessionStatus[\"Exited\"] = \"exited\";\n /** JSDoc */\n SessionStatus[\"Crashed\"] = \"crashed\";\n /** JSDoc */\n SessionStatus[\"Abnormal\"] = \"abnormal\";\n})(SessionStatus || (SessionStatus = {}));\nexport var RequestSessionStatus;\n(function (RequestSessionStatus) {\n /** JSDoc */\n RequestSessionStatus[\"Ok\"] = \"ok\";\n /** JSDoc */\n RequestSessionStatus[\"Errored\"] = \"errored\";\n /** JSDoc */\n RequestSessionStatus[\"Crashed\"] = \"crashed\";\n})(RequestSessionStatus || (RequestSessionStatus = {}));","import { isString } from './is';\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem, keyAttrs) {\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr = void 0;\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el, keyAttrs) {\n var _a, _b;\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n var keyAttrPairs = ((_a = keyAttrs) === null || _a === void 0 ? void 0 : _a.length) ? keyAttrs.filter(function (keyAttr) {\n return elem.getAttribute(keyAttr);\n }).map(function (keyAttr) {\n return [keyAttr, elem.getAttribute(keyAttr)];\n }) : null;\n if ((_b = keyAttrPairs) === null || _b === void 0 ? void 0 : _b.length) {\n keyAttrPairs.forEach(function (keyAttrPair) {\n out.push(\"[\" + keyAttrPair[0] + \"=\\\"\" + keyAttrPair[1] + \"\\\"]\");\n });\n } else {\n if (elem.id) {\n out.push(\"#\" + elem.id);\n }\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n }\n var allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n return out.join('');\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat) {\n return wat === null || typeof wat !== 'object' && typeof wat !== 'function';\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { consoleSandbox, getGlobalObject } from './misc';\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\nvar Logger = /** @class */function () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n Logger.prototype.log = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' '));\n });\n };\n return Logger;\n}();\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexport { logger };","import { isNodeEnv } from './node';\nimport { snipLine } from './string';\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport function getGlobalObject() {\n return isNodeEnv() ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : fallbackGlobalObject;\n}\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n // set 4 in byte 7\n // eslint-disable-next-line no-bitwise\n arr[3] = arr[3] & 0xfff | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // eslint-disable-next-line no-bitwise\n arr[4] = arr[4] & 0x3fff | 0x8000;\n var pad = function (num) {\n var v = num.toString(16);\n while (v.length < 4) {\n v = \"0\" + v;\n }\n return v;\n };\n return pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]);\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // eslint-disable-next-line no-bitwise\n var r = Math.random() * 16 | 0;\n // eslint-disable-next-line no-bitwise\n var v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url) {\n if (!url) {\n return {};\n }\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment\n };\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n return exception.type || exception.value || event.event_id || '';\n }\n return event.event_id || '';\n}\n/** JSDoc */\nexport function consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n if (!('console' in global)) {\n return callback();\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var originalConsole = global.console;\n var wrappedLevels = {};\n // Restore all wrapped console methods\n levels.forEach(function (level) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (level in global.console && originalConsole[level].__sentry_original__) {\n wrappedLevels[level] = originalConsole[level];\n originalConsole[level] = originalConsole[level].__sentry_original__;\n }\n });\n // Perform callback manipulations\n var result = callback();\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event, value, type) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].value = event.exception.values[0].value || value || '';\n event.exception.values[0].type = event.exception.values[0].type || type || 'Error';\n}\n/**\n * Adds exception mechanism to a given event.\n * @param event The event to modify.\n * @param mechanism Mechanism of the mechanism.\n * @hidden\n */\nexport function addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) {\n mechanism = {};\n }\n // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n try {\n // @ts-ignore Type 'Mechanism | {}' is not assignable to type 'Mechanism | undefined'\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0].mechanism = event.exception.values[0].mechanism || {};\n Object.keys(mechanism).forEach(function (key) {\n // @ts-ignore Mechanism has no index signature\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0].mechanism[key] = mechanism[key];\n });\n } catch (_oO) {\n // no-empty\n }\n}\n/**\n * A safe form of location.href\n */\nexport function getLocationHref() {\n try {\n return document.location.href;\n } catch (oO) {\n return '';\n }\n}\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4]\n };\n}\nvar defaultRetryAfter = 60 * 1000; // 60 seconds\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param now current unix timestamp\n * @param header string representation of 'Retry-After' header\n */\nexport function parseRetryAfterHeader(now, header) {\n if (!header) {\n return defaultRetryAfter;\n }\n var headerDelay = parseInt(\"\" + header, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n var headerDate = Date.parse(\"\" + header);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n return defaultRetryAfter;\n}\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines, frame, linesOfContext) {\n if (linesOfContext === void 0) {\n linesOfContext = 5;\n }\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n frame.pre_context = lines.slice(Math.max(0, sourceLine - linesOfContext), sourceLine).map(function (line) {\n return snipLine(line, 0);\n });\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines.slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext).map(function (line) {\n return snipLine(line, 0);\n });\n}\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath) {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}","/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv() {\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\nexport function dynamicRequire(mod, request) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\nexport function loadModule(moduleName) {\n var mod;\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {\n // no-empty\n }\n try {\n var cwd = dynamicRequire(module, 'process').cwd;\n mod = dynamicRequire(module, cwd() + \"/node_modules/\" + moduleName);\n } catch (e) {\n // no-empty\n }\n return mod;\n}","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * Memo class used for decycle json objects. Uses WeakSet if available otherwise array.\n */\nvar Memo = /** @class */function () {\n function Memo() {\n this._hasWeakSet = typeof WeakSet === 'function';\n this._inner = this._hasWeakSet ? new WeakSet() : [];\n }\n /**\n * Sets obj to remember.\n * @param obj Object to remember\n */\n Memo.prototype.memoize = function (obj) {\n if (this._hasWeakSet) {\n if (this._inner.has(obj)) {\n return true;\n }\n this._inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var i = 0; i < this._inner.length; i++) {\n var value = this._inner[i];\n if (value === obj) {\n return true;\n }\n }\n this._inner.push(obj);\n return false;\n };\n /**\n * Removes object from internal storage.\n * @param obj Object to forget\n */\n Memo.prototype.unmemoize = function (obj) {\n if (this._hasWeakSet) {\n this._inner.delete(obj);\n } else {\n for (var i = 0; i < this._inner.length; i++) {\n if (this._inner[i] === obj) {\n this._inner.splice(i, 1);\n break;\n }\n }\n }\n };\n return Memo;\n}();\nexport { Memo };","import { __values } from \"tslib\";\nimport { htmlTreeAsString } from './browser';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { getFunctionName } from './stacktrace';\nimport { truncate } from './string';\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nexport function fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacementFactory(original);\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry_original__: {\n enumerable: false,\n value: original\n }\n });\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object) {\n return Object.keys(object).map(function (key) {\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]);\n }).join('&');\n}\n/**\n * Transforms any object into an object literal with all its attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n */\nfunction getWalkSource(value) {\n if (isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack\n };\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n return err;\n }\n if (isEvent(value)) {\n var event_1 = value;\n var source = {};\n source.type = event_1.type;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(event_1.target) ? htmlTreeAsString(event_1.target) : Object.prototype.toString.call(event_1.target);\n } catch (_oO) {\n source.target = '';\n }\n try {\n source.currentTarget = isElement(event_1.currentTarget) ? htmlTreeAsString(event_1.currentTarget) : Object.prototype.toString.call(event_1.currentTarget);\n } catch (_oO) {\n source.currentTarget = '';\n }\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n source.detail = event_1.detail;\n }\n for (var i in event_1) {\n if (Object.prototype.hasOwnProperty.call(event_1, i)) {\n source[i] = event_1;\n }\n }\n return source;\n }\n return value;\n}\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\nexport function normalizeToSize(object,\n// Default Node.js REPL depth\ndepth,\n// 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) {\n depth = 3;\n }\n if (maxSize === void 0) {\n maxSize = 100 * 1024;\n }\n var serialized = normalize(object, depth);\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return serialized;\n}\n/**\n * Transform any non-primitive, BigInt, or Symbol-type value into a string. Acts as a no-op on strings, numbers,\n * booleans, null, and undefined.\n *\n * @param value The value to stringify\n * @returns For non-primitive, BigInt, and Symbol-type values, a string denoting the value's type, type and value, or\n * type and `description` property, respectively. For non-BigInt, non-Symbol primitives, returns the original value,\n * unchanged.\n */\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value);\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n var normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\nfunction normalizeValue(value, key) {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n if (value === void 0) {\n return '[undefined]';\n }\n if (typeof value === 'function') {\n return \"[Function: \" + getFunctionName(value) + \"]\";\n }\n // symbols and bigints are considered primitives by TS, but aren't natively JSON-serilaizable\n if (typeof value === 'symbol') {\n return \"[\" + String(value) + \"]\";\n }\n if (typeof value === 'bigint') {\n return \"[BigInt: \" + String(value) + \"]\";\n }\n return value;\n}\n/**\n * Walks an object to perform a normalization on it\n *\n * @param key of object that's walked in current iteration\n * @param value object to be walked\n * @param depth Optional number indicating how deep should walking be performed\n * @param memo Optional Memo class handling decycling\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function walk(key, value, depth, memo) {\n if (depth === void 0) {\n depth = +Infinity;\n }\n if (memo === void 0) {\n memo = new Memo();\n }\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // If value implements `toJSON` method, call it and return early\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n var normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n var source = getWalkSource(value);\n // Create an accumulator that will act as a parent for all future itterations of that branch\n var acc = Array.isArray(value) ? [] : {};\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n // Walk all keys of the source\n for (var innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n // Return accumulated values\n return acc;\n}\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function normalize(input, depth) {\n try {\n return JSON.parse(JSON.stringify(input, function (key, value) {\n return walk(key, value, depth);\n }));\n } catch (_oO) {\n return '**non-serializable**';\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) {\n maxLength = 40;\n }\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val) {\n var e_1, _a;\n if (isPlainObject(val)) {\n var obj = val;\n var rv = {};\n try {\n for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n return rv;\n }\n if (Array.isArray(val)) {\n return val.map(dropUndefinedKeys);\n }\n return val;\n}","var defaultFunctionName = '';\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}","import { isRegExp, isString } from './is';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str, max) {\n if (max === void 0) {\n max = 0;\n }\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n // eslint-disable-next-line no-param-reassign\n colno = ll;\n }\n var start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n var end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n var output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n return output.join(delimiter);\n}\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}","import \"core-js/modules/es.promise.finally.js\";\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n/** SyncPromise internal states */\nvar States;\n(function (States) {\n /** Pending */\n States[\"PENDING\"] = \"PENDING\";\n /** Resolved / OK */\n States[\"RESOLVED\"] = \"RESOLVED\";\n /** Rejected / Error */\n States[\"REJECTED\"] = \"REJECTED\";\n})(States || (States = {}));\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nvar SyncPromise = /** @class */function () {\n function SyncPromise(executor) {\n var _this = this;\n this._state = States.PENDING;\n this._handlers = [];\n /** JSDoc */\n this._resolve = function (value) {\n _this._setResult(States.RESOLVED, value);\n };\n /** JSDoc */\n this._reject = function (reason) {\n _this._setResult(States.REJECTED, reason);\n };\n /** JSDoc */\n this._setResult = function (state, value) {\n if (_this._state !== States.PENDING) {\n return;\n }\n if (isThenable(value)) {\n void value.then(_this._resolve, _this._reject);\n return;\n }\n _this._state = state;\n _this._value = value;\n _this._executeHandlers();\n };\n // TODO: FIXME\n /** JSDoc */\n this._attachHandler = function (handler) {\n _this._handlers = _this._handlers.concat(handler);\n _this._executeHandlers();\n };\n /** JSDoc */\n this._executeHandlers = function () {\n if (_this._state === States.PENDING) {\n return;\n }\n var cachedHandlers = _this._handlers.slice();\n _this._handlers = [];\n cachedHandlers.forEach(function (handler) {\n if (handler.done) {\n return;\n }\n if (_this._state === States.RESOLVED) {\n if (handler.onfulfilled) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler.onfulfilled(_this._value);\n }\n }\n if (_this._state === States.REJECTED) {\n if (handler.onrejected) {\n handler.onrejected(_this._value);\n }\n }\n handler.done = true;\n });\n };\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n SyncPromise.resolve = function (value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n };\n /** JSDoc */\n SyncPromise.reject = function (reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n };\n /** JSDoc */\n SyncPromise.all = function (collection) {\n return new SyncPromise(function (resolve, reject) {\n if (!Array.isArray(collection)) {\n reject(new TypeError(\"Promise.all requires an array as input.\"));\n return;\n }\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n var counter = collection.length;\n var resolvedCollection = [];\n collection.forEach(function (item, index) {\n void SyncPromise.resolve(item).then(function (value) {\n resolvedCollection[index] = value;\n counter -= 1;\n if (counter !== 0) {\n return;\n }\n resolve(resolvedCollection);\n }).then(null, reject);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.then = function (onfulfilled, onrejected) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n _this._attachHandler({\n done: false,\n onfulfilled: function (result) {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n return;\n }\n try {\n resolve(onfulfilled(result));\n return;\n } catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: function (reason) {\n if (!onrejected) {\n reject(reason);\n return;\n }\n try {\n resolve(onrejected(reason));\n return;\n } catch (e) {\n reject(e);\n return;\n }\n }\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.catch = function (onrejected) {\n return this.then(function (val) {\n return val;\n }, onrejected);\n };\n /** JSDoc */\n SyncPromise.prototype.finally = function (onfinally) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n var val;\n var isRejected;\n return _this.then(function (value) {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n resolve(val);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.toString = function () {\n return '[object SyncPromise]';\n };\n return SyncPromise;\n}();\nexport { SyncPromise };","import { getGlobalObject } from './misc';\nimport { dynamicRequire, isNodeEnv } from './node';\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\nvar dateTimestampSource = {\n nowSeconds: function () {\n return Date.now() / 1000;\n }\n};\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction getBrowserPerformance() {\n var performance = getGlobalObject().performance;\n if (!performance || !performance.now) {\n return undefined;\n }\n // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n var timeOrigin = Date.now() - performance.now();\n return {\n now: function () {\n return performance.now();\n },\n timeOrigin: timeOrigin\n };\n}\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\nfunction getNodePerformance() {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n/**\n * The Performance API implementation for the current platform, if available.\n */\nvar platformPerformance = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\nvar timestampSource = platformPerformance === undefined ? dateTimestampSource : {\n nowSeconds: function () {\n return (platformPerformance.timeOrigin + platformPerformance.now()) / 1000;\n }\n};\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nexport var dateTimestampInSeconds = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nexport var timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource);\n// Re-exported with an old name for backwards-compatibility.\nexport var timestampWithMs = timestampInSeconds;\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\nexport var usingPerformanceAPI = platformPerformance !== undefined;\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nexport var _browserPerformanceTimeOriginMode;\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nexport var browserPerformanceTimeOrigin = function () {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n var performance = getGlobalObject().performance;\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n var threshold = 3600 * 1000;\n var performanceNow = performance.now();\n var dateNow = Date.now();\n // if timeOrigin isn't available set delta to threshold so it isn't used\n var timeOriginDelta = performance.timeOrigin ? Math.abs(performance.timeOrigin + performanceNow - dateNow) : threshold;\n var timeOriginIsReliable = timeOriginDelta < threshold;\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n var navigationStart = performance.timing && performance.timing.navigationStart;\n var hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n var navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n var navigationStartIsReliable = navigationStartDelta < threshold;\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n}();","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(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)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n}","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n var /** @type {ReturnType} */out = [];\n for (var i = 0; i < possibleNames.length; i++) {\n if (typeof g[possibleNames[i]] === 'function') {\n // @ts-expect-error\n out[out.length] = possibleNames[i];\n }\n }\n return out;\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBind = require('./');\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n var intrinsic = GetIntrinsic(name, !!allowMissing);\n if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n return callBind(intrinsic);\n }\n return intrinsic;\n};","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\nmodule.exports = function callBind(originalFunction) {\n if (typeof originalFunction !== 'function') {\n throw new $TypeError('a function is required');\n }\n var func = $reflectApply(bind, $call, arguments);\n return setFunctionLength(func, 1 + $max(0, originalFunction.length - (arguments.length - 1)), true);\n};\nvar applyBind = function applyBind() {\n return $reflectApply(bind, $apply, arguments);\n};\nif ($defineProperty) {\n $defineProperty(module.exports, 'apply', {\n value: applyBind\n });\n} else {\n module.exports.apply = applyBind;\n}","!function (t, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (t = \"undefined\" != typeof globalThis ? globalThis : t || self).dayjs = e();\n}(this, function () {\n \"use strict\";\n\n var t = 1e3,\n e = 6e4,\n n = 36e5,\n r = \"millisecond\",\n i = \"second\",\n s = \"minute\",\n u = \"hour\",\n a = \"day\",\n o = \"week\",\n f = \"month\",\n h = \"quarter\",\n c = \"year\",\n d = \"date\",\n l = \"Invalid Date\",\n $ = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,\n y = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,\n M = {\n name: \"en\",\n weekdays: \"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),\n months: \"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),\n ordinal: function (t) {\n var e = [\"th\", \"st\", \"nd\", \"rd\"],\n n = t % 100;\n return \"[\" + t + (e[(n - 20) % 10] || e[n] || e[0]) + \"]\";\n }\n },\n m = function (t, e, n) {\n var r = String(t);\n return !r || r.length >= e ? t : \"\" + Array(e + 1 - r.length).join(n) + t;\n },\n v = {\n s: m,\n z: function (t) {\n var e = -t.utcOffset(),\n n = Math.abs(e),\n r = Math.floor(n / 60),\n i = n % 60;\n return (e <= 0 ? \"+\" : \"-\") + m(r, 2, \"0\") + \":\" + m(i, 2, \"0\");\n },\n m: function t(e, n) {\n if (e.date() < n.date()) return -t(n, e);\n var r = 12 * (n.year() - e.year()) + (n.month() - e.month()),\n i = e.clone().add(r, f),\n s = n - i < 0,\n u = e.clone().add(r + (s ? -1 : 1), f);\n return +(-(r + (n - i) / (s ? i - u : u - i)) || 0);\n },\n a: function (t) {\n return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);\n },\n p: function (t) {\n return {\n M: f,\n y: c,\n w: o,\n d: a,\n D: d,\n h: u,\n m: s,\n s: i,\n ms: r,\n Q: h\n }[t] || String(t || \"\").toLowerCase().replace(/s$/, \"\");\n },\n u: function (t) {\n return void 0 === t;\n }\n },\n g = \"en\",\n D = {};\n D[g] = M;\n var p = function (t) {\n return t instanceof _;\n },\n S = function t(e, n, r) {\n var i;\n if (!e) return g;\n if (\"string\" == typeof e) {\n var s = e.toLowerCase();\n D[s] && (i = s), n && (D[s] = n, i = s);\n var u = e.split(\"-\");\n if (!i && u.length > 1) return t(u[0]);\n } else {\n var a = e.name;\n D[a] = e, i = a;\n }\n return !r && i && (g = i), i || !r && g;\n },\n w = function (t, e) {\n if (p(t)) return t.clone();\n var n = \"object\" == typeof e ? e : {};\n return n.date = t, n.args = arguments, new _(n);\n },\n O = v;\n O.l = S, O.i = p, O.w = function (t, e) {\n return w(t, {\n locale: e.$L,\n utc: e.$u,\n x: e.$x,\n $offset: e.$offset\n });\n };\n var _ = function () {\n function M(t) {\n this.$L = S(t.locale, null, !0), this.parse(t);\n }\n var m = M.prototype;\n return m.parse = function (t) {\n this.$d = function (t) {\n var e = t.date,\n n = t.utc;\n if (null === e) return new Date(NaN);\n if (O.u(e)) return new Date();\n if (e instanceof Date) return new Date(e);\n if (\"string\" == typeof e && !/Z$/i.test(e)) {\n var r = e.match($);\n if (r) {\n var i = r[2] - 1 || 0,\n s = (r[7] || \"0\").substring(0, 3);\n return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s);\n }\n }\n return new Date(e);\n }(t), this.$x = t.x || {}, this.init();\n }, m.init = function () {\n var t = this.$d;\n this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds();\n }, m.$utils = function () {\n return O;\n }, m.isValid = function () {\n return !(this.$d.toString() === l);\n }, m.isSame = function (t, e) {\n var n = w(t);\n return this.startOf(e) <= n && n <= this.endOf(e);\n }, m.isAfter = function (t, e) {\n return w(t) < this.startOf(e);\n }, m.isBefore = function (t, e) {\n return this.endOf(e) < w(t);\n }, m.$g = function (t, e, n) {\n return O.u(t) ? this[e] : this.set(n, t);\n }, m.unix = function () {\n return Math.floor(this.valueOf() / 1e3);\n }, m.valueOf = function () {\n return this.$d.getTime();\n }, m.startOf = function (t, e) {\n var n = this,\n r = !!O.u(e) || e,\n h = O.p(t),\n l = function (t, e) {\n var i = O.w(n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y, e, t), n);\n return r ? i : i.endOf(a);\n },\n $ = function (t, e) {\n return O.w(n.toDate()[t].apply(n.toDate(\"s\"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), n);\n },\n y = this.$W,\n M = this.$M,\n m = this.$D,\n v = \"set\" + (this.$u ? \"UTC\" : \"\");\n switch (h) {\n case c:\n return r ? l(1, 0) : l(31, 11);\n case f:\n return r ? l(1, M) : l(0, M + 1);\n case o:\n var g = this.$locale().weekStart || 0,\n D = (y < g ? y + 7 : y) - g;\n return l(r ? m - D : m + (6 - D), M);\n case a:\n case d:\n return $(v + \"Hours\", 0);\n case u:\n return $(v + \"Minutes\", 1);\n case s:\n return $(v + \"Seconds\", 2);\n case i:\n return $(v + \"Milliseconds\", 3);\n default:\n return this.clone();\n }\n }, m.endOf = function (t) {\n return this.startOf(t, !1);\n }, m.$set = function (t, e) {\n var n,\n o = O.p(t),\n h = \"set\" + (this.$u ? \"UTC\" : \"\"),\n l = (n = {}, n[a] = h + \"Date\", n[d] = h + \"Date\", n[f] = h + \"Month\", n[c] = h + \"FullYear\", n[u] = h + \"Hours\", n[s] = h + \"Minutes\", n[i] = h + \"Seconds\", n[r] = h + \"Milliseconds\", n)[o],\n $ = o === a ? this.$D + (e - this.$W) : e;\n if (o === f || o === c) {\n var y = this.clone().set(d, 1);\n y.$d[l]($), y.init(), this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d;\n } else l && this.$d[l]($);\n return this.init(), this;\n }, m.set = function (t, e) {\n return this.clone().$set(t, e);\n }, m.get = function (t) {\n return this[O.p(t)]();\n }, m.add = function (r, h) {\n var d,\n l = this;\n r = Number(r);\n var $ = O.p(h),\n y = function (t) {\n var e = w(l);\n return O.w(e.date(e.date() + Math.round(t * r)), l);\n };\n if ($ === f) return this.set(f, this.$M + r);\n if ($ === c) return this.set(c, this.$y + r);\n if ($ === a) return y(1);\n if ($ === o) return y(7);\n var M = (d = {}, d[s] = e, d[u] = n, d[i] = t, d)[$] || 1,\n m = this.$d.getTime() + r * M;\n return O.w(m, this);\n }, m.subtract = function (t, e) {\n return this.add(-1 * t, e);\n }, m.format = function (t) {\n var e = this,\n n = this.$locale();\n if (!this.isValid()) return n.invalidDate || l;\n var r = t || \"YYYY-MM-DDTHH:mm:ssZ\",\n i = O.z(this),\n s = this.$H,\n u = this.$m,\n a = this.$M,\n o = n.weekdays,\n f = n.months,\n h = function (t, n, i, s) {\n return t && (t[n] || t(e, r)) || i[n].slice(0, s);\n },\n c = function (t) {\n return O.s(s % 12 || 12, t, \"0\");\n },\n d = n.meridiem || function (t, e, n) {\n var r = t < 12 ? \"AM\" : \"PM\";\n return n ? r.toLowerCase() : r;\n },\n $ = {\n YY: String(this.$y).slice(-2),\n YYYY: this.$y,\n M: a + 1,\n MM: O.s(a + 1, 2, \"0\"),\n MMM: h(n.monthsShort, a, f, 3),\n MMMM: h(f, a),\n D: this.$D,\n DD: O.s(this.$D, 2, \"0\"),\n d: String(this.$W),\n dd: h(n.weekdaysMin, this.$W, o, 2),\n ddd: h(n.weekdaysShort, this.$W, o, 3),\n dddd: o[this.$W],\n H: String(s),\n HH: O.s(s, 2, \"0\"),\n h: c(1),\n hh: c(2),\n a: d(s, u, !0),\n A: d(s, u, !1),\n m: String(u),\n mm: O.s(u, 2, \"0\"),\n s: String(this.$s),\n ss: O.s(this.$s, 2, \"0\"),\n SSS: O.s(this.$ms, 3, \"0\"),\n Z: i\n };\n return r.replace(y, function (t, e) {\n return e || $[t] || i.replace(\":\", \"\");\n });\n }, m.utcOffset = function () {\n return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);\n }, m.diff = function (r, d, l) {\n var $,\n y = O.p(d),\n M = w(r),\n m = (M.utcOffset() - this.utcOffset()) * e,\n v = this - M,\n g = O.m(this, M);\n return g = ($ = {}, $[c] = g / 12, $[f] = g, $[h] = g / 3, $[o] = (v - m) / 6048e5, $[a] = (v - m) / 864e5, $[u] = v / n, $[s] = v / e, $[i] = v / t, $)[y] || v, l ? g : O.a(g);\n }, m.daysInMonth = function () {\n return this.endOf(f).$D;\n }, m.$locale = function () {\n return D[this.$L];\n }, m.locale = function (t, e) {\n if (!t) return this.$L;\n var n = this.clone(),\n r = S(t, e, !0);\n return r && (n.$L = r), n;\n }, m.clone = function () {\n return O.w(this.$d, this);\n }, m.toDate = function () {\n return new Date(this.valueOf());\n }, m.toJSON = function () {\n return this.isValid() ? this.toISOString() : null;\n }, m.toISOString = function () {\n return this.$d.toISOString();\n }, m.toString = function () {\n return this.$d.toUTCString();\n }, M;\n }(),\n T = _.prototype;\n return w.prototype = T, [[\"$ms\", r], [\"$s\", i], [\"$m\", s], [\"$H\", u], [\"$W\", a], [\"$M\", f], [\"$y\", c], [\"$D\", d]].forEach(function (t) {\n T[t[1]] = function (e) {\n return this.$g(e, t[0], t[1]);\n };\n }), w.extend = function (t, e) {\n return t.$i || (t(e, _, w), t.$i = !0), w;\n }, w.locale = S, w.isDayjs = p, w.unix = function (t) {\n return w(1e3 * t);\n }, w.en = D[g], w.Ls = D, w.p = {}, w;\n});","!function (e, s) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = s(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], s) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_ca = s(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function s(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var t = s(e),\n _ = {\n name: \"ca\",\n weekdays: \"Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte\".split(\"_\"),\n weekdaysShort: \"Dg._Dl._Dt._Dc._Dj._Dv._Ds.\".split(\"_\"),\n weekdaysMin: \"Dg_Dl_Dt_Dc_Dj_Dv_Ds\".split(\"_\"),\n months: \"Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre\".split(\"_\"),\n monthsShort: \"Gen._Febr._Març_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.\".split(\"_\"),\n weekStart: 1,\n formats: {\n LT: \"H:mm\",\n LTS: \"H:mm:ss\",\n L: \"DD/MM/YYYY\",\n LL: \"D MMMM [de] YYYY\",\n LLL: \"D MMMM [de] YYYY [a les] H:mm\",\n LLLL: \"dddd D MMMM [de] YYYY [a les] H:mm\",\n ll: \"D MMM YYYY\",\n lll: \"D MMM YYYY, H:mm\",\n llll: \"ddd D MMM YYYY, H:mm\"\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: \"fa %s\",\n s: \"uns segons\",\n m: \"un minut\",\n mm: \"%d minuts\",\n h: \"una hora\",\n hh: \"%d hores\",\n d: \"un dia\",\n dd: \"%d dies\",\n M: \"un mes\",\n MM: \"%d mesos\",\n y: \"un any\",\n yy: \"%d anys\"\n },\n ordinal: function (e) {\n return \"\" + e + (1 === e || 3 === e ? \"r\" : 2 === e ? \"n\" : 4 === e ? \"t\" : \"è\");\n }\n };\n return t.default.locale(_, null, !0), _;\n});","!function (e, n) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = n(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], n) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_de = n(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function n(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var t = n(e),\n a = {\n s: \"ein paar Sekunden\",\n m: [\"eine Minute\", \"einer Minute\"],\n mm: \"%d Minuten\",\n h: [\"eine Stunde\", \"einer Stunde\"],\n hh: \"%d Stunden\",\n d: [\"ein Tag\", \"einem Tag\"],\n dd: [\"%d Tage\", \"%d Tagen\"],\n M: [\"ein Monat\", \"einem Monat\"],\n MM: [\"%d Monate\", \"%d Monaten\"],\n y: [\"ein Jahr\", \"einem Jahr\"],\n yy: [\"%d Jahre\", \"%d Jahren\"]\n };\n function i(e, n, t) {\n var i = a[t];\n return Array.isArray(i) && (i = i[n ? 0 : 1]), i.replace(\"%d\", e);\n }\n var r = {\n name: \"de\",\n weekdays: \"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),\n weekdaysShort: \"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),\n weekdaysMin: \"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),\n months: \"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),\n monthsShort: \"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),\n ordinal: function (e) {\n return e + \".\";\n },\n weekStart: 1,\n yearStart: 4,\n formats: {\n LTS: \"HH:mm:ss\",\n LT: \"HH:mm\",\n L: \"DD.MM.YYYY\",\n LL: \"D. MMMM YYYY\",\n LLL: \"D. MMMM YYYY HH:mm\",\n LLLL: \"dddd, D. MMMM YYYY HH:mm\"\n },\n relativeTime: {\n future: \"in %s\",\n past: \"vor %s\",\n s: i,\n m: i,\n mm: i,\n h: i,\n hh: i,\n d: i,\n dd: i,\n M: i,\n MM: i,\n y: i,\n yy: i\n }\n };\n return t.default.locale(r, null, !0), r;\n});","!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], a) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_en_ca = a(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function a(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var _ = a(e),\n t = {\n name: \"en-ca\",\n weekdays: \"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),\n months: \"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),\n weekdaysShort: \"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),\n monthsShort: \"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),\n weekdaysMin: \"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),\n ordinal: function (e) {\n return e;\n },\n formats: {\n LT: \"h:mm A\",\n LTS: \"h:mm:ss A\",\n L: \"YYYY-MM-DD\",\n LL: \"MMMM D, YYYY\",\n LLL: \"MMMM D, YYYY h:mm A\",\n LLLL: \"dddd, MMMM D, YYYY h:mm A\"\n },\n relativeTime: {\n future: \"in %s\",\n past: \"%s ago\",\n s: \"a few 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 M: \"a month\",\n MM: \"%d months\",\n y: \"a year\",\n yy: \"%d years\"\n }\n };\n return _.default.locale(t, null, !0), t;\n});","!function (e, s) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = s(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], s) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_es_us = s(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function s(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var o = s(e),\n d = {\n name: \"es-us\",\n weekdays: \"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),\n weekdaysShort: \"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),\n weekdaysMin: \"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),\n months: \"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),\n monthsShort: \"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),\n relativeTime: {\n future: \"en %s\",\n past: \"hace %s\",\n s: \"unos segundos\",\n m: \"un minuto\",\n mm: \"%d minutos\",\n h: \"una hora\",\n hh: \"%d horas\",\n d: \"un día\",\n dd: \"%d días\",\n M: \"un mes\",\n MM: \"%d meses\",\n y: \"un año\",\n yy: \"%d años\"\n },\n ordinal: function (e) {\n return e + \"º\";\n },\n formats: {\n LT: \"h:mm A\",\n LTS: \"h:mm:ss A\",\n L: \"MM/DD/YYYY\",\n LL: \"D [de] MMMM [de] YYYY\",\n LLL: \"D [de] MMMM [de] YYYY h:mm A\",\n LLLL: \"dddd, D [de] MMMM [de] YYYY h:mm A\"\n }\n };\n return o.default.locale(d, null, !0), d;\n});","!function (e, o) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = o(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], o) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_es = o(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function o(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var s = o(e),\n d = {\n name: \"es\",\n monthsShort: \"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),\n weekdays: \"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),\n weekdaysShort: \"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),\n weekdaysMin: \"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),\n months: \"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),\n weekStart: 1,\n formats: {\n LT: \"H:mm\",\n LTS: \"H:mm:ss\",\n L: \"DD/MM/YYYY\",\n LL: \"D [de] MMMM [de] YYYY\",\n LLL: \"D [de] MMMM [de] YYYY H:mm\",\n LLLL: \"dddd, D [de] MMMM [de] YYYY H:mm\"\n },\n relativeTime: {\n future: \"en %s\",\n past: \"hace %s\",\n s: \"unos segundos\",\n m: \"un minuto\",\n mm: \"%d minutos\",\n h: \"una hora\",\n hh: \"%d horas\",\n d: \"un día\",\n dd: \"%d días\",\n M: \"un mes\",\n MM: \"%d meses\",\n y: \"un año\",\n yy: \"%d años\"\n },\n ordinal: function (e) {\n return e + \"º\";\n }\n };\n return s.default.locale(d, null, !0), d;\n});","!function (_, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], e) : (_ = \"undefined\" != typeof globalThis ? globalThis : _ || self).dayjs_locale_fa = e(_.dayjs);\n}(this, function (_) {\n \"use strict\";\n\n function e(_) {\n return _ && \"object\" == typeof _ && \"default\" in _ ? _ : {\n default: _\n };\n }\n var t = e(_),\n d = {\n name: \"fa\",\n weekdays: \"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه\".split(\"_\"),\n weekdaysShort: \"یک‌_دو_سه‌_چه_پن_جم_شن\".split(\"_\"),\n weekdaysMin: \"ی_د_س_چ_پ_ج_ش\".split(\"_\"),\n weekStart: 6,\n months: \"فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند\".split(\"_\"),\n monthsShort: \"فرو_ارد_خرد_تیر_مرد_شهر_مهر_آبا_آذر_دی_بهم_اسف\".split(\"_\"),\n ordinal: function (_) {\n return _;\n },\n formats: {\n LT: \"HH:mm\",\n LTS: \"HH:mm:ss\",\n L: \"DD/MM/YYYY\",\n LL: \"D MMMM YYYY\",\n LLL: \"D MMMM YYYY HH:mm\",\n LLLL: \"dddd, D MMMM YYYY HH:mm\"\n },\n relativeTime: {\n future: \"در %s\",\n past: \"%s قبل\",\n s: \"چند ثانیه\",\n m: \"یک دقیقه\",\n mm: \"%d دقیقه\",\n h: \"یک ساعت\",\n hh: \"%d ساعت\",\n d: \"یک روز\",\n dd: \"%d روز\",\n M: \"یک ماه\",\n MM: \"%d ماه\",\n y: \"یک سال\",\n yy: \"%d سال\"\n }\n };\n return t.default.locale(d, null, !0), d;\n});","!function (e, n) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = n(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], n) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_fr_ca = n(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function n(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var i = n(e),\n _ = {\n name: \"fr-ca\",\n weekdays: \"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),\n months: \"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),\n weekdaysShort: \"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),\n monthsShort: \"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),\n weekdaysMin: \"di_lu_ma_me_je_ve_sa\".split(\"_\"),\n ordinal: function (e) {\n return e;\n },\n formats: {\n LT: \"HH:mm\",\n LTS: \"HH:mm:ss\",\n L: \"YYYY-MM-DD\",\n LL: \"D MMMM YYYY\",\n LLL: \"D MMMM YYYY HH:mm\",\n LLLL: \"dddd D MMMM YYYY HH:mm\"\n },\n relativeTime: {\n future: \"dans %s\",\n past: \"il y a %s\",\n s: \"quelques secondes\",\n m: \"une minute\",\n mm: \"%d minutes\",\n h: \"une heure\",\n hh: \"%d heures\",\n d: \"un jour\",\n dd: \"%d jours\",\n M: \"un mois\",\n MM: \"%d mois\",\n y: \"un an\",\n yy: \"%d ans\"\n }\n };\n return i.default.locale(_, null, !0), _;\n});","!function (e, o) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = o(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], o) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_it = o(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function o(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var t = o(e),\n n = {\n name: \"it\",\n weekdays: \"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato\".split(\"_\"),\n weekdaysShort: \"dom_lun_mar_mer_gio_ven_sab\".split(\"_\"),\n weekdaysMin: \"do_lu_ma_me_gi_ve_sa\".split(\"_\"),\n months: \"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre\".split(\"_\"),\n weekStart: 1,\n monthsShort: \"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic\".split(\"_\"),\n formats: {\n LT: \"HH:mm\",\n LTS: \"HH:mm:ss\",\n L: \"DD/MM/YYYY\",\n LL: \"D MMMM YYYY\",\n LLL: \"D MMMM YYYY HH:mm\",\n LLLL: \"dddd D MMMM YYYY HH:mm\"\n },\n relativeTime: {\n future: \"tra %s\",\n past: \"%s fa\",\n s: \"qualche secondo\",\n m: \"un minuto\",\n mm: \"%d minuti\",\n h: \"un' ora\",\n hh: \"%d ore\",\n d: \"un giorno\",\n dd: \"%d giorni\",\n M: \"un mese\",\n MM: \"%d mesi\",\n y: \"un anno\",\n yy: \"%d anni\"\n },\n ordinal: function (e) {\n return e + \"º\";\n }\n };\n return t.default.locale(n, null, !0), n;\n});","!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], a) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_nl = a(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function a(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var d = a(e),\n n = {\n name: \"nl\",\n weekdays: \"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),\n weekdaysShort: \"zo._ma._di._wo._do._vr._za.\".split(\"_\"),\n weekdaysMin: \"zo_ma_di_wo_do_vr_za\".split(\"_\"),\n months: \"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),\n monthsShort: \"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),\n ordinal: function (e) {\n return \"[\" + e + (1 === e || 8 === e || e >= 20 ? \"ste\" : \"de\") + \"]\";\n },\n weekStart: 1,\n yearStart: 4,\n formats: {\n LT: \"HH:mm\",\n LTS: \"HH:mm:ss\",\n L: \"DD-MM-YYYY\",\n LL: \"D MMMM YYYY\",\n LLL: \"D MMMM YYYY HH:mm\",\n LLLL: \"dddd D MMMM YYYY HH:mm\"\n },\n relativeTime: {\n future: \"over %s\",\n past: \"%s geleden\",\n s: \"een paar seconden\",\n m: \"een minuut\",\n mm: \"%d minuten\",\n h: \"een uur\",\n hh: \"%d uur\",\n d: \"een dag\",\n dd: \"%d dagen\",\n M: \"een maand\",\n MM: \"%d maanden\",\n y: \"een jaar\",\n yy: \"%d jaar\"\n }\n };\n return d.default.locale(n, null, !0), n;\n});","!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_sl = t(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function t(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var _ = t(e),\n n = {\n name: \"sl\",\n weekdays: \"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota\".split(\"_\"),\n months: \"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december\".split(\"_\"),\n weekStart: 1,\n weekdaysShort: \"ned._pon._tor._sre._čet._pet._sob.\".split(\"_\"),\n monthsShort: \"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.\".split(\"_\"),\n weekdaysMin: \"ne_po_to_sr_če_pe_so\".split(\"_\"),\n ordinal: function (e) {\n return e + \".\";\n },\n formats: {\n LT: \"H:mm\",\n LTS: \"H:mm:ss\",\n L: \"DD.MM.YYYY\",\n LL: \"D. MMMM YYYY\",\n LLL: \"D. MMMM YYYY H:mm\",\n LLLL: \"dddd, D. MMMM YYYY H:mm\"\n },\n relativeTime: {\n future: \"čez %s\",\n past: \"pred %s\",\n s: \"nekaj sekund\",\n m: \"minuta\",\n mm: \"%d minut\",\n h: \"ura\",\n hh: \"%d ur\",\n d: \"dan\",\n dd: \"%d dni\",\n M: \"mesec\",\n MM: \"%d mesecev\",\n y: \"leto\",\n yy: \"%d let\"\n }\n };\n return _.default.locale(n, null, !0), n;\n});","!function (_, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], e) : (_ = \"undefined\" != typeof globalThis ? globalThis : _ || self).dayjs_locale_ur = e(_.dayjs);\n}(this, function (_) {\n \"use strict\";\n\n function e(_) {\n return _ && \"object\" == typeof _ && \"default\" in _ ? _ : {\n default: _\n };\n }\n var t = e(_),\n d = {\n name: \"ur\",\n weekdays: \"اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ\".split(\"_\"),\n months: \"جنوری_فروری_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر\".split(\"_\"),\n weekStart: 1,\n weekdaysShort: \"اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ\".split(\"_\"),\n monthsShort: \"جنوری_فروری_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر\".split(\"_\"),\n weekdaysMin: \"اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ\".split(\"_\"),\n ordinal: function (_) {\n return _;\n },\n formats: {\n LT: \"HH:mm\",\n LTS: \"HH:mm:ss\",\n L: \"DD/MM/YYYY\",\n LL: \"D MMMM YYYY\",\n LLL: \"D MMMM YYYY HH:mm\",\n LLLL: \"dddd، D MMMM YYYY HH:mm\"\n },\n relativeTime: {\n future: \"%s بعد\",\n past: \"%s قبل\",\n s: \"چند سیکنڈ\",\n m: \"ایک منٹ\",\n mm: \"%d منٹ\",\n h: \"ایک گھنٹہ\",\n hh: \"%d گھنٹے\",\n d: \"ایک دن\",\n dd: \"%d دن\",\n M: \"ایک ماہ\",\n MM: \"%d ماہ\",\n y: \"ایک سال\",\n yy: \"%d سال\"\n }\n };\n return t.default.locale(d, null, !0), d;\n});","!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_plugin_advancedFormat = t();\n}(this, function () {\n \"use strict\";\n\n return function (e, t) {\n var r = t.prototype,\n n = r.format;\n r.format = function (e) {\n var t = this,\n r = this.$locale();\n if (!this.isValid()) return n.bind(this)(e);\n var s = this.$utils(),\n a = (e || \"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function (e) {\n switch (e) {\n case \"Q\":\n return Math.ceil((t.$M + 1) / 3);\n case \"Do\":\n return r.ordinal(t.$D);\n case \"gggg\":\n return t.weekYear();\n case \"GGGG\":\n return t.isoWeekYear();\n case \"wo\":\n return r.ordinal(t.week(), \"W\");\n case \"w\":\n case \"ww\":\n return s.s(t.week(), \"w\" === e ? 1 : 2, \"0\");\n case \"W\":\n case \"WW\":\n return s.s(t.isoWeek(), \"W\" === e ? 1 : 2, \"0\");\n case \"k\":\n case \"kk\":\n return s.s(String(0 === t.$H ? 24 : t.$H), \"k\" === e ? 1 : 2, \"0\");\n case \"X\":\n return Math.floor(t.$d.getTime() / 1e3);\n case \"x\":\n return t.$d.getTime();\n case \"z\":\n return \"[\" + t.offsetName() + \"]\";\n case \"zzz\":\n return \"[\" + t.offsetName(\"long\") + \"]\";\n default:\n return e;\n }\n });\n return n.bind(this)(a);\n };\n };\n});","!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_plugin_customParseFormat = t();\n}(this, function () {\n \"use strict\";\n\n var e = {\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 t = /(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,\n n = /\\d\\d/,\n r = /\\d\\d?/,\n i = /\\d*[^-_:/,()\\s\\d]+/,\n o = {},\n s = function (e) {\n return (e = +e) + (e > 68 ? 1900 : 2e3);\n };\n var a = function (e) {\n return function (t) {\n this[e] = +t;\n };\n },\n f = [/[+-]\\d\\d:?(\\d\\d)?|Z/, function (e) {\n (this.zone || (this.zone = {})).offset = function (e) {\n if (!e) return 0;\n if (\"Z\" === e) return 0;\n var t = e.match(/([+-]|\\d\\d)/g),\n n = 60 * t[1] + (+t[2] || 0);\n return 0 === n ? 0 : \"+\" === t[0] ? -n : n;\n }(e);\n }],\n h = function (e) {\n var t = o[e];\n return t && (t.indexOf ? t : t.s.concat(t.f));\n },\n u = function (e, t) {\n var n,\n r = o.meridiem;\n if (r) {\n for (var i = 1; i <= 24; i += 1) if (e.indexOf(r(i, 0, t)) > -1) {\n n = i > 12;\n break;\n }\n } else n = e === (t ? \"pm\" : \"PM\");\n return n;\n },\n d = {\n A: [i, function (e) {\n this.afternoon = u(e, !1);\n }],\n a: [i, function (e) {\n this.afternoon = u(e, !0);\n }],\n S: [/\\d/, function (e) {\n this.milliseconds = 100 * +e;\n }],\n SS: [n, function (e) {\n this.milliseconds = 10 * +e;\n }],\n SSS: [/\\d{3}/, function (e) {\n this.milliseconds = +e;\n }],\n s: [r, a(\"seconds\")],\n ss: [r, a(\"seconds\")],\n m: [r, a(\"minutes\")],\n mm: [r, a(\"minutes\")],\n H: [r, a(\"hours\")],\n h: [r, a(\"hours\")],\n HH: [r, a(\"hours\")],\n hh: [r, a(\"hours\")],\n D: [r, a(\"day\")],\n DD: [n, a(\"day\")],\n Do: [i, function (e) {\n var t = o.ordinal,\n n = e.match(/\\d+/);\n if (this.day = n[0], t) for (var r = 1; r <= 31; r += 1) t(r).replace(/\\[|\\]/g, \"\") === e && (this.day = r);\n }],\n M: [r, a(\"month\")],\n MM: [n, a(\"month\")],\n MMM: [i, function (e) {\n var t = h(\"months\"),\n n = (h(\"monthsShort\") || t.map(function (e) {\n return e.slice(0, 3);\n })).indexOf(e) + 1;\n if (n < 1) throw new Error();\n this.month = n % 12 || n;\n }],\n MMMM: [i, function (e) {\n var t = h(\"months\").indexOf(e) + 1;\n if (t < 1) throw new Error();\n this.month = t % 12 || t;\n }],\n Y: [/[+-]?\\d+/, a(\"year\")],\n YY: [n, function (e) {\n this.year = s(e);\n }],\n YYYY: [/\\d{4}/, a(\"year\")],\n Z: f,\n ZZ: f\n };\n function c(n) {\n var r, i;\n r = n, i = o && o.formats;\n for (var s = (n = r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (t, n, r) {\n var o = r && r.toUpperCase();\n return n || i[r] || e[r] || i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, function (e, t, n) {\n return t || n.slice(1);\n });\n })).match(t), a = s.length, f = 0; f < a; f += 1) {\n var h = s[f],\n u = d[h],\n c = u && u[0],\n l = u && u[1];\n s[f] = l ? {\n regex: c,\n parser: l\n } : h.replace(/^\\[|\\]$/g, \"\");\n }\n return function (e) {\n for (var t = {}, n = 0, r = 0; n < a; n += 1) {\n var i = s[n];\n if (\"string\" == typeof i) r += i.length;else {\n var o = i.regex,\n f = i.parser,\n h = e.slice(r),\n u = o.exec(h)[0];\n f.call(t, u), e = e.replace(u, \"\");\n }\n }\n return function (e) {\n var t = e.afternoon;\n if (void 0 !== t) {\n var n = e.hours;\n t ? n < 12 && (e.hours += 12) : 12 === n && (e.hours = 0), delete e.afternoon;\n }\n }(t), t;\n };\n }\n return function (e, t, n) {\n n.p.customParseFormat = !0, e && e.parseTwoDigitYear && (s = e.parseTwoDigitYear);\n var r = t.prototype,\n i = r.parse;\n r.parse = function (e) {\n var t = e.date,\n r = e.utc,\n s = e.args;\n this.$u = r;\n var a = s[1];\n if (\"string\" == typeof a) {\n var f = !0 === s[2],\n h = !0 === s[3],\n u = f || h,\n d = s[2];\n h && (d = s[2]), o = this.$locale(), !f && d && (o = n.Ls[d]), this.$d = function (e, t, n) {\n try {\n if ([\"x\", \"X\"].indexOf(t) > -1) return new Date((\"X\" === t ? 1e3 : 1) * e);\n var r = c(t)(e),\n i = r.year,\n o = r.month,\n s = r.day,\n a = r.hours,\n f = r.minutes,\n h = r.seconds,\n u = r.milliseconds,\n d = r.zone,\n l = new Date(),\n m = s || (i || o ? 1 : l.getDate()),\n M = i || l.getFullYear(),\n Y = 0;\n i && !o || (Y = o > 0 ? o - 1 : l.getMonth());\n var p = a || 0,\n v = f || 0,\n D = h || 0,\n g = u || 0;\n return d ? new Date(Date.UTC(M, Y, m, p, v, D, g + 60 * d.offset * 1e3)) : n ? new Date(Date.UTC(M, Y, m, p, v, D, g)) : new Date(M, Y, m, p, v, D, g);\n } catch (e) {\n return new Date(\"\");\n }\n }(t, a, r), this.init(), d && !0 !== d && (this.$L = this.locale(d).$L), u && t != this.format(a) && (this.$d = new Date(\"\")), o = {};\n } else if (a instanceof Array) for (var l = a.length, m = 1; m <= l; m += 1) {\n s[1] = a[m - 1];\n var M = n.apply(this, s);\n if (M.isValid()) {\n this.$d = M.$d, this.$L = M.$L, this.init();\n break;\n }\n m === l && (this.$d = new Date(\"\"));\n } else i.call(this, e);\n };\n };\n});","!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_plugin_localizedFormat = t();\n}(this, function () {\n \"use strict\";\n\n var e = {\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 return function (t, o, n) {\n var r = o.prototype,\n i = r.format;\n n.en.formats = e, r.format = function (t) {\n void 0 === t && (t = \"YYYY-MM-DDTHH:mm:ssZ\");\n var o = this.$locale().formats,\n n = function (t, o) {\n return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (t, n, r) {\n var i = r && r.toUpperCase();\n return n || o[r] || e[r] || o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, function (e, t, o) {\n return t || o.slice(1);\n });\n });\n }(t, void 0 === o ? {} : o);\n return i.call(this, n);\n };\n };\n});","!function (r, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (r = \"undefined\" != typeof globalThis ? globalThis : r || self).dayjs_plugin_relativeTime = e();\n}(this, function () {\n \"use strict\";\n\n return function (r, e, t) {\n r = r || {};\n var n = e.prototype,\n o = {\n future: \"in %s\",\n past: \"%s ago\",\n s: \"a few 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 M: \"a month\",\n MM: \"%d months\",\n y: \"a year\",\n yy: \"%d years\"\n };\n function i(r, e, t, o) {\n return n.fromToBase(r, e, t, o);\n }\n t.en.relativeTime = o, n.fromToBase = function (e, n, i, d, u) {\n for (var f, a, s, l = i.$locale().relativeTime || o, h = r.thresholds || [{\n l: \"s\",\n r: 44,\n d: \"second\"\n }, {\n l: \"m\",\n r: 89\n }, {\n l: \"mm\",\n r: 44,\n d: \"minute\"\n }, {\n l: \"h\",\n r: 89\n }, {\n l: \"hh\",\n r: 21,\n d: \"hour\"\n }, {\n l: \"d\",\n r: 35\n }, {\n l: \"dd\",\n r: 25,\n d: \"day\"\n }, {\n l: \"M\",\n r: 45\n }, {\n l: \"MM\",\n r: 10,\n d: \"month\"\n }, {\n l: \"y\",\n r: 17\n }, {\n l: \"yy\",\n d: \"year\"\n }], m = h.length, c = 0; c < m; c += 1) {\n var y = h[c];\n y.d && (f = d ? t(e).diff(i, y.d, !0) : i.diff(e, y.d, !0));\n var p = (r.rounding || Math.round)(Math.abs(f));\n if (s = f > 0, p <= y.r || !y.r) {\n p <= 1 && c > 0 && (y = h[c - 1]);\n var v = l[y.l];\n u && (p = u(\"\" + p)), a = \"string\" == typeof v ? v.replace(\"%d\", p) : v(p, n, y.l, s);\n break;\n }\n }\n if (n) return a;\n var M = s ? l.future : l.past;\n return \"function\" == typeof M ? M(a) : M.replace(\"%s\", a);\n }, n.to = function (r, e) {\n return i(r, e, this, !0);\n }, n.from = function (r, e) {\n return i(r, e, this);\n };\n var d = function (r) {\n return r.$u ? t.utc() : t();\n };\n n.toNow = function (r) {\n return this.to(d(this), r);\n }, n.fromNow = function (r) {\n return this.from(d(this), r);\n };\n };\n});","!function (t, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (t = \"undefined\" != typeof globalThis ? globalThis : t || self).dayjs_plugin_timezone = e();\n}(this, function () {\n \"use strict\";\n\n var t = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n },\n e = {};\n return function (n, i, o) {\n var r,\n a = function (t, n, i) {\n void 0 === i && (i = {});\n var o = new Date(t),\n r = function (t, n) {\n void 0 === n && (n = {});\n var i = n.timeZoneName || \"short\",\n o = t + \"|\" + i,\n r = e[o];\n return r || (r = new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: t,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n timeZoneName: i\n }), e[o] = r), r;\n }(n, i);\n return r.formatToParts(o);\n },\n u = function (e, n) {\n for (var i = a(e, n), r = [], u = 0; u < i.length; u += 1) {\n var f = i[u],\n s = f.type,\n m = f.value,\n c = t[s];\n c >= 0 && (r[c] = parseInt(m, 10));\n }\n var d = r[3],\n l = 24 === d ? 0 : d,\n v = r[0] + \"-\" + r[1] + \"-\" + r[2] + \" \" + l + \":\" + r[4] + \":\" + r[5] + \":000\",\n h = +e;\n return (o.utc(v).valueOf() - (h -= h % 1e3)) / 6e4;\n },\n f = i.prototype;\n f.tz = function (t, e) {\n void 0 === t && (t = r);\n var n = this.utcOffset(),\n i = this.toDate(),\n a = i.toLocaleString(\"en-US\", {\n timeZone: t\n }),\n u = Math.round((i - new Date(a)) / 1e3 / 60),\n f = o(a).$set(\"millisecond\", this.$ms).utcOffset(15 * -Math.round(i.getTimezoneOffset() / 15) - u, !0);\n if (e) {\n var s = f.utcOffset();\n f = f.add(n - s, \"minute\");\n }\n return f.$x.$timezone = t, f;\n }, f.offsetName = function (t) {\n var e = this.$x.$timezone || o.tz.guess(),\n n = a(this.valueOf(), e, {\n timeZoneName: t\n }).find(function (t) {\n return \"timezonename\" === t.type.toLowerCase();\n });\n return n && n.value;\n };\n var s = f.startOf;\n f.startOf = function (t, e) {\n if (!this.$x || !this.$x.$timezone) return s.call(this, t, e);\n var n = o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));\n return s.call(n, t, e).tz(this.$x.$timezone, !0);\n }, o.tz = function (t, e, n) {\n var i = n && e,\n a = n || e || r,\n f = u(+o(), a);\n if (\"string\" != typeof t) return o(t).tz(a);\n var s = function (t, e, n) {\n var i = t - 60 * e * 1e3,\n o = u(i, n);\n if (e === o) return [i, e];\n var r = u(i -= 60 * (o - e) * 1e3, n);\n return o === r ? [i, o] : [t - 60 * Math.min(o, r) * 1e3, Math.max(o, r)];\n }(o.utc(t, i).valueOf(), f, a),\n m = s[0],\n c = s[1],\n d = o(m).utcOffset(c);\n return d.$x.$timezone = a, d;\n }, o.tz.guess = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n }, o.tz.setDefault = function (t) {\n r = t;\n };\n };\n});","!function (t, i) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = i() : \"function\" == typeof define && define.amd ? define(i) : (t = \"undefined\" != typeof globalThis ? globalThis : t || self).dayjs_plugin_utc = i();\n}(this, function () {\n \"use strict\";\n\n var t = \"minute\",\n i = /[+-]\\d\\d(?::?\\d\\d)?/g,\n e = /([+-]|\\d\\d)/g;\n return function (s, f, n) {\n var u = f.prototype;\n n.utc = function (t) {\n var i = {\n date: t,\n utc: !0,\n args: arguments\n };\n return new f(i);\n }, u.utc = function (i) {\n var e = n(this.toDate(), {\n locale: this.$L,\n utc: !0\n });\n return i ? e.add(this.utcOffset(), t) : e;\n }, u.local = function () {\n return n(this.toDate(), {\n locale: this.$L,\n utc: !1\n });\n };\n var o = u.parse;\n u.parse = function (t) {\n t.utc && (this.$u = !0), this.$utils().u(t.$offset) || (this.$offset = t.$offset), o.call(this, t);\n };\n var r = u.init;\n u.init = function () {\n if (this.$u) {\n var t = this.$d;\n this.$y = t.getUTCFullYear(), this.$M = t.getUTCMonth(), this.$D = t.getUTCDate(), this.$W = t.getUTCDay(), this.$H = t.getUTCHours(), this.$m = t.getUTCMinutes(), this.$s = t.getUTCSeconds(), this.$ms = t.getUTCMilliseconds();\n } else r.call(this);\n };\n var a = u.utcOffset;\n u.utcOffset = function (s, f) {\n var n = this.$utils().u;\n if (n(s)) return this.$u ? 0 : n(this.$offset) ? a.call(this) : this.$offset;\n if (\"string\" == typeof s && (s = function (t) {\n void 0 === t && (t = \"\");\n var s = t.match(i);\n if (!s) return null;\n var f = (\"\" + s[0]).match(e) || [\"-\", 0, 0],\n n = f[0],\n u = 60 * +f[1] + +f[2];\n return 0 === u ? 0 : \"+\" === n ? u : -u;\n }(s), null === s)) return this;\n var u = Math.abs(s) <= 16 ? 60 * s : s,\n o = this;\n if (f) return o.$offset = u, o.$u = 0 === s, o;\n if (0 !== s) {\n var r = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();\n (o = this.local().add(u + r, t)).$offset = u, o.$x.$localOffset = r;\n } else o = this.utc();\n return o;\n };\n var h = u.format;\n u.format = function (t) {\n var i = t || (this.$u ? \"YYYY-MM-DDTHH:mm:ss[Z]\" : \"\");\n return h.call(this, i);\n }, u.valueOf = function () {\n var t = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());\n return this.$d.valueOf() - 6e4 * t;\n }, u.isUTC = function () {\n return !!this.$u;\n }, u.toISOString = function () {\n return this.toDate().toISOString();\n }, u.toString = function () {\n return this.toDate().toUTCString();\n };\n var l = u.toDate;\n u.toDate = function (t) {\n return \"s\" === t && this.$offset ? n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate() : l.call(this);\n };\n var c = u.diff;\n u.diff = function (t, i, e) {\n if (t && this.$u === t.$u) return c.call(this, t, i, e);\n var s = this.local(),\n f = n(t).local();\n return c.call(s, f, i, e);\n };\n };\n});","'use strict';\n\nvar $defineProperty = require('es-define-property');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(obj, property, value) {\n if (!obj || typeof obj !== 'object' && typeof obj !== 'function') {\n throw new $TypeError('`obj` must be an object or a function`');\n }\n if (typeof property !== 'string' && typeof property !== 'symbol') {\n throw new $TypeError('`property` must be a string or a symbol`');\n }\n if (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n throw new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n }\n if (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n throw new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n }\n if (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n throw new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n }\n if (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n throw new $TypeError('`loose`, if provided, must be a boolean');\n }\n var nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n var nonWritable = arguments.length > 4 ? arguments[4] : null;\n var nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n var loose = arguments.length > 6 ? arguments[6] : false;\n\n /* @type {false | TypedPropertyDescriptor} */\n var desc = !!gopd && gopd(obj, property);\n if ($defineProperty) {\n $defineProperty(obj, property, {\n configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n value: value,\n writable: nonWritable === null && desc ? desc.writable : !nonWritable\n });\n } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) {\n // must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n obj[property] = value; // eslint-disable-line no-param-reassign\n } else {\n throw new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n }\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n try {\n $defineProperty({}, 'a', {\n value: 1\n });\n } catch (e) {\n // IE 8 has a broken defineProperty\n $defineProperty = false;\n }\n}\nmodule.exports = $defineProperty;","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;","'use strict';\n\nvar isCallable = require('is-callable');\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\nmodule.exports = forEach;","'use strict';\n\n/* eslint no-invalid-this: 1 */\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\nvar concatty = function concatty(a, b) {\n var arr = [];\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n return arr;\n};\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(this, concatty(args, arguments));\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(that, concatty(args, arguments));\n };\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n return bound;\n};","'use strict';\n\nvar implementation = require('./implementation');\nmodule.exports = Function.prototype.bind || implementation;","'use strict';\n\nrequire(\"core-js/modules/esnext.aggregate-error.js\");\nvar undefined;\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n try {\n return $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n } catch (e) {}\n};\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n try {\n $gOPD({}, '');\n } catch (e) {\n $gOPD = null; // this is IE 8, which has a broken gOPD\n }\n}\nvar throwTypeError = function () {\n throw new $TypeError();\n};\nvar ThrowTypeError = $gOPD ? function () {\n try {\n // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n arguments.callee; // IE 8 does not throw here\n return throwTypeError;\n } catch (calleeThrows) {\n try {\n // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n return $gOPD(arguments, 'callee').get;\n } catch (gOPDthrows) {\n return throwTypeError;\n }\n }\n}() : throwTypeError;\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\nvar getProto = Object.getPrototypeOf || (hasProto ? function (x) {\n return x.__proto__;\n} // eslint-disable-line no-proto\n: null);\nvar needsEval = {};\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\nvar INTRINSICS = {\n __proto__: null,\n '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n '%Array%': Array,\n '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n '%AsyncFromSyncIteratorPrototype%': undefined,\n '%AsyncFunction%': needsEval,\n '%AsyncGenerator%': needsEval,\n '%AsyncGeneratorFunction%': needsEval,\n '%AsyncIteratorPrototype%': needsEval,\n '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n '%Boolean%': Boolean,\n '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n '%Date%': Date,\n '%decodeURI%': decodeURI,\n '%decodeURIComponent%': decodeURIComponent,\n '%encodeURI%': encodeURI,\n '%encodeURIComponent%': encodeURIComponent,\n '%Error%': $Error,\n '%eval%': eval,\n // eslint-disable-line no-eval\n '%EvalError%': $EvalError,\n '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n '%Function%': $Function,\n '%GeneratorFunction%': needsEval,\n '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n '%isFinite%': isFinite,\n '%isNaN%': isNaN,\n '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n '%JSON%': typeof JSON === 'object' ? JSON : undefined,\n '%Map%': typeof Map === 'undefined' ? undefined : Map,\n '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n '%Math%': Math,\n '%Number%': Number,\n '%Object%': Object,\n '%parseFloat%': parseFloat,\n '%parseInt%': parseInt,\n '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n '%RangeError%': $RangeError,\n '%ReferenceError%': $ReferenceError,\n '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n '%RegExp%': RegExp,\n '%Set%': typeof Set === 'undefined' ? undefined : Set,\n '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n '%String%': String,\n '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n '%Symbol%': hasSymbols ? Symbol : undefined,\n '%SyntaxError%': $SyntaxError,\n '%ThrowTypeError%': ThrowTypeError,\n '%TypedArray%': TypedArray,\n '%TypeError%': $TypeError,\n '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n '%URIError%': $URIError,\n '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\nif (getProto) {\n try {\n null.error; // eslint-disable-line no-unused-expressions\n } catch (e) {\n // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n var errorProto = getProto(getProto(e));\n INTRINSICS['%Error.prototype%'] = errorProto;\n }\n}\nvar doEval = function doEval(name) {\n var value;\n if (name === '%AsyncFunction%') {\n value = getEvalledConstructor('async function () {}');\n } else if (name === '%GeneratorFunction%') {\n value = getEvalledConstructor('function* () {}');\n } else if (name === '%AsyncGeneratorFunction%') {\n value = getEvalledConstructor('async function* () {}');\n } else if (name === '%AsyncGenerator%') {\n var fn = doEval('%AsyncGeneratorFunction%');\n if (fn) {\n value = fn.prototype;\n }\n } else if (name === '%AsyncIteratorPrototype%') {\n var gen = doEval('%AsyncGenerator%');\n if (gen && getProto) {\n value = getProto(gen.prototype);\n }\n }\n INTRINSICS[name] = value;\n return value;\n};\nvar LEGACY_ALIASES = {\n __proto__: null,\n '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n '%ArrayPrototype%': ['Array', 'prototype'],\n '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n '%ArrayProto_values%': ['Array', 'prototype', 'values'],\n '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n '%BooleanPrototype%': ['Boolean', 'prototype'],\n '%DataViewPrototype%': ['DataView', 'prototype'],\n '%DatePrototype%': ['Date', 'prototype'],\n '%ErrorPrototype%': ['Error', 'prototype'],\n '%EvalErrorPrototype%': ['EvalError', 'prototype'],\n '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n '%FunctionPrototype%': ['Function', 'prototype'],\n '%Generator%': ['GeneratorFunction', 'prototype'],\n '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n '%JSONParse%': ['JSON', 'parse'],\n '%JSONStringify%': ['JSON', 'stringify'],\n '%MapPrototype%': ['Map', 'prototype'],\n '%NumberPrototype%': ['Number', 'prototype'],\n '%ObjectPrototype%': ['Object', 'prototype'],\n '%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n '%PromisePrototype%': ['Promise', 'prototype'],\n '%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n '%Promise_all%': ['Promise', 'all'],\n '%Promise_reject%': ['Promise', 'reject'],\n '%Promise_resolve%': ['Promise', 'resolve'],\n '%RangeErrorPrototype%': ['RangeError', 'prototype'],\n '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n '%RegExpPrototype%': ['RegExp', 'prototype'],\n '%SetPrototype%': ['Set', 'prototype'],\n '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n '%StringPrototype%': ['String', 'prototype'],\n '%SymbolPrototype%': ['Symbol', 'prototype'],\n '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n '%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n '%TypeErrorPrototype%': ['TypeError', 'prototype'],\n '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n '%URIErrorPrototype%': ['URIError', 'prototype'],\n '%WeakMapPrototype%': ['WeakMap', 'prototype'],\n '%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n var first = $strSlice(string, 0, 1);\n var last = $strSlice(string, -1);\n if (first === '%' && last !== '%') {\n throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n } else if (last === '%' && first !== '%') {\n throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n }\n var result = [];\n $replace(string, rePropName, function (match, number, quote, subString) {\n result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n });\n return result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n var intrinsicName = name;\n var alias;\n if (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n alias = LEGACY_ALIASES[intrinsicName];\n intrinsicName = '%' + alias[0] + '%';\n }\n if (hasOwn(INTRINSICS, intrinsicName)) {\n var value = INTRINSICS[intrinsicName];\n if (value === needsEval) {\n value = doEval(intrinsicName);\n }\n if (typeof value === 'undefined' && !allowMissing) {\n throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n }\n return {\n alias: alias,\n name: intrinsicName,\n value: value\n };\n }\n throw new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n if (typeof name !== 'string' || name.length === 0) {\n throw new $TypeError('intrinsic name must be a non-empty string');\n }\n if (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n throw new $TypeError('\"allowMissing\" argument must be a boolean');\n }\n if ($exec(/^%?[^%]*%?$/, name) === null) {\n throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n }\n var parts = stringToPath(name);\n var intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n var intrinsicRealName = intrinsic.name;\n var value = intrinsic.value;\n var skipFurtherCaching = false;\n var alias = intrinsic.alias;\n if (alias) {\n intrinsicBaseName = alias[0];\n $spliceApply(parts, $concat([0, 1], alias));\n }\n for (var i = 1, isOwn = true; i < parts.length; i += 1) {\n var part = parts[i];\n var first = $strSlice(part, 0, 1);\n var last = $strSlice(part, -1);\n if ((first === '\"' || first === \"'\" || first === '`' || last === '\"' || last === \"'\" || last === '`') && first !== last) {\n throw new $SyntaxError('property names with quotes must have matching quotes');\n }\n if (part === 'constructor' || !isOwn) {\n skipFurtherCaching = true;\n }\n intrinsicBaseName += '.' + part;\n intrinsicRealName = '%' + intrinsicBaseName + '%';\n if (hasOwn(INTRINSICS, intrinsicRealName)) {\n value = INTRINSICS[intrinsicRealName];\n } else if (value != null) {\n if (!(part in value)) {\n if (!allowMissing) {\n throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n }\n return void undefined;\n }\n if ($gOPD && i + 1 >= parts.length) {\n var desc = $gOPD(value, part);\n isOwn = !!desc;\n\n // By convention, when a data property is converted to an accessor\n // property to emulate a data property that does not suffer from\n // the override mistake, that accessor's getter is marked with\n // an `originalValue` property. Here, when we detect this, we\n // uphold the illusion by pretending to see that original data\n // property, i.e., returning the value rather than the getter\n // itself.\n if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n value = desc.get;\n } else {\n value = value[part];\n }\n } else {\n isOwn = hasOwn(value, part);\n value = value[part];\n }\n if (isOwn && !skipFurtherCaching) {\n INTRINSICS[intrinsicRealName] = value;\n }\n }\n }\n return value;\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nif ($gOPD) {\n try {\n $gOPD([], 'length');\n } catch (e) {\n // IE 8 has a broken gOPD\n $gOPD = null;\n }\n}\nmodule.exports = $gOPD;","'use strict';\n\nvar $defineProperty = require('es-define-property');\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n return !!$defineProperty;\n};\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n // node v0.6 has a bug where array lengths can be Set but not Defined\n if (!$defineProperty) {\n return null;\n }\n try {\n return $defineProperty([], 'length', {\n value: 1\n }).length !== 1;\n } catch (e) {\n // In Firefox 4-22, defining length on an array throws an exception.\n return true;\n }\n};\nmodule.exports = hasPropertyDescriptors;","'use strict';\n\nvar test = {\n __proto__: null,\n foo: {}\n};\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n // @ts-expect-error: TS errors on an inherited property for some reason\n return {\n __proto__: test\n }.foo === test.foo && !(test instanceof $Object);\n};","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\nmodule.exports = function hasNativeSymbols() {\n if (typeof origSymbol !== 'function') {\n return false;\n }\n if (typeof Symbol !== 'function') {\n return false;\n }\n if (typeof origSymbol('foo') !== 'symbol') {\n return false;\n }\n if (typeof Symbol('bar') !== 'symbol') {\n return false;\n }\n return hasSymbolSham();\n};","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') {\n return false;\n }\n if (typeof Symbol.iterator === 'symbol') {\n return true;\n }\n var obj = {};\n var sym = Symbol('test');\n var symObj = Object(sym);\n if (typeof sym === 'string') {\n return false;\n }\n if (Object.prototype.toString.call(sym) !== '[object Symbol]') {\n return false;\n }\n if (Object.prototype.toString.call(symObj) !== '[object Symbol]') {\n return false;\n }\n\n // temp disabled per https://github.com/ljharb/object.assign/issues/17\n // if (sym instanceof Symbol) { return false; }\n // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n // if (!(symObj instanceof Symbol)) { return false; }\n\n // if (typeof Symbol.prototype.toString !== 'function') { return false; }\n // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n var symVal = 42;\n obj[sym] = symVal;\n for (sym in obj) {\n return false;\n } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) {\n return false;\n }\n if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) {\n return false;\n }\n var syms = Object.getOwnPropertySymbols(obj);\n if (syms.length !== 1 || syms[0] !== sym) {\n return false;\n }\n if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {\n return false;\n }\n if (typeof Object.getOwnPropertyDescriptor === 'function') {\n var descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n if (descriptor.value !== symVal || descriptor.enumerable !== true) {\n return false;\n }\n }\n return true;\n};","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n return hasSymbols() && !!Symbol.toStringTag;\n};","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n}","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\nvar $toString = callBound('Object.prototype.toString');\nvar isStandardArguments = function isArguments(value) {\n if (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n return false;\n }\n return $toString(value) === '[object Arguments]';\n};\nvar isLegacyArguments = function isArguments(value) {\n if (isStandardArguments(value)) {\n return true;\n }\n return value !== null && typeof value === 'object' && typeof value.length === 'number' && value.length >= 0 && $toString(value) !== '[object Array]' && $toString(value.callee) === '[object Function]';\n};\nvar supportsStandardArguments = function () {\n return isStandardArguments(arguments);\n}();\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n try {\n badArrayLike = Object.defineProperty({}, 'length', {\n get: function () {\n throw isCallableMarker;\n }\n });\n isCallableMarker = {};\n // eslint-disable-next-line no-throw-literal\n reflectApply(function () {\n throw 42;\n }, null, badArrayLike);\n } catch (_) {\n if (_ !== isCallableMarker) {\n reflectApply = null;\n }\n }\n} else {\n reflectApply = null;\n}\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n try {\n var fnStr = fnToStr.call(value);\n return constructorRegex.test(fnStr);\n } catch (e) {\n return false; // not a function\n }\n};\nvar tryFunctionObject = function tryFunctionToStr(value) {\n try {\n if (isES6ClassFn(value)) {\n return false;\n }\n fnToStr.call(value);\n return true;\n } catch (e) {\n return false;\n }\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() {\n return false;\n};\nif (typeof document === 'object') {\n // Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n var all = document.all;\n if (toStr.call(all) === toStr.call(document.all)) {\n isDDA = function isDocumentDotAll(value) {\n /* globals document: false */\n // in IE 6-8, typeof document.all is \"object\" and it's truthy\n if ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n try {\n var str = toStr.call(value);\n return (str === ddaClass || str === ddaClass2 || str === ddaClass3 // opera 12.16\n || str === objectClass // IE 6-8\n ) && value('') == null; // eslint-disable-line eqeqeq\n } catch (e) {/**/}\n }\n return false;\n };\n }\n}\nmodule.exports = reflectApply ? function isCallable(value) {\n if (isDDA(value)) {\n return true;\n }\n if (!value) {\n return false;\n }\n if (typeof value !== 'function' && typeof value !== 'object') {\n return false;\n }\n try {\n reflectApply(value, null, badArrayLike);\n } catch (e) {\n if (e !== isCallableMarker) {\n return false;\n }\n }\n return !isES6ClassFn(value) && tryFunctionObject(value);\n} : function isCallable(value) {\n if (isDDA(value)) {\n return true;\n }\n if (!value) {\n return false;\n }\n if (typeof value !== 'function' && typeof value !== 'object') {\n return false;\n }\n if (hasToStringTag) {\n return tryFunctionObject(value);\n }\n if (isES6ClassFn(value)) {\n return false;\n }\n var strClass = toStr.call(value);\n if (strClass !== fnClass && strClass !== genClass && !/^\\[object HTML/.test(strClass)) {\n return false;\n }\n return tryFunctionObject(value);\n};","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () {\n // eslint-disable-line consistent-return\n if (!hasToStringTag) {\n return false;\n }\n try {\n return Function('return function*() {}')();\n } catch (e) {}\n};\nvar GeneratorFunction;\nmodule.exports = function isGeneratorFunction(fn) {\n if (typeof fn !== 'function') {\n return false;\n }\n if (isFnRegex.test(fnToStr.call(fn))) {\n return true;\n }\n if (!hasToStringTag) {\n var str = toStr.call(fn);\n return str === '[object GeneratorFunction]';\n }\n if (!getProto) {\n return false;\n }\n if (typeof GeneratorFunction === 'undefined') {\n var generatorFunc = getGeneratorFunc();\n GeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n }\n return getProto(fn) === GeneratorFunction;\n};","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n return !!whichTypedArray(value);\n};","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar makeError = require(\"make-error\");\nvar util_1 = require(\"util\");\n/**\n * @internal\n */\nexports.SEPARATOR_TEXT = \"\\n\\nThe following exception was the direct cause of the above exception:\\n\\n\";\n/**\n * Create a new error instance of `cause` property support.\n */\nvar BaseError = /** @class */function (_super) {\n __extends(BaseError, _super);\n function BaseError(message, cause) {\n var _this = _super.call(this, message) || this;\n _this.cause = cause;\n Object.defineProperty(_this, \"cause\", {\n writable: false,\n enumerable: false,\n configurable: false\n });\n return _this;\n }\n BaseError.prototype[util_1.inspect.custom || /* istanbul ignore next */\"inspect\"] = function () {\n return fullStack(this);\n };\n return BaseError;\n}(makeError.BaseError);\nexports.BaseError = BaseError;\n/**\n * Capture the full stack trace of any error instance.\n */\nfunction fullStack(error) {\n var chain = [];\n var cause = error;\n while (cause) {\n chain.push(cause);\n cause = cause.cause;\n }\n return chain.map(function (err) {\n return util_1.inspect(err, {\n customInspect: false\n });\n }).join(exports.SEPARATOR_TEXT);\n}\nexports.fullStack = fullStack;","// ISC @ Julien Fontanet\n\n\"use strict\";\n\n// ===================================================================\nvar construct = typeof Reflect !== \"undefined\" ? Reflect.construct : undefined;\nvar defineProperty = Object.defineProperty;\n\n// -------------------------------------------------------------------\n\nvar captureStackTrace = Error.captureStackTrace;\nif (captureStackTrace === undefined) {\n captureStackTrace = function captureStackTrace(error) {\n var container = new Error();\n defineProperty(error, \"stack\", {\n configurable: true,\n get: function getStack() {\n var stack = container.stack;\n\n // Replace property with value for faster future accesses.\n defineProperty(this, \"stack\", {\n configurable: true,\n value: stack,\n writable: true\n });\n return stack;\n },\n set: function setStack(stack) {\n defineProperty(error, \"stack\", {\n configurable: true,\n value: stack,\n writable: true\n });\n }\n });\n };\n}\n\n// -------------------------------------------------------------------\n\nfunction BaseError(message) {\n if (message !== undefined) {\n defineProperty(this, \"message\", {\n configurable: true,\n value: message,\n writable: true\n });\n }\n var cname = this.constructor.name;\n if (cname !== undefined && cname !== this.name) {\n defineProperty(this, \"name\", {\n configurable: true,\n value: cname,\n writable: true\n });\n }\n captureStackTrace(this, this.constructor);\n}\nBaseError.prototype = Object.create(Error.prototype, {\n // See: https://github.com/JsCommunity/make-error/issues/4\n constructor: {\n configurable: true,\n value: BaseError,\n writable: true\n }\n});\n\n// -------------------------------------------------------------------\n\n// Sets the name of a function if possible (depends of the JS engine).\nvar setFunctionName = function () {\n function setFunctionName(fn, name) {\n return defineProperty(fn, \"name\", {\n configurable: true,\n value: name\n });\n }\n try {\n var f = function () {};\n setFunctionName(f, \"foo\");\n if (f.name === \"foo\") {\n return setFunctionName;\n }\n } catch (_) {}\n}();\n\n// -------------------------------------------------------------------\n\nfunction makeError(constructor, super_) {\n if (super_ == null || super_ === Error) {\n super_ = BaseError;\n } else if (typeof super_ !== \"function\") {\n throw new TypeError(\"super_ should be a function\");\n }\n var name;\n if (typeof constructor === \"string\") {\n name = constructor;\n constructor = construct !== undefined ? function () {\n return construct(super_, arguments, this.constructor);\n } : function () {\n super_.apply(this, arguments);\n };\n\n // If the name can be set, do it once and for all.\n if (setFunctionName !== undefined) {\n setFunctionName(constructor, name);\n name = undefined;\n }\n } else if (typeof constructor !== \"function\") {\n throw new TypeError(\"constructor should be either a string or a function\");\n }\n\n // Also register the super constructor also as `constructor.super_` just\n // like Node's `util.inherits()`.\n //\n // eslint-disable-next-line dot-notation\n constructor.super_ = constructor[\"super\"] = super_;\n var properties = {\n constructor: {\n configurable: true,\n value: constructor,\n writable: true\n }\n };\n\n // If the name could not be set on the constructor, set it on the\n // prototype.\n if (name !== undefined) {\n properties.name = {\n configurable: true,\n value: name,\n writable: true\n };\n }\n constructor.prototype = Object.create(super_.prototype, properties);\n return constructor;\n}\nexports = module.exports = makeError;\nexports.BaseError = BaseError;","\"use strict\";\n\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\nvar omit = require(\"lodash/omit\");\nmodule.exports = function omitDeepLodash(input, props) {\n function omitDeepOnOwnProps(obj) {\n if (typeof input === \"undefined\") {\n return input;\n }\n if (!Array.isArray(obj) && !isObject(obj)) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return omitDeepLodash(obj, props);\n }\n var o = {};\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n try {\n for (var _iterator = Object.entries(obj)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n o[key] = !isNil(value) ? omitDeepLodash(value, props) : value;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return omit(o, props);\n }\n if (arguments.length > 2) {\n props = Array.prototype.slice.call(arguments).slice(1);\n }\n if (Array.isArray(input)) {\n return input.map(omitDeepOnOwnProps);\n }\n return omitDeepOnOwnProps(input);\n};\nfunction isNil(value) {\n return value === null || value === undefined;\n}\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n}","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = ['Float32Array', 'Float64Array', 'Int8Array', 'Int16Array', 'Int32Array', 'Uint8Array', 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'BigInt64Array', 'BigUint64Array'];","import { fork } from './io';\nimport { takeEveryHelper, takeLatestHelper, throttleHelper } from './sagaHelpers';\nexport function takeEvery(patternOrChannel, worker) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return fork.apply(undefined, [takeEveryHelper, patternOrChannel, worker].concat(args));\n}\nexport function takeLatest(patternOrChannel, worker) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n return fork.apply(undefined, [takeLatestHelper, patternOrChannel, worker].concat(args));\n}\nexport function throttle(ms, pattern, worker) {\n for (var _len3 = arguments.length, args = Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {\n args[_key3 - 3] = arguments[_key3];\n }\n return fork.apply(undefined, [throttleHelper, ms, pattern, worker].concat(args));\n}","var _extends = Object.assign || 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};\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\nfunction _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n return obj;\n}\nimport { noop, kTrue, is, log as _log, check, deferred, uid as nextEffectId, array, remove, object, TASK, CANCEL, SELF_CANCELLATION, makeIterator, createSetContextWarning, deprecate, updateIncentive } from './utils';\nimport { asap, suspend, flush } from './scheduler';\nimport { asEffect } from './io';\nimport { stdChannel as _stdChannel, eventChannel, isEnd } from './channel';\nimport { buffers } from './buffers';\nexport var NOT_ITERATOR_ERROR = 'proc first argument (Saga function result) must be an iterator';\nexport var CHANNEL_END = {\n toString: function toString() {\n return '@@redux-saga/CHANNEL_END';\n }\n};\nexport var TASK_CANCEL = {\n toString: function toString() {\n return '@@redux-saga/TASK_CANCEL';\n }\n};\nvar matchers = {\n wildcard: function wildcard() {\n return kTrue;\n },\n default: function _default(pattern) {\n return (typeof pattern === 'undefined' ? 'undefined' : _typeof(pattern)) === 'symbol' ? function (input) {\n return input.type === pattern;\n } : function (input) {\n return input.type === String(pattern);\n };\n },\n array: function array(patterns) {\n return function (input) {\n return patterns.some(function (p) {\n return matcher(p)(input);\n });\n };\n },\n predicate: function predicate(_predicate) {\n return function (input) {\n return _predicate(input);\n };\n }\n};\nfunction matcher(pattern) {\n // prettier-ignore\n return (pattern === '*' ? matchers.wildcard : is.array(pattern) ? matchers.array : is.stringableFunc(pattern) ? matchers.default : is.func(pattern) ? matchers.predicate : matchers.default)(pattern);\n}\n\n/**\n Used to track a parent task and its forks\n In the new 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**/\nfunction forkQueue(name, mainTask, cb) {\n var tasks = [],\n result = void 0,\n completed = false;\n addTask(mainTask);\n function abort(err) {\n cancelAll();\n cb(err, true);\n }\n function addTask(task) {\n tasks.push(task);\n task.cont = function (res, isErr) {\n if (completed) {\n return;\n }\n remove(tasks, task);\n task.cont = noop;\n if (isErr) {\n abort(res);\n } else {\n if (task === mainTask) {\n result = res;\n }\n if (!tasks.length) {\n completed = true;\n cb(result);\n }\n }\n };\n // task.cont.cancel = task.cancel\n }\n function cancelAll() {\n if (completed) {\n return;\n }\n completed = true;\n tasks.forEach(function (t) {\n t.cont = noop;\n t.cancel();\n });\n tasks = [];\n }\n return {\n addTask: addTask,\n cancelAll: cancelAll,\n abort: abort,\n getTasks: function getTasks() {\n return tasks;\n },\n taskNames: function taskNames() {\n return tasks.map(function (t) {\n return t.name;\n });\n }\n };\n}\nfunction createTaskIterator(_ref) {\n var context = _ref.context,\n fn = _ref.fn,\n args = _ref.args;\n if (is.iterator(fn)) {\n return fn;\n }\n\n // catch synchronous failures; see #152 and #441\n var result = void 0,\n error = void 0;\n try {\n result = fn.apply(context, args);\n } catch (err) {\n error = err;\n }\n\n // i.e. a generator function returns an iterator\n if (is.iterator(result)) {\n return result;\n }\n\n // do not bubble up synchronous failures for detached forks\n // instead create a failed task. See #152 and #441\n return error ? makeIterator(function () {\n throw error;\n }) : makeIterator(function () {\n var pc = void 0;\n var eff = {\n done: false,\n value: result\n };\n var ret = function ret(value) {\n return {\n done: true,\n value: value\n };\n };\n return function (arg) {\n if (!pc) {\n pc = true;\n return eff;\n } else {\n return ret(arg);\n }\n };\n }());\n}\nvar wrapHelper = function wrapHelper(helper) {\n return {\n fn: helper\n };\n};\nexport default function proc(iterator) {\n var subscribe = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {\n return noop;\n };\n var dispatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : noop;\n var getState = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var parentContext = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var parentEffectId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var name = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 'anonymous';\n var cont = arguments[8];\n check(iterator, is.iterator, NOT_ITERATOR_ERROR);\n var effectsString = '[...effects]';\n var runParallelEffect = deprecate(runAllEffect, updateIncentive(effectsString, 'all(' + effectsString + ')'));\n var sagaMonitor = options.sagaMonitor,\n logger = options.logger,\n onError = options.onError;\n var log = logger || _log;\n var logError = function logError(err) {\n var message = err.sagaStack;\n if (!message && err.stack) {\n message = err.stack.split('\\n')[0].indexOf(err.message) !== -1 ? err.stack : 'Error: ' + err.message + '\\n' + err.stack;\n }\n log('error', 'uncaught at ' + name, message || err.message || err);\n };\n var stdChannel = _stdChannel(subscribe);\n var taskContext = Object.create(parentContext);\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 next.cancel = noop;\n\n /**\n Creates a new task descriptor for this generator, We'll also create a main task\n to track the main flow (besides other forked tasks)\n **/\n var task = newTask(parentEffectId, name, iterator, cont);\n var mainTask = {\n name: name,\n cancel: cancelMain,\n isRunning: true\n };\n var taskQueue = forkQueue(name, mainTask, end);\n\n /**\n cancellation of the main task. We'll simply resume the Generator with a Cancel\n **/\n function cancelMain() {\n if (mainTask.isRunning && !mainTask.isCancelled) {\n mainTask.isCancelled = true;\n next(TASK_CANCEL);\n }\n }\n\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 holded 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 function cancel() {\n /**\n We need to check both Running and Cancelled status\n Tasks can be Cancelled but still Running\n **/\n if (iterator._isRunning && !iterator._isCancelled) {\n iterator._isCancelled = true;\n taskQueue.cancelAll();\n /**\n Ending with a Never result will propagate the Cancellation to all joiners\n **/\n end(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 cont && (cont.cancel = cancel);\n\n // tracks the running status\n iterator._isRunning = true;\n\n // kicks up the generator\n next();\n\n // then return the task descriptor to the caller\n return task;\n\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 **/\n function next(arg, isErr) {\n // Preventive measure. If we end up here, then there is really something wrong\n if (!mainTask.isRunning) {\n throw new Error('Trying to resume an already finished generator');\n }\n try {\n var result = void 0;\n if (isErr) {\n result = iterator.throw(arg);\n } else if (arg === TASK_CANCEL) {\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.isCancelled = true;\n /**\n Cancels the current effect; this will propagate the cancellation down to any called tasks\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 result = is.func(iterator.return) ? iterator.return(TASK_CANCEL) : {\n done: true,\n value: TASK_CANCEL\n };\n } else if (arg === CHANNEL_END) {\n // We get CHANNEL_END by taking from a channel that ended using `take` (and not `takem` used to trap End of channels)\n result = is.func(iterator.return) ? iterator.return() : {\n done: true\n };\n } else {\n result = iterator.next(arg);\n }\n if (!result.done) {\n runEffect(result.value, parentEffectId, '', next);\n } else {\n /**\n This Generator has ended, terminate the main task and notify the fork queue\n **/\n mainTask.isMainRunning = false;\n mainTask.cont && mainTask.cont(result.value);\n }\n } catch (error) {\n if (mainTask.isCancelled) {\n logError(error);\n }\n mainTask.isMainRunning = false;\n mainTask.cont(error, true);\n }\n }\n function end(result, isErr) {\n iterator._isRunning = false;\n stdChannel.close();\n if (!isErr) {\n iterator._result = result;\n iterator._deferredEnd && iterator._deferredEnd.resolve(result);\n } else {\n if (result instanceof Error) {\n Object.defineProperty(result, 'sagaStack', {\n value: 'at ' + name + ' \\n ' + (result.sagaStack || result.stack),\n configurable: true\n });\n }\n if (!task.cont) {\n if (result instanceof Error && onError) {\n onError(result);\n } else {\n logError(result);\n }\n }\n iterator._error = result;\n iterator._isAborted = true;\n iterator._deferredEnd && iterator._deferredEnd.reject(result);\n }\n task.cont && task.cont(result, isErr);\n task.joiners.forEach(function (j) {\n return j.cb(result, isErr);\n });\n task.joiners = null;\n }\n function runEffect(effect, parentEffectId) {\n var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var cb = arguments[3];\n var effectId = nextEffectId();\n sagaMonitor && sagaMonitor.effectTriggered({\n effectId: effectId,\n parentEffectId: parentEffectId,\n label: label,\n effect: effect\n });\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 var effectSettled = void 0;\n\n // Completion callback passed to the appropriate effect runner\n function currCb(res, isErr) {\n if (effectSettled) {\n return;\n }\n effectSettled = true;\n cb.cancel = noop; // defensive measure\n if (sagaMonitor) {\n isErr ? sagaMonitor.effectRejected(effectId, res) : sagaMonitor.effectResolved(effectId, res);\n }\n cb(res, isErr);\n }\n // tracks down the current cancel\n currCb.cancel = noop;\n\n // setup cancellation logic on the parent cb\n cb.cancel = function () {\n // prevents cancelling an already completed effect\n if (effectSettled) {\n return;\n }\n effectSettled = true;\n /**\n propagates cancel downward\n catch uncaught cancellations errors; since we can no longer call the completion\n callback, log errors raised during cancellations into the console\n **/\n try {\n currCb.cancel();\n } catch (err) {\n logError(err);\n }\n currCb.cancel = noop; // defensive measure\n\n sagaMonitor && sagaMonitor.effectCancelled(effectId);\n };\n\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 for 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 var data = void 0;\n // prettier-ignore\n return (\n // Non declarative effect\n is.promise(effect) ? resolvePromise(effect, currCb) : is.helper(effect) ? runForkEffect(wrapHelper(effect), effectId, currCb) : is.iterator(effect) ? resolveIterator(effect, effectId, name, currCb)\n\n // declarative effects\n : is.array(effect) ? runParallelEffect(effect, effectId, currCb) : (data = asEffect.take(effect)) ? runTakeEffect(data, currCb) : (data = asEffect.put(effect)) ? runPutEffect(data, currCb) : (data = asEffect.all(effect)) ? runAllEffect(data, effectId, currCb) : (data = asEffect.race(effect)) ? runRaceEffect(data, effectId, currCb) : (data = asEffect.call(effect)) ? runCallEffect(data, effectId, currCb) : (data = asEffect.cps(effect)) ? runCPSEffect(data, currCb) : (data = asEffect.fork(effect)) ? runForkEffect(data, effectId, currCb) : (data = asEffect.join(effect)) ? runJoinEffect(data, currCb) : (data = asEffect.cancel(effect)) ? runCancelEffect(data, currCb) : (data = asEffect.select(effect)) ? runSelectEffect(data, currCb) : (data = asEffect.actionChannel(effect)) ? runChannelEffect(data, currCb) : (data = asEffect.flush(effect)) ? runFlushEffect(data, currCb) : (data = asEffect.cancelled(effect)) ? runCancelledEffect(data, currCb) : (data = asEffect.getContext(effect)) ? runGetContextEffect(data, currCb) : (data = asEffect.setContext(effect)) ? runSetContextEffect(data, currCb) : /* anything else returned as is */currCb(effect)\n );\n }\n function resolvePromise(promise, cb) {\n var cancelPromise = promise[CANCEL];\n if (is.func(cancelPromise)) {\n cb.cancel = cancelPromise;\n } else if (is.func(promise.abort)) {\n cb.cancel = function () {\n return promise.abort();\n };\n // TODO: add support for the fetch API, whenever they get around to\n // adding cancel support\n }\n promise.then(cb, function (error) {\n return cb(error, true);\n });\n }\n function resolveIterator(iterator, effectId, name, cb) {\n proc(iterator, subscribe, dispatch, getState, taskContext, options, effectId, name, cb);\n }\n function runTakeEffect(_ref2, cb) {\n var channel = _ref2.channel,\n pattern = _ref2.pattern,\n maybe = _ref2.maybe;\n channel = channel || stdChannel;\n var takeCb = function takeCb(inp) {\n return inp instanceof Error ? cb(inp, true) : isEnd(inp) && !maybe ? cb(CHANNEL_END) : cb(inp);\n };\n try {\n channel.take(takeCb, matcher(pattern));\n } catch (err) {\n return cb(err, true);\n }\n cb.cancel = takeCb.cancel;\n }\n function runPutEffect(_ref3, cb) {\n var channel = _ref3.channel,\n action = _ref3.action,\n resolve = _ref3.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 = void 0;\n try {\n result = (channel ? channel.put : dispatch)(action);\n } catch (error) {\n // If we have a channel or `put.resolve` was used then bubble up the error.\n if (channel || resolve) return cb(error, true);\n logError(error);\n }\n if (resolve && is.promise(result)) {\n resolvePromise(result, cb);\n } else {\n return cb(result);\n }\n });\n // Put effects are non cancellables\n }\n function runCallEffect(_ref4, effectId, cb) {\n var context = _ref4.context,\n fn = _ref4.fn,\n args = _ref4.args;\n var result = void 0;\n // catch synchronous failures; see #152\n try {\n result = fn.apply(context, args);\n } catch (error) {\n return cb(error, true);\n }\n return is.promise(result) ? resolvePromise(result, cb) : is.iterator(result) ? resolveIterator(result, effectId, fn.name, cb) : cb(result);\n }\n function runCPSEffect(_ref5, cb) {\n var context = _ref5.context,\n fn = _ref5.fn,\n args = _ref5.args;\n\n // CPS (ie node style functions) can define their own cancellation logic\n // by setting cancel field on the cb\n\n // catch synchronous failures; see #152\n try {\n var cpsCb = function cpsCb(err, res) {\n return is.undef(err) ? cb(res) : cb(err, true);\n };\n fn.apply(context, args.concat(cpsCb));\n if (cpsCb.cancel) {\n cb.cancel = function () {\n return cpsCb.cancel();\n };\n }\n } catch (error) {\n return cb(error, true);\n }\n }\n function runForkEffect(_ref6, effectId, cb) {\n var context = _ref6.context,\n fn = _ref6.fn,\n args = _ref6.args,\n detached = _ref6.detached;\n var taskIterator = createTaskIterator({\n context: context,\n fn: fn,\n args: args\n });\n try {\n suspend();\n var _task = proc(taskIterator, subscribe, dispatch, getState, taskContext, options, effectId, fn.name, detached ? null : noop);\n if (detached) {\n cb(_task);\n } else {\n if (taskIterator._isRunning) {\n taskQueue.addTask(_task);\n cb(_task);\n } else if (taskIterator._error) {\n taskQueue.abort(taskIterator._error);\n } else {\n cb(_task);\n }\n }\n } finally {\n flush();\n }\n // Fork effects are non cancellables\n }\n function runJoinEffect(t, cb) {\n if (t.isRunning()) {\n var joiner = {\n task: task,\n cb: cb\n };\n cb.cancel = function () {\n return remove(t.joiners, joiner);\n };\n t.joiners.push(joiner);\n } else {\n t.isAborted() ? cb(t.error(), true) : cb(t.result());\n }\n }\n function runCancelEffect(taskToCancel, cb) {\n if (taskToCancel === SELF_CANCELLATION) {\n taskToCancel = task;\n }\n if (taskToCancel.isRunning()) {\n taskToCancel.cancel();\n }\n cb();\n // cancel effects are non cancellables\n }\n function runAllEffect(effects, effectId, cb) {\n var keys = Object.keys(effects);\n if (!keys.length) {\n return cb(is.array(effects) ? [] : {});\n }\n var completedCount = 0;\n var completed = void 0;\n var results = {};\n var childCbs = {};\n function checkEffectEnd() {\n if (completedCount === keys.length) {\n completed = true;\n cb(is.array(effects) ? array.from(_extends({}, results, {\n length: keys.length\n })) : results);\n }\n }\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n if (isErr || isEnd(res) || res === CHANNEL_END || res === TASK_CANCEL) {\n cb.cancel();\n cb(res, isErr);\n } else {\n results[key] = res;\n completedCount++;\n checkEffectEnd();\n }\n };\n chCbAtKey.cancel = noop;\n childCbs[key] = chCbAtKey;\n });\n cb.cancel = function () {\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCbs[key].cancel();\n });\n }\n };\n keys.forEach(function (key) {\n return runEffect(effects[key], effectId, key, childCbs[key]);\n });\n }\n function runRaceEffect(effects, effectId, cb) {\n var completed = void 0;\n var keys = Object.keys(effects);\n var childCbs = {};\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n if (isErr) {\n // Race Auto cancellation\n cb.cancel();\n cb(res, true);\n } else if (!isEnd(res) && res !== CHANNEL_END && res !== TASK_CANCEL) {\n var _response;\n cb.cancel();\n completed = true;\n var response = (_response = {}, _response[key] = res, _response);\n cb(is.array(effects) ? [].slice.call(_extends({}, response, {\n length: keys.length\n })) : response);\n }\n };\n chCbAtKey.cancel = noop;\n childCbs[key] = chCbAtKey;\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 keys.forEach(function (key) {\n if (completed) {\n return;\n }\n runEffect(effects[key], effectId, key, childCbs[key]);\n });\n }\n function runSelectEffect(_ref7, cb) {\n var selector = _ref7.selector,\n args = _ref7.args;\n try {\n var state = selector.apply(undefined, [getState()].concat(args));\n cb(state);\n } catch (error) {\n cb(error, true);\n }\n }\n function runChannelEffect(_ref8, cb) {\n var pattern = _ref8.pattern,\n buffer = _ref8.buffer;\n var match = matcher(pattern);\n match.pattern = pattern;\n cb(eventChannel(subscribe, buffer || buffers.fixed(), match));\n }\n function runCancelledEffect(data, cb) {\n cb(!!mainTask.isCancelled);\n }\n function runFlushEffect(channel, cb) {\n channel.flush(cb);\n }\n function runGetContextEffect(prop, cb) {\n cb(taskContext[prop]);\n }\n function runSetContextEffect(props, cb) {\n object.assign(taskContext, props);\n cb();\n }\n function newTask(id, name, iterator, cont) {\n var _done, _ref9, _mutatorMap;\n iterator._deferredEnd = null;\n return _ref9 = {}, _ref9[TASK] = true, _ref9.id = id, _ref9.name = name, _done = 'done', _mutatorMap = {}, _mutatorMap[_done] = _mutatorMap[_done] || {}, _mutatorMap[_done].get = function () {\n if (iterator._deferredEnd) {\n return iterator._deferredEnd.promise;\n } else {\n var def = deferred();\n iterator._deferredEnd = def;\n if (!iterator._isRunning) {\n iterator._error ? def.reject(iterator._error) : def.resolve(iterator._result);\n }\n return def.promise;\n }\n }, _ref9.cont = cont, _ref9.joiners = [], _ref9.cancel = cancel, _ref9.isRunning = function isRunning() {\n return iterator._isRunning;\n }, _ref9.isCancelled = function isCancelled() {\n return iterator._isCancelled;\n }, _ref9.isAborted = function isAborted() {\n return iterator._isAborted;\n }, _ref9.result = function result() {\n return iterator._result;\n }, _ref9.error = function error() {\n return iterator._error;\n }, _ref9.setContext = function setContext(props) {\n check(props, is.object, createSetContextWarning('task', props));\n object.assign(taskContext, props);\n }, _defineEnumerableProperties(_ref9, _mutatorMap), _ref9;\n }\n}","import { is, check, uid as nextSagaId, wrapSagaDispatch, noop, log } from './utils';\nimport proc from './proc';\nvar RUN_SAGA_SIGNATURE = 'runSaga(storeInterface, saga, ...args)';\nvar NON_GENERATOR_ERR = RUN_SAGA_SIGNATURE + ': saga argument must be a Generator function!';\nexport function runSaga(storeInterface, saga) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n var iterator = void 0;\n if (is.iterator(storeInterface)) {\n if (process.env.NODE_ENV === 'development') {\n log('warn', 'runSaga(iterator, storeInterface) has been deprecated in favor of ' + RUN_SAGA_SIGNATURE);\n }\n iterator = storeInterface;\n storeInterface = saga;\n } else {\n check(saga, is.func, NON_GENERATOR_ERR);\n iterator = saga.apply(undefined, args);\n check(iterator, is.iterator, NON_GENERATOR_ERR);\n }\n var _storeInterface = storeInterface,\n subscribe = _storeInterface.subscribe,\n dispatch = _storeInterface.dispatch,\n getState = _storeInterface.getState,\n context = _storeInterface.context,\n sagaMonitor = _storeInterface.sagaMonitor,\n logger = _storeInterface.logger,\n onError = _storeInterface.onError;\n var effectId = nextSagaId();\n if (sagaMonitor) {\n // monitors are expected to have a certain interface, let's fill-in any missing ones\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.effectTriggered({\n effectId: effectId,\n root: true,\n parentEffectId: 0,\n effect: {\n root: true,\n saga: saga,\n args: args\n }\n });\n }\n var task = proc(iterator, subscribe, wrapSagaDispatch(dispatch), getState, context, {\n sagaMonitor: sagaMonitor,\n logger: logger,\n onError: onError\n }, effectId, saga.name);\n if (sagaMonitor) {\n sagaMonitor.effectResolved(effectId, task);\n }\n return task;\n}","import middleware from './internal/middleware';\nexport default middleware;\nexport { runSaga } from './internal/runSaga';\nexport { END, eventChannel, channel } from './internal/channel';\nexport { buffers } from './internal/buffers';\nexport { takeEvery, takeLatest, throttle } from './internal/sagaHelpers';\nexport { delay, CANCEL } from './internal/utils';\nexport { detach } from './internal/io';\nimport * as effects from './effects';\nimport * as utils from './utils';\nexport { effects, utils };","function _objectWithoutProperties(obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n}\nimport { is, check, object, createSetContextWarning } from './utils';\nimport { emitter } from './channel';\nimport { ident } from './utils';\nimport { runSaga } from './runSaga';\nexport default function sagaMiddlewareFactory() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref$context = _ref.context,\n context = _ref$context === undefined ? {} : _ref$context,\n options = _objectWithoutProperties(_ref, ['context']);\n var sagaMonitor = options.sagaMonitor,\n logger = options.logger,\n onError = options.onError;\n if (is.func(options)) {\n if (process.env.NODE_ENV === 'production') {\n throw new Error('Saga middleware no longer accept Generator functions. Use sagaMiddleware.run instead');\n } else {\n throw new Error('You passed a function to the Saga middleware. You are likely trying to start a Saga by directly passing it to the middleware. This is no longer possible starting from 0.10.0. To run a Saga, you must do it dynamically AFTER mounting the middleware into the store.\\n Example:\\n import createSagaMiddleware from \\'redux-saga\\'\\n ... other imports\\n\\n const sagaMiddleware = createSagaMiddleware()\\n const store = createStore(reducer, applyMiddleware(sagaMiddleware))\\n sagaMiddleware.run(saga, ...args)\\n ');\n }\n }\n if (logger && !is.func(logger)) {\n throw new Error('`options.logger` passed to the Saga middleware is not a function!');\n }\n if (process.env.NODE_ENV === 'development' && options.onerror) {\n throw new Error('`options.onerror` was removed. Use `options.onError` instead.');\n }\n if (onError && !is.func(onError)) {\n throw new Error('`options.onError` passed to the Saga middleware is not a function!');\n }\n if (options.emitter && !is.func(options.emitter)) {\n throw new Error('`options.emitter` passed to the Saga middleware is not a function!');\n }\n function sagaMiddleware(_ref2) {\n var getState = _ref2.getState,\n dispatch = _ref2.dispatch;\n var sagaEmitter = emitter();\n sagaEmitter.emit = (options.emitter || ident)(sagaEmitter.emit);\n sagaMiddleware.run = runSaga.bind(null, {\n context: context,\n subscribe: sagaEmitter.subscribe,\n dispatch: dispatch,\n getState: getState,\n sagaMonitor: sagaMonitor,\n logger: logger,\n onError: onError\n });\n return function (next) {\n return function (action) {\n if (sagaMonitor && sagaMonitor.actionDispatched) {\n sagaMonitor.actionDispatched(action);\n }\n var result = next(action); // hit reducers\n sagaEmitter.emit(action);\n return result;\n };\n };\n }\n sagaMiddleware.run = function () {\n throw new Error('Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware');\n };\n sagaMiddleware.setContext = function (props) {\n check(props, is.object, createSetContextWarning('sagaMiddleware', props));\n object.assign(context, props);\n };\n return sagaMiddleware;\n}","import { kTrue, noop } from './utils';\nexport var 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};\nfunction ringBuffer() {\n var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n var overflowAction = arguments[1];\n var arr = new Array(limit);\n var length = 0;\n var pushIndex = 0;\n var popIndex = 0;\n var push = function push(it) {\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n length++;\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 var flush = function flush() {\n var items = [];\n while (length) {\n items.push(take());\n }\n return items;\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 = void 0;\n switch (overflowAction) {\n case ON_OVERFLOW_THROW:\n throw new Error(BUFFER_OVERFLOW);\n case ON_OVERFLOW_SLIDE:\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n popIndex = pushIndex;\n break;\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 default:\n // DROP\n }\n }\n },\n take: take,\n flush: flush\n };\n}\nexport var buffers = {\n none: function none() {\n return zeroBuffer;\n },\n fixed: function fixed(limit) {\n return ringBuffer(limit, ON_OVERFLOW_THROW);\n },\n dropping: function dropping(limit) {\n return ringBuffer(limit, ON_OVERFLOW_DROP);\n },\n sliding: function sliding(limit) {\n return ringBuffer(limit, ON_OVERFLOW_SLIDE);\n },\n expanding: function expanding(initialSize) {\n return ringBuffer(initialSize, ON_OVERFLOW_EXPAND);\n }\n};","var _extends = Object.assign || 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};\nimport { is, check, remove, MATCH, internalErr, SAGA_ACTION } from './utils';\nimport { buffers } from './buffers';\nimport { asap } from './scheduler';\nvar CHANNEL_END_TYPE = '@@redux-saga/CHANNEL_END';\nexport var END = {\n type: CHANNEL_END_TYPE\n};\nexport var isEnd = function isEnd(a) {\n return a && a.type === CHANNEL_END_TYPE;\n};\nexport function emitter() {\n var subscribers = [];\n function subscribe(sub) {\n subscribers.push(sub);\n return function () {\n return remove(subscribers, sub);\n };\n }\n function emit(item) {\n var arr = subscribers.slice();\n for (var i = 0, len = arr.length; i < len; i++) {\n arr[i](item);\n }\n }\n return {\n subscribe: subscribe,\n emit: emit\n };\n}\nexport var INVALID_BUFFER = 'invalid buffer passed to channel factory function';\nexport var UNDEFINED_INPUT_ERROR = 'Saga was provided with an undefined action';\nif (process.env.NODE_ENV !== 'production') {\n UNDEFINED_INPUT_ERROR += '\\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\\n ';\n}\nexport function channel() {\n var buffer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : buffers.fixed();\n var closed = false;\n var takers = [];\n check(buffer, is.buffer, INVALID_BUFFER);\n function checkForbiddenStates() {\n if (closed && takers.length) {\n throw internalErr('Cannot have a closed channel with pending takers');\n }\n if (takers.length && !buffer.isEmpty()) {\n throw internalErr('Cannot have pending takers with non empty buffer');\n }\n }\n function put(input) {\n checkForbiddenStates();\n check(input, is.notUndef, UNDEFINED_INPUT_ERROR);\n if (closed) {\n return;\n }\n if (!takers.length) {\n return buffer.put(input);\n }\n for (var i = 0; i < takers.length; i++) {\n var cb = takers[i];\n if (!cb[MATCH] || cb[MATCH](input)) {\n takers.splice(i, 1);\n return cb(input);\n }\n }\n }\n function take(cb) {\n checkForbiddenStates();\n check(cb, is.func, \"channel.take's callback must be a function\");\n if (closed && buffer.isEmpty()) {\n cb(END);\n } else if (!buffer.isEmpty()) {\n cb(buffer.take());\n } else {\n takers.push(cb);\n cb.cancel = function () {\n return remove(takers, cb);\n };\n }\n }\n function flush(cb) {\n checkForbiddenStates(); // TODO: check if some new state should be forbidden now\n check(cb, is.func, \"channel.flush' callback must be a function\");\n if (closed && buffer.isEmpty()) {\n cb(END);\n return;\n }\n cb(buffer.flush());\n }\n function close() {\n checkForbiddenStates();\n if (!closed) {\n closed = true;\n if (takers.length) {\n var arr = takers;\n takers = [];\n for (var i = 0, len = arr.length; i < len; i++) {\n arr[i](END);\n }\n }\n }\n }\n return {\n take: take,\n put: put,\n flush: flush,\n close: close,\n get __takers__() {\n return takers;\n },\n get __closed__() {\n return closed;\n }\n };\n}\nexport function eventChannel(subscribe) {\n var buffer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : buffers.none();\n var matcher = arguments[2];\n\n /**\n should be if(typeof matcher !== undefined) instead?\n see PR #273 for a background discussion\n **/\n if (arguments.length > 2) {\n check(matcher, is.func, 'Invalid match function passed to eventChannel');\n }\n var chan = channel(buffer);\n var close = function close() {\n if (!chan.__closed__) {\n if (unsubscribe) {\n unsubscribe();\n }\n chan.close();\n }\n };\n var unsubscribe = subscribe(function (input) {\n if (isEnd(input)) {\n close();\n return;\n }\n if (matcher && !matcher(input)) {\n return;\n }\n chan.put(input);\n });\n if (chan.__closed__) {\n unsubscribe();\n }\n if (!is.func(unsubscribe)) {\n throw new Error('in eventChannel: subscribe should return a function to unsubscribe');\n }\n return {\n take: chan.take,\n flush: chan.flush,\n close: close\n };\n}\nexport function stdChannel(subscribe) {\n var chan = eventChannel(function (cb) {\n return subscribe(function (input) {\n if (input[SAGA_ACTION]) {\n cb(input);\n return;\n }\n asap(function () {\n return cb(input);\n });\n });\n });\n return _extends({}, chan, {\n take: function take(cb, matcher) {\n if (arguments.length > 1) {\n check(matcher, is.func, \"channel.take's matcher argument must be a function\");\n cb[MATCH] = matcher;\n }\n chan.take(cb);\n }\n });\n}","import { sym, is, ident, check, deprecate, updateIncentive, createSetContextWarning, SELF_CANCELLATION } from './utils';\nvar IO = /*#__PURE__*/sym('IO');\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';\nvar TEST_HINT = '\\n(HINT: if you are getting this errors in tests, consider using createMockTask from redux-saga/utils)';\nvar effect = function effect(type, payload) {\n var _ref;\n return _ref = {}, _ref[IO] = true, _ref[type] = payload, _ref;\n};\nexport var detach = function detach(eff) {\n check(asEffect.fork(eff), is.object, 'detach(eff): argument must be a fork effect');\n eff[FORK].detached = true;\n return eff;\n};\nexport function take() {\n var patternOrChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '*';\n if (arguments.length) {\n check(arguments[0], is.notUndef, 'take(patternOrChannel): patternOrChannel is undefined');\n }\n if (is.pattern(patternOrChannel)) {\n return effect(TAKE, {\n pattern: patternOrChannel\n });\n }\n if (is.channel(patternOrChannel)) {\n return effect(TAKE, {\n channel: patternOrChannel\n });\n }\n throw new Error('take(patternOrChannel): argument ' + String(patternOrChannel) + ' is not valid channel or a valid pattern');\n}\ntake.maybe = function () {\n var eff = take.apply(undefined, arguments);\n eff[TAKE].maybe = true;\n return eff;\n};\nexport var takem = /*#__PURE__*/deprecate(take.maybe, /*#__PURE__*/updateIncentive('takem', 'take.maybe'));\nexport function put(channel, action) {\n if (arguments.length > 1) {\n check(channel, is.notUndef, 'put(channel, action): argument channel is undefined');\n check(channel, is.channel, 'put(channel, action): argument ' + channel + ' is not a valid channel');\n check(action, is.notUndef, 'put(channel, action): argument action is undefined');\n } else {\n check(channel, is.notUndef, 'put(action): argument action is undefined');\n action = channel;\n channel = null;\n }\n return effect(PUT, {\n channel: channel,\n action: action\n });\n}\nput.resolve = function () {\n var eff = put.apply(undefined, arguments);\n eff[PUT].resolve = true;\n return eff;\n};\nput.sync = /*#__PURE__*/deprecate(put.resolve, /*#__PURE__*/updateIncentive('put.sync', 'put.resolve'));\nexport function all(effects) {\n return effect(ALL, effects);\n}\nexport function race(effects) {\n return effect(RACE, effects);\n}\nfunction getFnCallDesc(meth, fn, args) {\n check(fn, is.notUndef, meth + ': argument fn is undefined');\n var context = null;\n if (is.array(fn)) {\n var _fn = fn;\n context = _fn[0];\n fn = _fn[1];\n } else if (fn.fn) {\n var _fn2 = fn;\n context = _fn2.context;\n fn = _fn2.fn;\n }\n if (context && is.string(fn) && is.func(context[fn])) {\n fn = context[fn];\n }\n check(fn, is.func, meth + ': argument ' + fn + ' is not a function');\n return {\n context: context,\n fn: fn,\n args: args\n };\n}\nexport function call(fn) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return effect(CALL, getFnCallDesc('call', fn, args));\n}\nexport function apply(context, fn) {\n var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return effect(CALL, getFnCallDesc('apply', {\n context: context,\n fn: fn\n }, args));\n}\nexport function cps(fn) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return effect(CPS, getFnCallDesc('cps', fn, args));\n}\nexport function fork(fn) {\n for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return effect(FORK, getFnCallDesc('fork', fn, args));\n}\nexport function spawn(fn) {\n for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n return detach(fork.apply(undefined, [fn].concat(args)));\n}\nexport function join() {\n for (var _len5 = arguments.length, tasks = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n tasks[_key5] = arguments[_key5];\n }\n if (tasks.length > 1) {\n return all(tasks.map(function (t) {\n return join(t);\n }));\n }\n var task = tasks[0];\n check(task, is.notUndef, 'join(task): argument task is undefined');\n check(task, is.task, 'join(task): argument ' + task + ' is not a valid Task object ' + TEST_HINT);\n return effect(JOIN, task);\n}\nexport function cancel() {\n for (var _len6 = arguments.length, tasks = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n tasks[_key6] = arguments[_key6];\n }\n if (tasks.length > 1) {\n return all(tasks.map(function (t) {\n return cancel(t);\n }));\n }\n var task = tasks[0];\n if (tasks.length === 1) {\n check(task, is.notUndef, 'cancel(task): argument task is undefined');\n check(task, is.task, 'cancel(task): argument ' + task + ' is not a valid Task object ' + TEST_HINT);\n }\n return effect(CANCEL, task || SELF_CANCELLATION);\n}\nexport function select(selector) {\n for (var _len7 = arguments.length, args = Array(_len7 > 1 ? _len7 - 1 : 0), _key7 = 1; _key7 < _len7; _key7++) {\n args[_key7 - 1] = arguments[_key7];\n }\n if (arguments.length === 0) {\n selector = ident;\n } else {\n check(selector, is.notUndef, 'select(selector,[...]): argument selector is undefined');\n check(selector, is.func, 'select(selector,[...]): argument ' + selector + ' is not a function');\n }\n return effect(SELECT, {\n selector: selector,\n args: args\n });\n}\n\n/**\n channel(pattern, [buffer]) => creates an event channel for store actions\n**/\nexport function actionChannel(pattern, buffer) {\n check(pattern, is.notUndef, 'actionChannel(pattern,...): argument pattern is undefined');\n if (arguments.length > 1) {\n check(buffer, is.notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined');\n check(buffer, is.buffer, 'actionChannel(pattern, buffer): argument ' + buffer + ' is not a valid buffer');\n }\n return effect(ACTION_CHANNEL, {\n pattern: pattern,\n buffer: buffer\n });\n}\nexport function cancelled() {\n return effect(CANCELLED, {});\n}\nexport function flush(channel) {\n check(channel, is.channel, 'flush(channel): argument ' + channel + ' is not valid channel');\n return effect(FLUSH, channel);\n}\nexport function getContext(prop) {\n check(prop, is.string, 'getContext(prop): argument ' + prop + ' is not a string');\n return effect(GET_CONTEXT, prop);\n}\nexport function setContext(props) {\n check(props, is.object, createSetContextWarning(null, props));\n return effect(SET_CONTEXT, props);\n}\nvar createAsEffectType = function createAsEffectType(type) {\n return function (effect) {\n return effect && effect[IO] && effect[type];\n };\n};\nexport var asEffect = {\n take: /*#__PURE__*/createAsEffectType(TAKE),\n put: /*#__PURE__*/createAsEffectType(PUT),\n all: /*#__PURE__*/createAsEffectType(ALL),\n race: /*#__PURE__*/createAsEffectType(RACE),\n call: /*#__PURE__*/createAsEffectType(CALL),\n cps: /*#__PURE__*/createAsEffectType(CPS),\n fork: /*#__PURE__*/createAsEffectType(FORK),\n join: /*#__PURE__*/createAsEffectType(JOIN),\n cancel: /*#__PURE__*/createAsEffectType(CANCEL),\n select: /*#__PURE__*/createAsEffectType(SELECT),\n actionChannel: /*#__PURE__*/createAsEffectType(ACTION_CHANNEL),\n cancelled: /*#__PURE__*/createAsEffectType(CANCELLED),\n flush: /*#__PURE__*/createAsEffectType(FLUSH),\n getContext: /*#__PURE__*/createAsEffectType(GET_CONTEXT),\n setContext: /*#__PURE__*/createAsEffectType(SET_CONTEXT)\n};","import { is, makeIterator } from '../utils';\nvar done = {\n done: true,\n value: undefined\n};\nexport var qEnd = {};\nexport function safeName(patternOrChannel) {\n if (is.channel(patternOrChannel)) {\n return 'channel';\n } else if (Array.isArray(patternOrChannel)) {\n return String(patternOrChannel.map(function (entry) {\n return String(entry);\n }));\n } else {\n return String(patternOrChannel);\n }\n}\nexport default function fsmIterator(fsm, q0) {\n var name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'iterator';\n var updateState = void 0,\n qNext = q0;\n function next(arg, error) {\n if (qNext === qEnd) {\n return done;\n }\n if (error) {\n qNext = qEnd;\n throw error;\n } else {\n updateState && updateState(arg);\n var _fsm$qNext = fsm[qNext](),\n q = _fsm$qNext[0],\n output = _fsm$qNext[1],\n _updateState = _fsm$qNext[2];\n qNext = q;\n updateState = _updateState;\n return qNext === qEnd ? done : output;\n }\n }\n return makeIterator(next, function (error) {\n return next(null, error);\n }, name, true);\n}","import fsmIterator, { qEnd, safeName } from './fsmIterator';\nimport { take, fork } from '../io';\nimport { END } from '../channel';\nexport default function takeEvery(patternOrChannel, worker) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(undefined, [worker].concat(args, [ac]))\n };\n };\n var action = void 0,\n setAction = function setAction(ac) {\n return action = ac;\n };\n return fsmIterator({\n q1: function q1() {\n return ['q2', yTake, setAction];\n },\n q2: function q2() {\n return action === END ? [qEnd] : ['q1', yFork(action)];\n }\n }, 'q1', 'takeEvery(' + safeName(patternOrChannel) + ', ' + worker.name + ')');\n}","import fsmIterator, { qEnd, safeName } from './fsmIterator';\nimport { cancel, take, fork } from '../io';\nimport { END } from '../channel';\nexport default function takeLatest(patternOrChannel, worker) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n var yTake = {\n done: false,\n value: take(patternOrChannel)\n };\n var yFork = function yFork(ac) {\n return {\n done: false,\n value: fork.apply(undefined, [worker].concat(args, [ac]))\n };\n };\n var yCancel = function yCancel(task) {\n return {\n done: false,\n value: cancel(task)\n };\n };\n var task = void 0,\n action = void 0;\n var setTask = function setTask(t) {\n return task = t;\n };\n var setAction = function setAction(ac) {\n return action = ac;\n };\n return fsmIterator({\n q1: function q1() {\n return ['q2', yTake, setAction];\n },\n q2: function q2() {\n return action === END ? [qEnd] : task ? ['q3', yCancel(task)] : ['q1', yFork(action), setTask];\n },\n q3: function q3() {\n return ['q1', yFork(action), setTask];\n }\n }, 'q1', 'takeLatest(' + safeName(patternOrChannel) + ', ' + worker.name + ')');\n}","var 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**/\nvar semaphore = 0;\n\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**/\nfunction exec(task) {\n try {\n suspend();\n task();\n } finally {\n release();\n }\n}\n\n/**\n Executes or queues a task depending on the state of the scheduler (`suspended` or `released`)\n**/\nexport function asap(task) {\n queue.push(task);\n if (!semaphore) {\n suspend();\n flush();\n }\n}\n\n/**\n Puts the scheduler in a `suspended` state. Scheduled tasks will be queued until the\n scheduler is released.\n**/\nexport function suspend() {\n semaphore++;\n}\n\n/**\n Puts the scheduler in a `released` state.\n**/\nfunction release() {\n semaphore--;\n}\n\n/**\n Releases the current lock. Executes all queued tasks if the scheduler is in the released state.\n**/\nexport function flush() {\n release();\n var task = void 0;\n while (!semaphore && (task = queue.shift()) !== undefined) {\n exec(task);\n }\n}","var _extends = Object.assign || 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};\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\nexport var sym = function sym(id) {\n return '@@redux-saga/' + id;\n};\nexport var TASK = /*#__PURE__*/sym('TASK');\nexport var HELPER = /*#__PURE__*/sym('HELPER');\nexport var MATCH = /*#__PURE__*/sym('MATCH');\nexport var CANCEL = /*#__PURE__*/sym('CANCEL_PROMISE');\nexport var SAGA_ACTION = /*#__PURE__*/sym('SAGA_ACTION');\nexport var SELF_CANCELLATION = /*#__PURE__*/sym('SELF_CANCELLATION');\nexport var konst = function konst(v) {\n return function () {\n return v;\n };\n};\nexport var kTrue = /*#__PURE__*/konst(true);\nexport var kFalse = /*#__PURE__*/konst(false);\nexport var noop = function noop() {};\nexport var ident = function ident(v) {\n return v;\n};\nexport function check(value, predicate, error) {\n if (!predicate(value)) {\n log('error', 'uncaught at check', error);\n throw new Error(error);\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwn(object, property) {\n return is.notUndef(object) && hasOwnProperty.call(object, property);\n}\nexport var is = {\n undef: function undef(v) {\n return v === null || v === undefined;\n },\n notUndef: function notUndef(v) {\n return v !== null && v !== undefined;\n },\n func: function func(f) {\n return typeof f === 'function';\n },\n number: function number(n) {\n return typeof n === 'number';\n },\n string: function string(s) {\n return typeof s === 'string';\n },\n array: Array.isArray,\n object: function object(obj) {\n return obj && !is.array(obj) && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n },\n promise: function promise(p) {\n return p && is.func(p.then);\n },\n iterator: function iterator(it) {\n return it && is.func(it.next) && is.func(it.throw);\n },\n iterable: function iterable(it) {\n return it && is.func(Symbol) ? is.func(it[Symbol.iterator]) : is.array(it);\n },\n task: function task(t) {\n return t && t[TASK];\n },\n observable: function observable(ob) {\n return ob && is.func(ob.subscribe);\n },\n buffer: function buffer(buf) {\n return buf && is.func(buf.isEmpty) && is.func(buf.take) && is.func(buf.put);\n },\n pattern: function pattern(pat) {\n return pat && (is.string(pat) || (typeof pat === 'undefined' ? 'undefined' : _typeof(pat)) === 'symbol' || is.func(pat) || is.array(pat));\n },\n channel: function channel(ch) {\n return ch && is.func(ch.take) && is.func(ch.close);\n },\n helper: function helper(it) {\n return it && it[HELPER];\n },\n stringableFunc: function stringableFunc(f) {\n return is.func(f) && hasOwn(f, 'toString');\n }\n};\nexport var object = {\n assign: function assign(target, source) {\n for (var i in source) {\n if (hasOwn(source, i)) {\n target[i] = source[i];\n }\n }\n }\n};\nexport function remove(array, item) {\n var index = array.indexOf(item);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\nexport var array = {\n from: function from(obj) {\n var arr = Array(obj.length);\n for (var i in obj) {\n if (hasOwn(obj, i)) {\n arr[i] = obj[i];\n }\n }\n return arr;\n }\n};\nexport function deferred() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var def = _extends({}, props);\n var promise = new Promise(function (resolve, reject) {\n def.resolve = resolve;\n def.reject = reject;\n });\n def.promise = promise;\n return def;\n}\nexport function arrayOfDeffered(length) {\n var arr = [];\n for (var i = 0; i < length; i++) {\n arr.push(deferred());\n }\n return arr;\n}\nexport function delay(ms) {\n var val = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var timeoutId = void 0;\n var promise = new Promise(function (resolve) {\n timeoutId = setTimeout(function () {\n return resolve(val);\n }, ms);\n });\n promise[CANCEL] = function () {\n return clearTimeout(timeoutId);\n };\n return promise;\n}\nexport function createMockTask() {\n var _ref;\n var running = true;\n var _result = void 0,\n _error = void 0;\n return _ref = {}, _ref[TASK] = true, _ref.isRunning = function isRunning() {\n return running;\n }, _ref.result = function result() {\n return _result;\n }, _ref.error = function error() {\n return _error;\n }, _ref.setRunning = function setRunning(b) {\n return running = b;\n }, _ref.setResult = function setResult(r) {\n return _result = r;\n }, _ref.setError = function setError(e) {\n return _error = e;\n }, _ref;\n}\nexport function autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n return function () {\n return ++seed;\n };\n}\nexport var uid = /*#__PURE__*/autoInc();\nvar kThrow = function kThrow(err) {\n throw err;\n};\nvar kReturn = function kReturn(value) {\n return {\n value: value,\n done: true\n };\n};\nexport function makeIterator(next) {\n var thro = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : kThrow;\n var name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var isHelper = arguments[3];\n var iterator = {\n name: name,\n next: next,\n throw: thro,\n return: kReturn\n };\n if (isHelper) {\n iterator[HELPER] = true;\n }\n if (typeof Symbol !== 'undefined') {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n return iterator;\n}\n\n/**\n Print error in a useful way whether in a browser environment\n (with expandable error stack traces), or in a node.js environment\n (text-only log output)\n **/\nexport function log(level, message) {\n var error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n /*eslint-disable no-console*/\n if (typeof window === 'undefined') {\n console.log('redux-saga ' + level + ': ' + message + '\\n' + (error && error.stack || error));\n } else {\n console[level](message, error);\n }\n}\nexport function deprecate(fn, deprecationWarning) {\n return function () {\n if (process.env.NODE_ENV === 'development') log('warn', deprecationWarning);\n return fn.apply(undefined, arguments);\n };\n}\nexport var updateIncentive = function updateIncentive(deprecated, preferred) {\n return deprecated + ' has been deprecated in favor of ' + preferred + ', please update your code';\n};\nexport var 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};\nexport var createSetContextWarning = function createSetContextWarning(ctx, props) {\n return (ctx ? ctx + '.' : '') + 'setContext(props): argument ' + props + ' is not a plain object';\n};\nexport var wrapSagaDispatch = function wrapSagaDispatch(dispatch) {\n return function (action) {\n return dispatch(Object.defineProperty(action, SAGA_ACTION, {\n value: true\n }));\n };\n};\nexport var cloneableGenerator = function cloneableGenerator(generatorFunc) {\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var history = [];\n var gen = generatorFunc.apply(undefined, args);\n return {\n next: function next(arg) {\n history.push(arg);\n return gen.next(arg);\n },\n clone: function clone() {\n var clonedGen = cloneableGenerator(generatorFunc).apply(undefined, args);\n history.forEach(function (arg) {\n return clonedGen.next(arg);\n });\n return clonedGen;\n },\n return: function _return(value) {\n return gen.return(value);\n },\n throw: function _throw(exception) {\n return gen.throw(exception);\n }\n };\n };\n};","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() : typeof define === 'function' && define.amd ? define(factory) : factory();\n})(this, function () {\n 'use strict';\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 return obj;\n }\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n }\n var identity = function identity(x) {\n return x;\n };\n var getUndefined = function getUndefined() {};\n var filter = function filter() {\n return true;\n };\n var getType = function getType(action) {\n return action.type;\n };\n var createSentryMiddleware = function createSentryMiddleware(Sentry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$breadcrumbDa = options.breadcrumbDataFromAction,\n breadcrumbDataFromAction = _options$breadcrumbDa === void 0 ? getUndefined : _options$breadcrumbDa,\n _options$breadcrumbMe = options.breadcrumbMessageFromAction,\n breadcrumbMessageFromAction = _options$breadcrumbMe === void 0 ? getType : _options$breadcrumbMe,\n _options$actionTransf = options.actionTransformer,\n actionTransformer = _options$actionTransf === void 0 ? identity : _options$actionTransf,\n _options$stateTransfo = options.stateTransformer,\n stateTransformer = _options$stateTransfo === void 0 ? identity : _options$stateTransfo,\n _options$breadcrumbCa = options.breadcrumbCategory,\n breadcrumbCategory = _options$breadcrumbCa === void 0 ? \"redux-action\" : _options$breadcrumbCa,\n _options$filterBreadc = options.filterBreadcrumbActions,\n filterBreadcrumbActions = _options$filterBreadc === void 0 ? filter : _options$filterBreadc,\n getUserContext = options.getUserContext,\n getTags = options.getTags;\n return function (store) {\n var lastAction = null; // assigning null is a workaround since sentry api normalizes the store data and converts undefined to '[undefined]'\n\n Sentry.configureScope(function (scope) {\n scope.addEventProcessor(function (event, hint) {\n var state = store.getState();\n event.extra = _objectSpread2(_objectSpread2({}, event.extra), {}, {\n lastAction: actionTransformer(lastAction),\n state: stateTransformer(state)\n });\n if (getUserContext) {\n event.user = _objectSpread2(_objectSpread2({}, event.user), getUserContext(state));\n }\n if (getTags) {\n var tags = getTags(state);\n Object.keys(tags).forEach(function (key) {\n event.tags = _objectSpread2(_objectSpread2({}, event.tags), {}, _defineProperty({}, key, tags[key]));\n });\n }\n return event;\n });\n });\n return function (next) {\n return function (action) {\n if (filterBreadcrumbActions(action)) {\n Sentry.addBreadcrumb({\n category: breadcrumbCategory,\n message: breadcrumbMessageFromAction(action),\n level: \"info\",\n data: breadcrumbDataFromAction(action)\n });\n }\n lastAction = action;\n return next(action);\n };\n };\n };\n };\n module.exports = createSentryMiddleware;\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};\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 while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\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 switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\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 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 return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\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}\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\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 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 if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\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 return enhancer(createStore)(reducer, preloadedState);\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 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 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 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 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 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 var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\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 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 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 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 if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\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 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 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 function observable() {\n var _ref;\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 function observeState() {\n if (observer.next) {\n observer.next(getState());\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 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 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}\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 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 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 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 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}\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 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 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\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\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 if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n var shapeAssertionError;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n var hasChanged = false;\n var nextState = {};\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 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 nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\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\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\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 var boundActionCreators = {};\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\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 if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n if (funcs.length === 1) {\n return funcs[0];\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 return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\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 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}\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };","import { combineReducers } from 'redux';\nfunction _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 return obj;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n return arr2;\n }\n}\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\nfunction combineTrackReducers(reducers) {\n var combinedReducer = combineReducers(reducers);\n combinedReducer.__RETRACK_GET_PATH_ARRAY__ = function () {\n return [];\n };\n Object.keys(reducers).forEach(function (reducerKey) {\n reducers[reducerKey].__RETRACK_GET_PATH_ARRAY__ = function () {\n return [].concat(_toConsumableArray(combinedReducer.__RETRACK_GET_PATH_ARRAY__()), [reducerKey]);\n };\n });\n return combinedReducer;\n}\nfunction getSelector(reducer) {\n return function (state) {\n if (typeof reducer.__RETRACK_GET_PATH_ARRAY__ === 'function') {\n var pathArray = reducer.__RETRACK_GET_PATH_ARRAY__();\n return pathArray.reduce(function (acc, val) {\n return acc[val];\n }, state);\n } else {\n throw new Error('a reducer that you intended to use its selector is not being tracked by `retrack`. ensure all of your reducers are being combined using `combineTrackReducers`');\n }\n };\n}\nvar namespacingFunction = function namespacingFunction(strArr) {\n return strArr.join('/');\n};\nfunction setNamespacingFunction(customFunction) {\n namespacingFunction = customFunction;\n}\nfunction namespaceReducerActions(reducer, actionTypes) {\n var actionTypesClone = _objectSpread({}, actionTypes);\n Object.keys(actionTypesClone).forEach(function (actionType) {\n Object.defineProperty(actionTypes, actionType, {\n get: function get() {\n if (typeof reducer.__RETRACK_GET_PATH_ARRAY__ === 'function') {\n return namespacingFunction([].concat(_toConsumableArray(reducer.__RETRACK_GET_PATH_ARRAY__()), [actionTypesClone[actionType]]));\n } // before any combineTrackReducer is called on the reducer\n\n return {\n toString: function toString() {\n if (typeof reducer.__RETRACK_GET_PATH_ARRAY__ === 'function') {\n return namespacingFunction([].concat(_toConsumableArray(reducer.__RETRACK_GET_PATH_ARRAY__()), [actionTypesClone[actionType]]));\n }\n return actionTypesClone[actionType];\n }\n };\n },\n set: function set() {\n throw new Error('`retrack`: you are not supposed to change action types after passing to `namespaceReducerActions`.');\n }\n });\n });\n}\nexport { combineTrackReducers, getSelector, namespaceReducerActions, setNamespacingFunction };","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n if (typeof fn !== 'function') {\n throw new $TypeError('`fn` is not a function');\n }\n if (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n throw new $TypeError('`length` must be a positive 32-bit integer');\n }\n var loose = arguments.length > 2 && !!arguments[2];\n var functionLengthIsConfigurable = true;\n var functionLengthIsWritable = true;\n if ('length' in fn && gOPD) {\n var desc = gOPD(fn, 'length');\n if (desc && !desc.configurable) {\n functionLengthIsConfigurable = false;\n }\n if (desc && !desc.writable) {\n functionLengthIsWritable = false;\n }\n }\n if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n if (hasDescriptors) {\n define( /** @type {Parameters[0]} */fn, 'length', length, true, true);\n } else {\n define( /** @type {Parameters[0]} */fn, 'length', length);\n }\n }\n return fn;\n};","/**\n * @license React\n * use-sync-external-store-shim.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';\n\nvar e = require(\"react\");\nfunction h(a, b) {\n return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;\n}\nvar k = \"function\" === typeof Object.is ? Object.is : h,\n l = e.useState,\n m = e.useEffect,\n n = e.useLayoutEffect,\n p = e.useDebugValue;\nfunction q(a, b) {\n var d = b(),\n f = l({\n inst: {\n value: d,\n getSnapshot: b\n }\n }),\n c = f[0].inst,\n g = f[1];\n n(function () {\n c.value = d;\n c.getSnapshot = b;\n r(c) && g({\n inst: c\n });\n }, [a, d, b]);\n m(function () {\n r(c) && g({\n inst: c\n });\n return a(function () {\n r(c) && g({\n inst: c\n });\n });\n }, [a]);\n p(d);\n return d;\n}\nfunction r(a) {\n var b = a.getSnapshot;\n a = a.value;\n try {\n var d = b();\n return !k(a, d);\n } catch (f) {\n return !0;\n }\n}\nfunction t(a, b) {\n return b();\n}\nvar u = \"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement ? t : q;\nexports.useSyncExternalStore = void 0 !== e.useSyncExternalStore ? e.useSyncExternalStore : u;","/**\n * @license React\n * use-sync-external-store-shim/with-selector.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';\n\nvar h = require(\"react\"),\n n = require(\"use-sync-external-store/shim\");\nfunction p(a, b) {\n return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;\n}\nvar q = \"function\" === typeof Object.is ? Object.is : p,\n r = n.useSyncExternalStore,\n t = h.useRef,\n u = h.useEffect,\n v = h.useMemo,\n w = h.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (a, b, e, l, g) {\n var c = t(null);\n if (null === c.current) {\n var f = {\n hasValue: !1,\n value: null\n };\n c.current = f;\n } else f = c.current;\n c = v(function () {\n function a(a) {\n if (!c) {\n c = !0;\n d = a;\n a = l(a);\n if (void 0 !== g && f.hasValue) {\n var b = f.value;\n if (g(b, a)) return k = b;\n }\n return k = a;\n }\n b = k;\n if (q(d, a)) return b;\n var e = l(a);\n if (void 0 !== g && g(b, e)) return b;\n d = a;\n return k = e;\n }\n var c = !1,\n d,\n k,\n m = void 0 === e ? null : e;\n return [function () {\n return a(b());\n }, null === m ? void 0 : function () {\n return a(m());\n }];\n }, [b, e, l, g]);\n var d = r(a, c[0], c[1]);\n u(function () {\n f.hasValue = !0;\n f.value = d;\n }, [d]);\n w(d);\n return d;\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n};","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\nvar ObjectToString = uncurryThis(Object.prototype.toString);\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch (e) {\n return false;\n }\n}\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n return typeof Promise !== 'undefined' && input instanceof Promise || input !== null && typeof input === 'object' && typeof input.then === 'function' && typeof input.catch === 'function';\n}\nexports.isPromise = isPromise;\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n return isTypedArray(value) || isDataView(value);\n}\nexports.isArrayBufferView = isArrayBufferView;\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = typeof Map !== 'undefined' && isMapToString(new Map());\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n return isMapToString.working ? isMapToString(value) : value instanceof Map;\n}\nexports.isMap = isMap;\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = typeof Set !== 'undefined' && isSetToString(new Set());\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n return isSetToString.working ? isSetToString(value) : value instanceof Set;\n}\nexports.isSet = isSet;\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = typeof WeakMap !== 'undefined' && isWeakMapToString(new WeakMap());\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n return isWeakMapToString.working ? isWeakMapToString(value) : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = typeof WeakSet !== 'undefined' && isWeakSetToString(new WeakSet());\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = typeof ArrayBuffer !== 'undefined' && isArrayBufferToString(new ArrayBuffer());\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n return isArrayBufferToString.working ? isArrayBufferToString(value) : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined' && isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1));\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n return isDataViewToString.working ? isDataViewToString(value) : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n return isSharedArrayBufferToString.working ? isSharedArrayBufferToString(value) : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\nfunction isBoxedPrimitive(value) {\n return isNumberObject(value) || isStringObject(value) || isBooleanObject(value) || isBigIntObject(value) || isSymbolObject(value);\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (isArrayBuffer(value) || isSharedArrayBuffer(value));\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function (method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function () {\n throw new Error(method + ' is not supported in userland');\n }\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\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n};\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function (f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function (fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function () {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n};\nvar debugs = {};\nvar debugEnvRegex = /^$/;\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&').replace(/\\*/g, '.*').replace(/,/g, '$|^').toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function (set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function () {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function () {};\n }\n }\n return debugs[set];\n};\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str + '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\nfunction arrayToHash(array) {\n var hash = {};\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n return hash;\n}\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n var base = '',\n array = false,\n braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n ctx.seen.push(value);\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n ctx.seen.pop();\n return reduceToSingleString(output, base, braces);\n}\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value)) return ctx.stylize('null', 'null');\n}\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || {\n value: value[key]\n };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n return name + ': ' + str;\n}\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n if (length > 60) {\n return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n }\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' ||\n // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\nexports.isBuffer = require('./support/isBuffer');\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function () {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\nexports._extend = function (origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function') throw new TypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: false,\n writable: false,\n configurable: true\n });\n return fn;\n }\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: false,\n writable: false,\n configurable: true\n });\n return Object.defineProperties(fn, getOwnPropertyDescriptors(original));\n};\nexports.promisify.custom = kCustomPromisifiedSymbol;\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function () {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args).then(function (ret) {\n process.nextTick(cb.bind(null, null, ret));\n }, function (rej) {\n process.nextTick(callbackifyOnRejected.bind(null, rej, cb));\n });\n }\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified, getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;","var v1 = require('./v1');\nvar v4 = require('./v4');\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\nmodule.exports = uuid;","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\nmodule.exports = bytesToUuid;","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n return rnds;\n };\n}","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/broofa/node-uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n return buf ? buf : bytesToUuid(b);\n}\nmodule.exports = v1;","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n if (typeof options == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n return buf || bytesToUuid(rnds);\n}\nmodule.exports = v4;","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\n/** @type {(O: object) => string} */\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\nvar $slice = callBound('String.prototype.slice');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\n\n/** @type {(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n for (var i = 0; i < array.length; i += 1) {\n if (array[i] === value) {\n return i;\n }\n }\n return -1;\n};\n\n/** @typedef {(receiver: import('.').TypedArray) => string | typeof Uint8Array.prototype.slice.call | typeof Uint8Array.prototype.set.call} Getter */\n/** @type {{ [k in `\\$${import('.').TypedArrayName}`]?: Getter } & { __proto__: null }} */\nvar cache = {\n __proto__: null\n};\nif (hasToStringTag && gOPD && getPrototypeOf) {\n forEach(typedArrays, function (typedArray) {\n var arr = new g[typedArray]();\n if (Symbol.toStringTag in arr) {\n var proto = getPrototypeOf(arr);\n // @ts-expect-error TS won't narrow inside a closure\n var descriptor = gOPD(proto, Symbol.toStringTag);\n if (!descriptor) {\n var superProto = getPrototypeOf(proto);\n // @ts-expect-error TS won't narrow inside a closure\n descriptor = gOPD(superProto, Symbol.toStringTag);\n }\n // @ts-expect-error TODO: fix\n cache['$' + typedArray] = callBind(descriptor.get);\n }\n });\n} else {\n forEach(typedArrays, function (typedArray) {\n var arr = new g[typedArray]();\n var fn = arr.slice || arr.set;\n if (fn) {\n // @ts-expect-error TODO: fix\n cache['$' + typedArray] = callBind(fn);\n }\n });\n}\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n /** @type {ReturnType} */var found = false;\n forEach(\n // eslint-disable-next-line no-extra-parens\n /** @type {Record<`\\$${TypedArrayName}`, Getter>} */ /** @type {any} */\n cache, /** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n function (getter, typedArray) {\n if (!found) {\n try {\n // @ts-expect-error TODO: fix\n if ('$' + getter(value) === typedArray) {\n found = $slice(typedArray, 1);\n }\n } catch (e) {/**/}\n }\n });\n return found;\n};\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar trySlices = function tryAllSlices(value) {\n /** @type {ReturnType} */var found = false;\n forEach(\n // eslint-disable-next-line no-extra-parens\n /** @type {Record<`\\$${TypedArrayName}`, Getter>} */ /** @type {any} */\n cache, /** @type {(getter: typeof cache, name: `\\$${import('.').TypedArrayName}`) => void} */function (getter, name) {\n if (!found) {\n try {\n // @ts-expect-error TODO: fix\n getter(value);\n found = $slice(name, 1);\n } catch (e) {/**/}\n }\n });\n return found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n if (!value || typeof value !== 'object') {\n return false;\n }\n if (!hasToStringTag) {\n /** @type {string} */\n var tag = $slice($toString(value), 8, -1);\n if ($indexOf(typedArrays, tag) > -1) {\n return tag;\n }\n if (tag !== 'Object') {\n return false;\n }\n // node < 0.6 hits here on real Typed Arrays\n return trySlices(value);\n }\n if (!gOPD) {\n return null;\n } // unknown engine\n return tryTypedArrays(value);\n};","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n})(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function () {};\n var undefinedType = \"undefined\";\n var isIE = typeof window !== undefinedType && typeof window.navigator !== undefinedType && /Trident\\/|MSIE /.test(window.navigator.userAgent);\n var logMethods = [\"trace\", \"debug\", \"info\", \"warn\", \"error\"];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function () {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = i < level ? noop : this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) || enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie = encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n function getPersistedLevel() {\n var storedLevel;\n if (typeof window === undefinedType || !storageKey) return;\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n self.levels = {\n \"TRACE\": 0,\n \"DEBUG\": 1,\n \"INFO\": 2,\n \"WARN\": 3,\n \"ERROR\": 4,\n \"SILENT\": 5\n };\n self.methodFactory = factory || defaultMethodFactory;\n self.getLevel = function () {\n return currentLevel;\n };\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) {\n // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n self.enableAll = function (persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n self.disableAll = function (persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if (typeof name !== \"symbol\" && typeof name !== \"string\" || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = typeof window !== undefinedType ? window.log : undefined;\n defaultLogger.noConflict = function () {\n if (typeof window !== undefinedType && window.log === defaultLogger) {\n window.log = _log;\n }\n return defaultLogger;\n };\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n return defaultLogger;\n});","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n"],"sourceRoot":""}